Anthropic pushed a Claude Code update on July 17 that rewires how /fork
works at the architecture level, introduces /subtask
as its in-session replacement, and ships hard limits on WebSearch calls and subagent spawns. If you run Claude Code for anything beyond single-session coding, the semantics of your workflow just changed.
/fork Is Now a Background Session – Not a Subagent #
This is the one that will catch people off guard. Before July 17, typing /fork
inside Claude Code launched an in-session subagent that ran within your current conversation. The parent session was blocked, the subagent was hidden inside the same context window, and results came back to you in the same thread.
That behavior is gone. /fork
now creates an independent background session – a separate row in claude agents
, running asynchronously while your original session stays fully interactive. The fork auto-names itself after your prompt when the session has no title, so the agent view does not fill up with anonymous rows.
The architectural shift matters for cost reasons too. A fork inherits the parent session’s system prompt, tools, and full conversation history, so its first API call hits the parent’s prompt cache. That makes forks significantly cheaper than fresh subagents for anything with a long context. Background sessions are also now trackable in claude agents
alongside your other long-running work, rather than buried as invisible subagents in a conversation you have already closed.
Meet /subtask – the Replacement for What /fork Used to Do #
If you liked the old in-session subagent behavior, /subtask
is your command. It runs an isolated sub-task within the current context window without creating a separate session. It does not show up in claude agents
, it does not inherit the parent cache, and it is designed for focused jobs where you want clean context isolation rather than parallel execution.
The practical distinction: use /fork
when you want to explore a different approach or run a parallel workstream while keeping the parent session active. Use /subtask
when you want to hand off a bounded, independent task without spawning a new tracked session. Both are non-blocking, but only /fork
gives you a background session you can monitor and resume later.
| Scenario | /fork | /subtask |
|---|---|---|
| Try a different approach | Yes | No |
| Visible in claude agents | Yes | No |
| Inherits parent prompt cache | Yes | No |
| Clean context isolation | No | Yes |
| Best for parallel workstreams | Yes | No |
Caps on WebSearch and Subagent Spawns #
Anthropic added session-wide limits on two operations that have caused real problems in the wild: WebSearch tool calls (default 200 per session) and subagent spawns (default 200 per session). Hit either limit and the operation stops. Run /clear
and the budget resets.
These limits are not arbitrary. Agentic loops that search indefinitely for information that does not exist, or delegation chains where subagents spawn more subagents, have been burning through API credits in automated pipelines without anyone noticing until the invoice arrives. The defaults are generous enough for almost any reasonable session, but if you are building pipelines, set explicit values rather than relying on the default ceiling.
Configure both in your settings.json
under the env
key:
{
"env": {
"CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION": "50",
"CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION": "30"
}
}
MCP Tool Calls Over 2 Minutes Auto-Move to Background #
MCP tool calls are synchronous by default – they block the session until the server responds. For anything long-running (a test suite, a build pipeline, a database migration), it meant the entire session was frozen and unusable until the tool finished.
As of this update, any MCP tool call that exceeds 2 minutes automatically moves to background, leaving the session interactive. The threshold is configurable via CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS
(default: 120000ms = 2 minutes). Set it to 0 to restore the old blocking behavior, or lower the value if you want faster auto-routing for your specific MCP workloads.
/resume Now Surfaces Deleted Sessions #
A quality-of-life fix that fills a gap: typing /resume
in the agent view now opens a picker that includes sessions you have deleted from the active list. They resume as background sessions. Previously, once you deleted a session from the agent view, it was gone from the picker even if the transcript was still on file.
One Bug Fix Worth Knowing #
If you use CLAUDE_CODE_EXTRA_BODY
to pass custom model parameters, there was a silent failure bug: the variable was being ignored by claude agents
and --bg
background workers. That is fixed. The shell-exported override now follows the dispatching session into background workers, so your custom params actually take effect. Check the official changelog for the full list of reliability fixes shipped in this update.
Multi-agent workflows are getting more capable and more complex at the same time. Anthropic is aware that the failure modes – runaway loops, blocked sessions, invisible forks – need to be managed at the platform level before they become the developer’s problem. This update draws a cleaner line between tracked parallel work and in-session delegation, and adds safety rails that should have shipped alongside the agent features in the first place.