1.1 KiB
1.1 KiB
name
| name |
|---|
| Stale worktree references block agent start |
Bug 3: Stale Worktree References Block Agent Start
Symptom
Starting an agent fails with git worktree add failed: ... is already used by worktree even though the worktree directory no longer exists.
Root Cause
When a worktree directory is deleted externally (e.g., rm -rf by another agent or manual cleanup) without running git worktree remove or git worktree prune, git retains a stale reference. The create_worktree function in worktree.rs checks if the directory exists (line 43) but doesn't handle the case where git still thinks the branch is checked out in a now-deleted worktree.
Reproduction Steps
- Start an agent (creates worktree and branch)
- Delete the worktree directory externally (
rm -rf) - Try to start an agent for the same story again
- Observe:
git worktree addfails because git still references the old worktree
Proposed Fix
Run git worktree prune before attempting git worktree add in create_worktree_sync(), or handle the "already used" error by pruning and retrying.