subagent-stalls-have-three-distinct-root-causes
Subagent stalls stem from three separate mechanics: (1) Edit/Write tool calls trigger permission prompts because settings.local.json lacks workspace-path wildcards — pre-approve broad safe patterns to eliminate prompts entirely; (2) isolation: worktree mode writes changes to a temporary git worktree that gets discarded, making the orchestrator repeat the work — never use for production tasks; (3) session-scoped MCPs registered after subagents were dispatched are invisible to those subagents — register all needed MCPs before dispatching. Each failure mode looks identical (subagent returns empty or hangs) but requires a different fix.