What your agents leave behind
Every parallel agent gets its own copy of your repo. When a session crashes or you move on, the copy stays. On the MacBook Air we build Purrfast on, 38 worktrees from Claude Code and Codex added up to 78 GB. The dev server the agent started is often still running, and each session starts its own set of MCP servers.
Purrfast checks every worktree before it lets you delete one
A worktree goes to “safe to delete” only when it has no uncommitted changes or stash, no commits that exist only there, no process using it, its branch is merged or its PR is closed, and nothing changed in the last 7 days. If any of these fails, it stays in “take a look” or “leave it alone”, and Purrfast shows you why.
safe to delete
- ~/
Library/ 17.4 GBDeveloper/ Xcode/ DerivedData - ~/
.npm/ 0.37 GB_cacache - ~/
Library/ Caches/ pnpm - .next
take a look
- .claude/
worktrees/ angry-villani-ac09f3 - .claude/
worktrees/ determined-yalow-d929b0 - ~/
.codex/ 7.75 GBworktrees - ~/
.cache/ 12.4 GBhuggingface - ~/
.android/ 51.2 GBavd - ~/
Library/ 36.9 GBDeveloper/ CoreSimulator - node_modules
leave it alone
- next dev :3000
- vite :5173
- playwright-mcp ×4
- github-mcp ×4
Why not just ask your agent to clean up?
You can, and with Purrfast installed it gets safer. Claude Code, Codex and Cursor can call Purrfast through MCP: the agent asks what's taking space and plans the cleanup, Purrfast runs the same worktree checks every time, and nothing is deleted through Purrfast until you confirm. Deleted items go to the Trash and can be put back.
What goes over the network
Purrfast downloads signed cleaning rules once a day, checks your license, and asks npm, PyPI, Homebrew, Hugging Face or Ollama whether a specific version can still be downloaded. That last check sends a package name and version, never a path. No analytics SDK. Full Disk Access is optional.
Measured, not promised
Purrfast reads your whole home folder in one pass with macOS's bulk directory-listing call, many threads at once. On that same 10-core MacBook Air, 703 GB and 6.9 million files took 50 to 70 seconds with a warm cache and used about 17 MB of memory. In the background it runs at low priority on 4 threads, so your builds don't feel it.
Planned price: scanning is free, your first 10 GB of cleanup is free, then $19.99 once for 3 Macs. macOS 14 or later.