TL;DR: broot's staging feature allows collecting files with Ctrl-G and running the next verb on the whole set.
The first issue about broot introduced the default way of using the tool. Let's now see the other one, based on the staging feature.
The staging area workflow
The staging area is a second panel that opens on the right when you stage your first file. To stage a file, press Ctrl-G with the cursor on it. A marker appears next to the filename in the tree, and the staging panel opens. Then Ctrl-G on each new file adds it to the staging area. If you want to unstage a file, you just press Ctrl-G a second time with the cursor on it.
# Inside broot:
# Stage three files
Ctrl-G on logs/2026-07.log
Ctrl-G on logs/2026-08.log
Ctrl-G on cache/sessions.dbWhen you are ready, run a verb on all the files added to the staging panel.
# Now run a verb on the staged files
:cp /tmp/backup
:mv /tmp/oldEach verb runs once on the whole set. As you quickly notice, broot shows the resolved command in the status line before you press Enter. So read it, and if the placeholder substitution looks wrong, do Esc to cancel.
The verbs that are useful with staging:
:mv {dest}: move all staged files to the destination.:cp {dest}: copy all staged files to the destination.:chmod +x: apply the mode to every staged file.:rm: delete all staged files.
The pattern is the same every time: stage with Ctrl-G, then run a single verb on the whole set. As a bonus, Ctrl-A adds every file in the current panel to the staging area at once.
The focus detail you may miss
When the staging area opens, it does not steal focus. The focus stays on the tree panel. To run a verb on the staged set, focus the staging area first.
The default keystroke is Ctrl-Right. Once the staging panel is focused, type the verb and press Enter. And use Ctrl-Left to place the focus back on the tree panel.
Keystroke fallbacks
It might happen that the keystrokes do not trigger the expected operation in the TUI. In those situations, you can type verbs that do the equivalent:
:toggle_stage # or :stage / :unstage — replaces Ctrl-G
:open_staging_area # or :osa — force the staging panel open
:clear_stage # or :cls — empty the staging area
:focus_panel_right # or :focus_staging_area — focus the staging area (if open)
:focus_panel_left # focus the tree panelSo you may lose the keystroke, but you keep the workflow by typing the right verbs.
One CLI trick
# Inside broot, after staging several files:
:zip /tmp/backupbroot's :zip verb takes all the staged paths as arguments of a single zip command, so you get one archive holding the whole set.
If you want the full productivity toolkit, The Modern CLI Stack — 13 Tools Brief is a free ~50-page PDF + EPUB covering mise, starship, zoxide, fzf, broot, ripgrep, fd, bat, eza, delta, tldr, atuin, lazygit.
