broot CLI
broot is a terminal file manager that calculates directory sizes in the background to show large folders before cleanup.
- 13,134 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- broot performs file operations and user-defined commands, including actions across a selected batch.
Install
The author does not provide a one-line install. Open the repository and follow the README.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- broot performs file operations and user-defined commands, including actions across a selected batch.
This is third-party code. Review the repository files before installing.
What it does
broot presents a directory tree condensed into a useful overview even for large folders. Users search names or contents, retain a match’s location in the hierarchy and open a preview. This helps choose agent inputs without losing surrounding project context. Built-in copy, move and other operations can be extended with user commands. Multiple panels support cross-directory work, while size/date sorting and Git views highlight large, recent or changed files.
Who it is for. Reviewers of large working directories locating agent-produced material within the project tree.
Good fit when
- A user remembers only part of a filename in a large directory.
- After agent work, a reviewer finds changed files through Git status.
- Before cleanup, a user compares directory sizes.
- Source and destination folders remain visible in adjacent panes during a move.
Not a fit when
- Every action must run without an interactive terminal.
- Access to selected directory contents is forbidden.
- The tool must automatically decide which files are safe to delete.
Example request
Prepare a broot view of recently modified project files for inspection before further agent edits.Limitations
Returning to the shell in a different directory requires the separate `br` function; the broot binary alone cannot provide that integration. Hidden and Git-ignored files may stay out of view until enabled. High-resolution image previews depend on terminal graphics support. Custom commands and actions on staged file selections run with user permissions, so inspect the selected set before executing them.
How to disable. Exit with `:q` or `Ctrl+Q`. Remove the br shell function if no longer needed; undo completed file operations separately.
FAQ
How do I show sizes and permissions?
Run `br -sdp` to display sizes, dates and permissions beside tree entries. Inspect a large directory’s contents before acting on it.
How do I return to the selected shell directory?
With the br wrapper configured, press `Alt+Enter` on a directory.
How do I show hidden files?
Press `Alt+H`.
How do I display only Git-changed files?
Enter `:gs`.
Can I open a file in an editor?
Yes. Select it and enter `:e` after configuring your preferred editor.
Discussion
No questions or reviews yet.
Related
CLI toolsnnn manages files in a terminal with selection, batch renaming, disk analysis, bookmarks and optional plugin extensions.
Clifm is a file manager that opens a batch of filenames in an editor and asks for confirmation before renaming them.
The terminal file manager helps users preview and organize project files before selecting material for an agent to work on.
GitUI is a terminal Git interface that runs operations asynchronously, keeping the interface responsive during Git work.
A terminal grid of up to 100 panes: Codex, Claude Code, Gemini and other CLI agents run in parallel, each in its own worktree.
lazygit is a terminal Git interface for bisecting regressions: mark good and bad revisions while locating the faulty commit.
README in short
Search supports regular expressions and file contents. Colors and keybindings can be configured for the user’s navigation habits.