Dev.to AI 🤖 Ai 👁 0 📖 1 min read

The git worktrees your coding agents leave behind, and how to clean them up

Claude Code, Cursor and Codex run in git worktrees so several agents can work at once. Each worktree is a full checkout with its own node_modules and build output, and they pile up quietly. One Claude Code user found 27

Claude Code, Cursor and Codex run in git worktrees so several agents can work at once. Each worktree is a full checkout with its own node_modules and build output, and they pile up quietly. One Claude Code user found 27 forgotten worktrees using 80 GB (issue 63087). 61 Codex worktrees of a Rails app took about 100 GB (issue 35383).

Where they live

  • Claude Code: .claude/worktrees/ inside each repository (older versions used ~/.claude-worktrees)
  • Cursor: ~/.cursor/worktrees/
  • Codex: ~/.codex/worktrees/, on a detached HEAD rather than a branch

See what they take

git worktree list                                  # inside a repository
du -sh .claude/worktrees/* 2>/dev/null | sort -h   # inside each repository
du -sh ~/.cursor/worktrees/*/* ~/.codex/worktrees/* 2>/dev/null | sort -h

Check before you remove one

git -C <path> status --short             # prints nothing if nothing is uncommitted
git -C <path> status --short --ignored   # .env and other ignored files you'd lose
git log --oneline main..<branch>         # prints nothing if the branch is merged

Squash merges leave the commits out of main, so ask GitHub instead: gh pr list --head <branch> --state merged --json headRefOid, and check it matches git rev-parse <branch>.

Remove it

git worktree remove <path>

Skip --force: without it, git refuses when there's uncommitted work, which is the point. The branch stays, so nothing committed is lost.

Stop the pile-up

  • Claude Code: lower cleanupPeriodDays (default 30)
  • Cursor: lower cursor.worktreeMaxCount (default 25)
  • Codex: lower the limit of 15 kept worktrees in its settings

The full guide covers the rest, including Codex's detached worktrees and a Codex bug that saved 54,504 crash reports in a day.

I make Mopup, a Mac app that runs these checks for you and removes only finished worktrees, never with --force. It's free to scan.

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.