What a Subagent Actually Knows
A subagent runs in its own context window. That is the point, but it also means it knows much less than you might assume.
What a subagent receives
Section titled “What a subagent receives”- Its own system prompt (the agent definition plus environment details, not the full Claude Code system prompt).
- The task message you or Claude wrote for it.
- The
CLAUDE.mdhierarchy. - A git status snapshot.
- Any skills preloaded in its definition.
What it does not receive
Section titled “What it does not receive”- The conversation history from the main session.
- Output style settings.
- Auto memory from the main session.
- Files already read into the main context.
If you spent twenty turns establishing constraints and then delegate, the subagent starts from zero. Whatever it needs has to be in the task message.
Explore and Plan skip CLAUDE.md
Section titled “Explore and Plan skip CLAUDE.md”The built-in Explore and Plan agents, which Claude spawns on its own for research and planning, do not load CLAUDE.md or git status at all.
So a rule like “never touch the legacy folder” in CLAUDE.md does not reach them. If a constraint matters for delegated work, restate it in the prompt you give the subagent, or in the instructions Claude will pass along.
Use a subagent to map the payment flow. Constraints: read-only,ignore anything under legacy/, and report file paths with line numbers.When you need the full context: fork
Section titled “When you need the full context: fork”A fork is different from a subagent. It inherits the entire parent conversation: full message history, the same system prompt, tools, model, and permissions.
Start one with /subtask. Use it for side work that genuinely depends on everything discussed so far. Use a regular subagent for broad searches and independent review, where a clean slate is an advantage.
Cost note
Section titled “Cost note”Agent teams running in plan mode use roughly 7x the tokens of a standard session, because each teammate carries its own context window and its own copy of the startup context. Delegation is cheap for looking and expensive for doing. Keep high-context implementation work in the main session.