Appearance
date: 2026-06-14 tags: [claude-code, subagents, fork, context, footgun] status: active graduated_to:
A non-fork subagent does NOT inherit the parent conversation — use subagent_type: fork when the helper needs full context
Symptom — Recurring confusion (across multiple chats the maintainer has had to correct): an agent either claims "subagents can't access the conversation, they start blank" as an absolute, or assumes a plain subagent does see the chat. Both are wrong, and the wrong call shapes architecture decisions (e.g. "we must read the session JSONL because a subagent can't have the context").
Root cause — Per the Claude Code docs (Create custom subagents → What loads at startup): "Each subagent starts with a fresh, isolated context window. It does not see your conversation history… The exception is a fork, which inherits the parent conversation instead of starting fresh." A non-fork subagent's initial context = system prompt + the delegation/task message + CLAUDE.md/memory
- files it reads — not the conversation; the only parent→subagent channel is the prompt string. A fork subagent inherits the whole parent conversation (and the parent model).
Fix / Guard —
- Helper needs the full conversation? Dispatch with
subagent_type: "fork"— it inherits the chat. (Distinct from session resume/fork, which continues the same thread rather than spawning an isolated worker.) - Helper does focused, isolated work? Use a normal subagent and curate the prompt — that isolation is the point.
- A fork inheriting context bloats the fork's window, not the parent's — so a fork is also the clean way to offload heavy synthesis-over-the-whole-chat without growing the main window.
- Don't state "subagents start blank" as absolute (fork is the exception); don't assume a plain subagent sees the chat (it doesn't).
- Related capability (same area): as of Claude Code v2.1.172 a subagent can spawn its own (nested) subagents — foreground at any depth (self-limiting, blocks the parent); a background subagent loses the Agent tool at depth 5. The old "subagents can't spawn subagents" limit is lifted (e.g. the note in the
ideatoragent description predates this).