Disk cleaners ask for your money and your trust in the same sentence. sweep is a command line
tool with one shape it never deviates from: measure, show the list, ask once, move to the
Trash. Nothing is deleted; things are trashed, so Finder's Put Back still works. That is the
entire trust story, and it is the reason disposal takes the slower code path.
What it does
sweep dev build leftovers — target/, node_modules/, .venv/, and eight more
sweep caches eight cache roots, offered by class, never guessed
sweep large ~ the biggest files, with what they really occupy on disk
sweep overview ~ the same walk grouped by folder — a report, with no delete button
sweep downloads the ~/Downloads sediment, oldest first
sweep uninstall App an app plus the trail it leaves behind
sweep brew Homebrew's own cleanup, measured first
sweep restore FILE put a previous run back
Details that exist because of a real mistake:
- A directory is only offered if its evidence is there. A folder called
buildis not a build folder; one with a build system's marker in it is. - Apparent size is not size on disk. The top hit on my own machine looked like 100 GB and occupied 5.6. The list says both, or the number is theatre.
- No terminal and no
--yesis a refusal, never an assumption.--yesmeans do not ask;--rmmeans bypass the Trash. Neither implies the other, so the one combination with no undo costs two flags. - A run writes a receipt, and
sweep restoreputs everything back — recreating a folder it removed, and never overwriting something that has since moved in.
Where it actually stands
The manifest version remains 0.1.0; the v1 scope is complete. The Finder landing fix was
installed on my PATH on 2026-09-26, with the installed binary's actual Trash destination
proven. That is the build date shown above, not an invented 1.0.0 release.
It is a single binary with no interface to screenshot. No public download URL has been supplied.
Screenshots

What’s next
- Keep using it; the first week of real use found three defects and two gaps the tests could not.
- Then the one idea still on the list: notice an app's own uninstaller, run our discovery first, run theirs, and diff what it missed.