---
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.
