broot is a free, open-source Rust tool for navigating directory trees in the terminal. See its features, git integration, disk usage mode, and how to install…
Anyone who has run the classic Unix tree command against a real-world project knows the pain: thousands of lines scroll past instantly, node_modules or vendor directories bury the files you actually care about, and there is no way to interact with what you are looking at short of piping the output into grep and hoping for the best. broot was built specifically to fix this. Rather than printing a static snapshot, it opens an interactive, scrollable tree view inside the terminal that stays live as you type, letting you narrow the visible files with fuzzy search on every keystroke rather than requiring a complete, precise search term.
Because the search is non-blocking, changing your mind mid-search costs nothing - you can type a few characters, see the tree narrow, backspace and try a different pattern, all without waiting on a previous query to resolve. Combined with automatic .gitignore filtering, this makes broot noticeably faster to actually find what you are looking for in large codebases or deeply nested filesystems than either the plain tree command or manually chaining cd and ls.
broot goes beyond pure navigation with two features that are particularly useful for developers. Its git integration mode, invoked with the :gf command inside broot, overlays file statuses (new, modified, deleted), the current branch name, and change statistics directly onto the tree view, so you can see what is different about your working directory without switching to a separate git status call. A related :gs command filters the entire tree down to show only the files git status would flag as changed, which is a fast way to review a diff's file footprint before committing.
Separately, broot's whale-spotting mode - enabled with --whale-spotting or the -w flag - turns the tool into a disk usage explorer. It computes file sizes, modification dates, and file counts in the background as you browse, rather than forcing you to wait through a full directory scan before you can start navigating, which makes it a genuinely fast way to track down what is consuming space on a drive without reaching for a separate dedicated disk usage utility.
broot is a free, open-source terminal application written in Rust that provides an interactive, searchable tree view for navigating directories, replacing the static output of the classic Unix tree command.
Yes. broot is fully free and open source under the MIT license, with no paid tiers, subscriptions, or licensing fees.
broot was created by Denys Seguret, a French developer who goes by Canop or dystroy in open-source communities, and remains its primary maintainer.
broot can be installed via Homebrew on macOS and Linux, via Cargo if you have a Rust toolchain installed, via Pacman on Arch Linux, or via APT-compatible or Snap packages on Debian and Ubuntu.
Whale-spotting mode, enabled with the --whale-spotting or -w flag, switches broot into a disk-usage-focused view that computes and displays file sizes, dates, and counts in the background as you navigate, helping you find what is consuming disk space.
Yes, broot has built-in git integration. The :gf command shows file statuses, the current branch, and change statistics overlaid on the tree, and :gs filters the tree to only files that git status would report as changed.
Yes, by default broot filters out files and directories matched by .gitignore rules, keeping generated files and dependency folders out of the navigable tree.
Unlike tree, which prints a static, flat listing of every file and folder at once, broot renders a live, interactive tree that updates in real time as you type a fuzzy search, and lets you act on files (open, move, delete, run commands) directly from the view.