For macOS · free and open source
Free space from build and tool caches, safely.
reclaim finds the Cargo target folders and package-manager caches that
pile up across your projects, tells you which ones are in use right now and why, and
cleans only what you pick, checking each one again just before it deletes.
macOS 13 or later. Apple silicon or Intel disk image.
Or install from Terminal
curl -fsSL https://reclaim.pawanpaudel.com.np/ install.sh | bash
The script checks the download against the release’s SHA-256 sums and
the app’s signing certificate against the one reclaim pins, puts
reclaim in Applications and links the reclaim command into
~/.local/bin.
Install guide
Made for many worktrees and busy agents
If you run AI coding agents across many git worktrees, each worktree grows its own
Cargo target folder, often tens of GB, and the package managers’ caches
grow beside them. Deleting them by hand is guesswork: one of them may be in the middle
of a build. reclaim shows how much space each would really free, with APFS clones
counted once, and leaves anything in use alone.
What it cleans
Build output and caches that tools make again when they need them. Never your source, your documents or your settings.
- Rust build folders
-
Cargo
targetandbuild-dirfolders under your project folders. Light removes only incremental files, so the next build stays fast; Full removes the whole folder. - JavaScript caches
- npm’s cache (and the older format an earlier npm left behind), npx entries unused for a week, the pnpm store and Yarn 1’s global cache.
- Python and Go caches
- uv’s cache, pip’s cache and the Go build cache. Never Go’s module cache.
- Xcode DerivedData
- Per-project DerivedData folders. Xcode rebuilds them on the next build, which is slower the first time.
- Old agent CLI versions
- Old Claude Code and Cursor CLI versions, kept after an update. The version in use stays.
- Docker and Homebrew, when you ask
- Docker’s build cache is cleaned only when you name it. Homebrew’s cleanup is off by default, because it also removes old installed formula versions.
Each tool’s cache is cleaned with that tool’s own command, with the cache named explicitly where the tool allows it and the network turned off. Folders are removed by reclaim itself.
Why it’s safe
-
You review before anything is deleted
Scanning only reads. Nothing is cleaned until you choose items and confirm, and the app cleans exactly the scan you looked at. If the scan changed meanwhile, it asks you to review again.
-
It knows what is in use
An item is left alone while a program runs from it or has files open in it, while its tool is running or holds its lock, for 15 minutes (by default) after it was last written, or while a Claude Code or cmux session works on the project. Every busy item says why.
-
It stays away from your work
It cleans only build output and tool caches. It refuses folders that contain git-tracked files, paths on your protect list, your home folder,
~/Libraryand other shared folders, and Cargo folders outside your project folders. Deletes never follow symlinks or cross onto another disk. -
It checks again just before it deletes
Every clean takes a fresh look at running programs and the item’s files. An item that became busy is skipped, and every deletion gets a receipt in your history.
-
~/code/api/targetSafe No program uses it. -
~/code/api-wt-4/targetIn Use Claude Code session active - npm cache Safe npm is not running.
-
~/code/web/targetIdle 3 h A Claude Code session is open here, idle for 3 h. - Docker build cache Manual Cleaned only when you choose it
No telemetry. Scanning and cleaning never use the network; reclaim checks for updates only when you ask, or once a day if you turn that on.
The same engine in Terminal
The menu-bar app runs the reclaim command and shows what it returns; it
never decides on its own what is safe. Use the command directly in a terminal, a
script or an agent’s session.
Add --json to scan, clean or
history for machine-readable output.
Every command and option
# a verdict and size per item
$ reclaim scan
# also busy items, and why
$ reclaim scan --all -v
# clean everything marked safe
$ reclaim clean --safe
# preview cleaning rows 1, 3
$ reclaim clean 1 3 --dry-run
# past cleans
$ reclaim history
Good to know
Opening it the first time
reclaim is signed with its own certificate, not an Apple Developer ID, so macOS does not recognize the developer. The Terminal install avoids this step. If you open the disk image yourself, macOS 15 or later blocks the first launch. Open System Settings › Privacy & Security, choose Open Anyway next to reclaim, and confirm. On macOS 13 and 14, Control-click reclaim in Applications and choose Open.
Command Line Tools
reclaim asks /usr/bin/git whether a folder holds tracked files. On a Mac
without the Command Line Tools, a scan can show the “install developer tools”
dialog, and items in git projects are not cleaned until they are installed.
Updates
Choose Check for Updates… in the menu bar, or Check Now in Settings › General. Automatic checks are off until you turn them on, and an update installs only when you click Install and Relaunch.
Uninstalling
Quit reclaim and turn off Open at login first. Then
curl -fsSL https://
moves reclaim to the Trash and removes the command link in ~/.local/bin; a
link in /usr/local/bin is only reported. --purge also removes
reclaim’s state folder and its folders in ~/Library, but keeps
reclaim.toml. For a complete removal, use Settings › Advanced › Remove
reclaim Data… before uninstalling.
Uninstall guide