Bug: agent view @ directory picker does not recognize registered git worktrees (.claude/worktrees) when dispatching a session
Environment
- Claude Code v2.1.201 (CLI,
claude agentsTUI) - macOS (darwin 25.5.0), zsh
- Monorepo with git worktrees under
<repo>/.claude/worktrees/— all created by Claude Code itself (background session isolation /--worktree)
Bug
The @ directory picker in the agent view's "describe a task for a new session" input does not recognize registered git worktrees. It appears to show only a small MRU-style list of previously used directories, so most worktrees cannot be targeted when dispatching a new session.
Repro / evidence
git worktree list in the repo shows 10 registered, healthy worktrees under .claude/worktrees/ (no locked/prunable flags in --porcelain output). Typing @ in the dispatch input lists only 2 of them, plus 3 unrelated repos.
Concrete example of the recognition being inconsistent:
.claude/worktrees/fol-2127-ticket-summary— registered worktree, healthy (git rev-parseworks inside it), had agent sessions as recently as 5 days ago. Never appears in the picker, under any filter query (@2127,@ticket,@summ— the last two match its name directly).- An unrelated repo last used ~3 weeks ago does appear.
Also verified while investigating:
- The picker list is identical across fresh
claude agentslaunches (not a rendering/scroll issue — filter queries that should match the missing worktree return nothing). --add-dir <worktree>does not add the directory to the picker (it only grants file access to dispatched sessions).- Starting a fresh headless session inside the missing worktree (
cd <worktree> && claude -p ...) does not seed it into the picker. - Deleted directories are correctly dropped from the list, so some validation runs — but registered worktrees are not enumerated.
Expected
When dispatching a session, the @ picker should enumerate git worktree list for known repos — at minimum the worktrees under .claude/worktrees/, which Claude Code created itself — or accept a free-form path. Related earlier asks #61546 and #60975 were closed; the @ picker seems to be the intended answer to those, but its directory discovery is incomplete, which makes dispatch-to-worktree effectively unavailable.
Impact
To run a task in a specific worktree you must leave the agent view, cd into the worktree, and run claude --bg "..." — for every worktree. This defeats the purpose of the one-screen dispatch flow for the parallel-worktree workflow that Claude Code itself encourages.