Cut it back.
It grows again.

Your coding agents make a git worktree for every task and never clean up. Coppice finds them, frees the space and leaves your work alone.

brew install --cask rafay99-epic/apps/coppice

Free and MIT licensed. macOS 15 on Apple Silicon.

One laptop. An ordinary Tuesday.

42
worktrees
76 GB
on disk
22 GB
safe to free

You try something in a worktree, the branch merges, the folder stays. Run four agents at once and the disk fills with work you already finished.

Coppice
42 worktrees, 76.6 GB
Sweep 22.4 GB
ENV_Connect
t3code-6da8e6e7
t3code/general-help-request
1.2 GB
Ready
t3code-99ca1d92
t3code/fix-cli-npm-publish
1.3 GB
Ready
t3code-5b9b4d42
feat/convex-direct-web
2.32 GB
In use
t3code-ca476e75
t3code/align-subpages-to-theme
6.18 GB
Has work
t3code-69fa9055
t3code/react-doctor-audit
1.49 GB
Has work
codex-a6ac4f5d
fix/updater-rollback
840 MB
Ready

Two ways back.

Sweep

Deletes node_modules, .next, target and other build output. Your code and history stay. One install brings it back.

Remove

Moves the whole worktree to the Trash. Commits stay on the branch, and .env files are copied out first.

Three things it won't touch.

  1. 1A worktree an agent is using right now.
  2. 2Your repository's main checkout.
  3. 3Anything outside the folders you chose.

Every check runs again the moment you click, not when the list was built.

Quiet by design.

Menu bar

No Dock icon, no window until you want one.

Event driven

Wakes when git changes a worktree. Never polls. 0% CPU at idle.

Hands off

Nothing is deleted unless you click.

Plant it once.

Stable
brew install --cask rafay99-epic/apps/coppice
Nightly, installs alongside Stable
brew install --cask rafay99-epic/apps/coppice-nightly

Or grab the .dmg. It is not notarized, so right-click and choose Open the first time. Coppice updates itself after that.

Open source under MIT. Read every rule it follows on GitHub.