Run every agent you want. Ebb Space keeps your disk clear.
Coding agents leave worktrees, build caches, temp folders and logs behind. Ebb Space measures all of it, says which agent put it there, and frees only what is cheap to get back.
Agents don't clean up.
Each agent cleans only its own mess, by age or count. With a few running at once, a Mac fills up in hours.
How it works
Four ideas, and one rule: Ebb Space never touches work you'd want back.
The floor
Choose how much space must always stay free. Ebb Space checks every few minutes and, when you dip under it, frees what is cheapest to get back until you are over it again.
Every byte has an owner
Worktrees, transcripts, scratchpads and app builds are tied to the agent that made them: Claude Code, Codex, Cursor or Conductor. You see who filled the disk, not a pile of folders.
Stop the copies
Most growth is the same thing stored once per worktree. Ebb Space shows the settings that make new worktrees share what is on disk: Go's -trimpath, one pnpm store, one browser and model cache.
Agents ask first
Claude Code hooks tell an agent when the disk is low, and ask you before a new subagent starts while you are under the floor. An MCP server lets any agent check for room.
Real sizes, not what Finder shows.
uv and pnpm install packages as APFS clones, so a .venv can show 700 MB and free 45 MB. Ebb Space asks APFS what deleting would really free, and shows both numbers.
Nothing runs until you say so. Every step lists the command it will run, and every action is written to a ledger on your Mac.
Four kinds of space
Ebb Space sorts everything by what it costs to get back, and frees the cheapest first.
| Kind | Examples | Cost to get it back | Ebb Space |
|---|---|---|---|
| Leftovers | go-build and Go test temp folders from killed runs | Nothing | Frees them |
| Comes back on its own | Old Codex app builds, old Homebrew downloads, old Puppeteer browsers | A download | Frees them |
| Rebuilds when needed | Go build cache over its cap, finished agent worktrees, old Xcode builds | Build time | Frees them |
| Yours | Unpushed commits, your own worktrees, agent history, unknown temp folders, Docker | Can't be rebuilt | Only lists them |
What Ebb Space never does
- Remove a worktree with uncommitted or unpushed work, or one that is locked, in use, or not made by an agent. It checks again right before removing, and uses git worktree remove without --force.
- Delete outside the folder it measured. Every delete is checked against its root.
- Count space it can't free. Shared files are shown as shared.
- Move caches to the Trash, which frees nothing until it is emptied.
- Touch anything that is yours. It lists it and lets you decide.
A CLI first, for developers
The app is a window onto the ebb command. Everything works from the terminal too, with --json where you need it.
ebbWhat's on disk, who put it there, what Ebb Space can freeebb planEvery step, cheapest to get back firstebb freeFree it. Asks first; --floor frees just enough, --dry-run changes nothingebb worktreesEvery agent worktree and whether it's safe to removeebb uiThe dashboard, on localhostebb watchKeeps the floor in the backgroundebb installRuns watch at login and prints the Claude Code hooks and MCP lineebb mcpAn MCP server so agents can check for room firstThe ebb command comes inside the app. To use it from your terminal:
ln -s "/Applications/Ebb Space.app/Contents/Helpers/ebb" /usr/local/bin/ebb
Works with the agents you run
Claude Code
Hooks for session start, end and new subagents, plus the MCP server. Ebb Space measures its transcripts, scratchpads and worktrees.
Codex
The MCP server. Ebb Space measures its sessions, history and installed app builds, and keeps the current build and the one before.
Cursor
The MCP server. Ebb Space measures the worktrees Cursor's agents create.
Conductor
Ebb Space measures its workspaces and ties them to the repo they came from.
Questions
Is it safe?
Ebb Space frees only what it can prove is cheap to get back: leftovers of killed builds, old app builds, and caches over a cap. It never removes uncommitted or unpushed work, never forces git, checks again right before each step, and writes every action to ~/.local/state/ebb/ledger.jsonl.
Does it upload anything?
No. Ebb Space runs entirely on your Mac and makes no network calls. The dashboard is served on 127.0.0.1 only.
Why not move caches to the cloud?
Your tools need their files on local disk to build, and most caches download again for free. Moving them would make builds slower without giving you the space back.
Does it need Full Disk Access?
Only to measure Docker's and OrbStack's disk images, which live in protected folders. Everything else works without it.
What does it cost?
Ebb Space is free while in beta.