broot
A new way to see and navigate directory trees — fast, fuzzy, and interactive.
broot is an interactive terminal tool for exploring directory trees. Unlike
tree, which dumps an overwhelming flat list, broot lets you navigate, search,
and act on files in real time — all without losing sight of the overall
structure.
Features
- Fuzzy search — type part of a filename anywhere in the tree and broot instantly filters down to matches
- Never lost — the tree always stays visible, giving context even when deep in a search
- Git integration — shows git status indicators next to each file
- File preview — preview text files, images, and binary files in a split pane
- Verbs — define custom commands (e.g. open in editor, diff two files) triggered by keyboard shortcuts
brshell function — the killer feature:cdinto any directory by navigating in broot, then hitting<enter>to actually change your shell's working directory
Installation
cargo install broot
On first run, broot will ask to install the br shell function, which enables
the directory-changing feature:
broot --install
Or via package manager:
# macOS
brew install broot
# Arch Linux
pacman -S broot
# Debian / Ubuntu
apt install broot
# Fedora
dnf install brootUsage
# Open broot in the current directory
br
# Open broot in a specific directory
br ~/projects
# Show hidden files
br -h
# Show git status
br -g
# Show file sizes
br -s
# Open with a preview panel
br -pVerbs
Broot's real power is its verb system. While browsing, you can type a colon followed by a verb to act on the selected file:
:e # open in $EDITOR
:cp newname # copy the file
:mv dest # move the file
:rm # delete the file
Custom verbs can be added to ~/.config/broot/conf.hjson.