Claude Code v2.1.212: /fork Moves to Background Sessions, Per-Session Search and Subagent Caps, and MCP Auto-Backgrounding
Claude Code v2.1.212 turns /fork into a background-session copy (the old behavior is now /subtask), adds claude auto-mode reset, caps web searches and subagent spawns per session, and backgrounds long MCP calls.
Claude Code v2.1.212 is a large release with 48 changelog entries. /fork now copies your conversation into a new background session, and the in-session subagent it used to launch moves to /subtask. The release also adds claude auto-mode reset, per-session limits on web searches and subagent spawns, and automatic backgrounding of long MCP tool calls, along with fixes across plan mode, hooks, /ultrareview, and telemetry exports.
What’s New
/fork Creates a Background Session; /subtask Takes Over the Old Behavior
/fork now copies your conversation into a new background session, with its own row in claude agents, while you keep working. The in-session subagent that /fork used to launch is now /subtask. When the session has no title, /fork names the copy after your prompt so the row is recognizable in the agent view.
claude auto-mode reset
The new claude auto-mode reset command restores the default auto-mode configuration after a confirmation prompt; pass --yes to skip it.
Per-Session Limits on Web Searches and Subagents
A session-wide limit on WebSearch tool calls (default 200, tunable via CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION) stops runaway search loops. A per-session cap on subagent spawns (default 200, override with CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION) stops runaway delegation loops, and /clear resets that budget.
Long MCP Tool Calls Move to the Background
MCP tool calls running longer than 2 minutes now move to the background automatically so the session stays usable. Configure the threshold or disable the behavior with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS.
/resume in the Agent View
Typing /resume in the agent view now opens a picker of past sessions, including sessions deleted from the list, and resumes your pick as a background session.
Task Tool mode Parameter Deprecated
The Task tool’s mode parameter is deprecated and now ignored; subagents inherit the parent session’s permission mode by default.
forceLoginMethod Enforced Beyond the Terminal
The Enterprise forceLoginMethod setting is now enforced for VS Code extension, SDK, setup-token, and install-github-app logins, not just the terminal.
Fixes and Improvements
- Security and permissions: Plan mode no longer auto-runs file-modifying Bash commands (such as
touchorrm) without a permission prompt or SDKcanUseToolcallback. Worktree creation no longer follows a repository-committed symlink at.claude/worktrees, which could create files outside the repository. - Hooks: A
continue:falsehook’s halt is no longer dropped when the tool fails or completes mid-stream, and hook infrastructure errors are no longer misreported as user rejections. - Print/SDK mode: SIGTERM during a running Bash tool no longer orphans the command’s process tree; the CLI now aborts the turn, kills the tree, and exits 143. Headless/SDK sessions now apply a
set_modelcontrol request mid-turn, so the next model round-trip uses the new model instead of waiting for the next turn. - Windows:
/backgroundandclaude --bgno longer fail with “EUNKNOWN: unknown error, uv_spawn” when Group Policy blocks PowerShell 5.1; the daemon now prefers PowerShell 7. /ultrareview: PR references like#123,PR 123, and pasted PR URLs are now accepted, and error hints name the command you actually typed./ultrareview <branch>now fetches the branch from origin when it exists remotely and suggests the closest branch name on typos, and the billing confirmation is no longer skipped in a new conversation after/clear.- Prompt caching and tokens: The mid-conversation system block now works behind LLM gateways and custom base URLs (Bedrock, Vertex, 1P). Inter-agent messaging uses fewer tokens because
SendMessagebodies are no longer duplicated into replayed history and tool results. - Web search and fetch: Web search and web fetch no longer return “API Error” text as search results or page content when the API is overloaded, and they now retry 529 errors and rate-limited requests with bounded backoff.
- Images: Conversations with many images no longer fail incorrectly with “Request too large” errors, and the error message now explains the actual cause.
- Background agents: Cold-attaching now instantly shows the formatted transcript while the session boots, instead of a blank wait. Reopening a stopped background session from the agent view no longer fails silently; it resumes the session, or shows why it can’t and lets you force a restart. Sessions waiting on a sandbox, MCP-input, or managed-settings prompt now show as “Needs input” instead of “Working” in the agent view and
claude agents --json. - Telemetry: OpenTelemetry HTTP exports are no longer rejected with 411/400 by Azure Monitor and other endpoints that don’t accept chunked transfer encoding.
- Hosted sessions: Hosted (host-managed) sessions no longer fail at startup when repository settings configure mTLS certs, extra CA bundles, or OAuth scopes; these transport settings are now ignored with a warning.
/btw: Bare/btwnow reopens the side-question panel on your most recent exchange so you can browse earlier answers.
This release contains 48 changes in total; see the full changelog for every item.
How to Update
- Check your installed version:
claude --version - Update in place:
claude update - If you used
/forkto launch an in-session subagent, use/subtaskinstead;/forknow copies the conversation into a new background session.