
Fork Subagents Inherit Context by Default and @ Mentions Route Across Sessions: Two Claude Code Defaults Live Today
Chris Harper
3 min read
Aug 14, 2026 · 12:14 UTC
Fork subagents now inherit the full conversation and prompt cache by default; @ in your prompt routes a message to any named live Claude Code session.
Two defaults changed in Claude Code v2.1.232 (released today, August 14). Both affect multi-session workflows and are worth knowing before your next agentic run.
Fork subagents: context inheritance on by default
A fork subagent inherits the parent session's full conversation history, system prompt, tool list, and model. Before today, you had to opt in. Now it's the default for subagents you want to hand context to, without re-briefing.
The practical payoff is prompt cache reuse. A fork's first request hits the same cached prefix as the parent — you build context once, the fork reads it at cache-read rates (roughly 4–10× cheaper than re-sending). For reviewers, auditors, or parallel variations that need your full context, this makes forks the clear first choice over fresh subagents.
# Spawn a reviewer that inherits everything the main session has built up
result = await agent(
"Audit the implementation above for edge cases the tests don't cover",
subagent_type="fork" # inherits conversation + cached prefix; no re-briefing needed
)
Non-teammate subagent spawns in interactive sessions now background by default. When you trigger a subagent in an interactive session, it runs without blocking your main window. Results arrive asynchronously; the main conversation keeps moving.
When fork wins vs. a named subagent
| Use case | Pattern |
|---|---|
| Review / audit with full context | subagent_type: "fork" |
| Specialist agent (different model/tools) | Named subagent (starts cold, own cache) |
| One-off parallel variation | Fork — cache-sharing cuts cost |
| Long-running background session | Background agent + @ mention |
@ session mentions
Type @ followed by a session name in any Claude Code prompt — Claude routes the message via SendMessage without you writing the tool call explicitly. SendMessage now also resolves a bare name if exactly one live session matches, so you no longer need to append a [ref] suffix when the name is unambiguous:
@test-runner please run the auth spec suite and report any failures here
List all mentionable sessions with ListAgents or /agents in the TUI — only sessions that registered with a name are @-reachable. This is particularly useful when a background session (a running test harness, a long deploy watcher) is the right target for a side task.
Practical pipeline: fork for review, mention for dispatch
- Main session implements a feature, building rich context
- At each milestone:
subagent_type: "fork"spawns a reviewer — it inherits everything, costs cache-read rates - If a dedicated test session is live,
@test-runnerdispatches the test run without context-switching the main session
Sources: Claude Code changelog v2.1.232 — code.claude.com · Cross-session messaging — code.claude.com · Fork subagent updates — DevelopersIO