Verdicts
Every item gets a verdict for every action that could be taken, and the verdict comes with its reasons. Color is never the only sign: each verdict has its own pattern, its own mark and its own rule.
Four verdicts
| Verdict | What it means | When cleaning |
|---|---|---|
| READYReady | Every check passed for this action. | Selected from the start. |
| REVIEWReview | A known risk, or a call only you can make. | With “Include anyway”. |
| BLOCKEDBlocked | In use, protected, or holding work git would refuse to throw away. | Can't be selected. |
| UNKNOWNUnknown | Not enough evidence. | Can't be selected, never counted as Ready. |
The command line prints the same verdicts in capitals.
Reasons
A verdict's reasons spell out what's known about the item. For example:
- Which agent it belongs to: “Part of a running Claude Code session”, or which tool made it.
- Whether it's in use: an agent session running in it or in its parent folder, a process running from it, a file held open.
- Unsaved work: modified, untracked or staged files; unpushed commits; a git lock.
- Evidence: where a name alone isn't enough, the marker it looks for, such as a
package.jsonbesidenode_modules.
Ready
Every check passed. When you press Clean the item is still checked once more; if anything changed in between, it's left alone.
Review
Deleting it is very likely fine, but there's something Devbroom can't know. For example:
- An ignored
.envfile in a worktree:git worktree removedeletes it without asking. A cleangit statusdoesn't prove there's nothing of value inside. - The name looks like a build folder, but the project files that would prove it aren't beside it.
- Vague names such as
dist,buildandvendor, unless a build script produces them. - Caches that are expensive to download again: the pnpm store, Playwright browsers, Hugging Face models.
- Folders the agent manages itself.
Blocked
Touching it now could break someone's work:
- An agent session runs in it or in its parent folder, a process runs from it, or a file in it is held open.
- A worktree with uncommitted changes, untracked files or staged changes. Git won't remove it without
--force; Devbroom never uses--force. - The main working copy, a worktree with submodules, or one git has locked.
- Protected files such as agents' databases and credentials.
- Things that should be cleaned only with the agent's own command.
Unknown
It couldn't tell which agent this belongs to, or part of it couldn't be read. Devbroom never counts something it doesn't know as Ready.
Your own rules
A .devbroom.toml at a project's root can say what counts as build output in that project. Since an agent could have written that file too, the command line doesn't trust it without asking: devbroom clean --yes leaves out anything that's Ready only because of that file.
Last updated: October 7, 2026