Files
storkit/.story_kit/bugs/bug-3-stale-worktree-blocks-agent-start.md

25 lines
1.1 KiB
Markdown
Raw Normal View History

---
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
1. Start an agent (creates worktree and branch)
2. Delete the worktree directory externally (`rm -rf`)
3. Try to start an agent for the same story again
4. Observe: `git worktree add` fails 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.