Claude Code 2.1.162 brings the /fork command out of beta (now enabled by default), creating a distinct split between /fork (background subagent) and /branch (switch into conversation copy)
Massive expansion of remote MCP server integrations (70+ new servers including Google Workspace, Spotify, Shopify, Uber, and many others)
The orchestration mode example received a major overhaul: content-addressed journaling for resumable fan-outs, a verification wave that adversarially checks every subagent result, and a guide to building production harnesses
Image size limits are now documented for the Vision API: 10 MB on the Claude API, 5 MB on Bedrock/Vertex
Fourteen bugs fixed in claude agents, covering wide-terminal truncation, session attachment stalls, lost replies, and Ctrl+V paste
claude agents --json now includes waitingFor showing what a waiting session is blocked on (e.g., permission prompt)
--tools: explicitly listing Grep/Glob now provides the dedicated search tools on native builds with embedded search (previously these names were silently ignored)
/effort now confirms when your chosen level will persist as the default for new sessions
Clicking a slash command in the autocomplete menu now fills it into your prompt instead of running it immediately; press Enter to run
Remote Control now shows as a persistent footer pill (with a link to the session) instead of a startup message
Renamed Windsurf to Devin Desktop in the /ide menu, /terminal-setup, and /scroll-speed, following the editor's rebrand
Existing feature improvements
Quieter startup: notices group by severity, and session info and announcements share a single line per launch
Startup warnings rewritten to be shorter and clearer, each with a concrete fix
Launch-prompt warnings (deep link/pre-filled prompt) now stay pinned below the input until you act instead of scrolling away
Failed turns now show a compact warning line instead of a multi-line red error block
Improved background service startup and claude update verification to wait out endpoint-security scanning of new binaries instead of failing after 5 seconds
Background dispatch spawn failures now report the error class name when no errno is available
Removed the "Claude in Chrome enabled" and "marketplace installed" startup messages; model auto-updates and the team-onboarding tip now show as quiet notices under the logo
Major bug fixes
Fixed a silent startup hang when the config directory is read-only or unwritable — Claude Code now starts with in-memory config and surfaces startup errors instead of showing a blank screen
Fixed WebFetch permission rules not being applied to built-in preapproved domains; explicit WebFetch(domain:...) deny/ask/allow rules now take precedence over the preapproved-host auto-allow
Fixed Windows permission rules never matching when spelled with backslashes (~\, \\server\share) or case-variant paths, and Read deny rules not hiding files from Glob/Grep results
Fixed an interrupt (Esc) sent at the very start of a turn being silently dropped in stream-json/SDK sessions, leaving the turn running with no "Interrupted" feedback
Fixed API 400 no low surrogate in string errors for classifier side-queries and MCP server descriptions containing emoji near a truncation boundary
Fixed MCP per-server timeout config values below 1000 ms being floored to a 1-second watchdog that aborted every tool call; sub-1000 ms values are now ignored (falling back to MCP_TOOL_TIMEOUT or default)
Fixed the LSP tool's workspaceSymbol operation returning no results; it now accepts a query parameter and passes it to the language server
Fixed claude agents cutting live status text (tool args, replies, prompts, exec output) at 60–120 columns on wide terminals; the status detail now uses the full terminal width
Fixed claude agents truncating long session names at 40 columns; the name column now grows with terminal width
Fixed claude agents attach occasionally bouncing straight back to the session list on the first try after a background-service restart
Fixed claude agents Ctrl+V image paste doing nothing in the dispatch input and the session reply box; pasting with no image now shows a hint
Fixed backgrounding a session with ← silently losing the conversation when the background service cannot start; the session stays in the list as a failed row you can wake with Enter
Fixed replies from the agents view that fail to send being lost; they are now queued for delivery on the next session start
Fixed cross-session messaging (SendMessage) silently breaking when CLAUDE_CODE_TMPDIR or $TMPDIR points at a deep directory
Fixed opening a running background session from claude agents stalling for 5 seconds before attaching
The agent key in applyFlagSettings() now takes effect on the next turn (not a no-op mid-session); switching agent mid-session also applies that agent's model override, hooks, and system prompt. [line 524] [Source]
When a client sends initialize to an already-running session, the control-response wrapper now carries an optional pending_permission_requests array for in-flight permission prompts that arrived before the client connected. [line 583] [Source]
New SDKCommandsChangedMessage type (system/commands_changed subtype) documented — emitted when the set of available commands changes mid-session.
New 'overloaded' error value added to SDKAssistantMessageError (HTTP 529 server capacity, distinct from 'rate_limit' which is HTTP 429). [line 972] [Source]
From v2.1.161, when a session runs two or more parallel work items (subagents, background shell commands, monitors), a done/total count appears before the summary text in each row. [line 123] [Source]
The peek panel now shows the longest-running parallel work item and its duration, so you can see what the session is waiting on without attaching. [line 144] [Source]
/branch and /fork are now distinct commands: /branch creates a copy of the conversation you switch into; /fork spawns a background subagent that inherits conversation context while you keep going. Before v2.1.161, /fork was an alias for /branch. [lines 36-60] [Source]
New "When your context fills up" section added, covering /compact with focus, clearing between tasks, delegating large reads to subagents, and the 1M token context window available on Opus 4.6+ and Sonnet 4.6. [lines 87-96] [Source]
CLAUDE_CODE_ENABLE_AUTO_MODE now requires Claude Code v2.1.158 or later (version requirement added). [line 166] [Source]
CLAUDE_CODE_FORK_SUBAGENT behavior clarified: it makes forks the model's default spawn behavior; the /fork command now works independently without this variable. [line 181] [Source]
New OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES environment variable (v2.1.161): controls whether OTEL_RESOURCE_ATTRIBUTES keys are attached as metric datapoint labels (default: true). [line 313] [Source]
Fast mode cache invalidation clarified: the cost applies only once per conversation; toggling fast mode off and back on does not repeat the cost; automatic fallback to standard speed after rate limits also preserves the cache.
From v2.1.161, unused connectors (never signed in to) are collapsed behind a "Show unused connectors" row in the claude.ai section of the MCP panel, preventing long organization-provisioned lists from filling the panel. [line 733] [Source]
New OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES variable documented; OTEL_RESOURCE_ATTRIBUTES custom keys are now attached to metric datapoints directly (not just the OTLP resource block), enabling grouping/filtering in metrics backends, with a high-cardinality warning.
The .claude protected directory exception is now narrowed to only .claude/worktrees; previously .claude/commands, .claude/agents, and .claude/skills were also listed as exceptions. [line 284] [Source]
New "Turning on fast mode" section explains cache invalidation mechanics: enabling fast mode invalidates the cache once per conversation; subsequent toggles and rate-limit fallbacks preserve the cache. Requires v2.1.86 or later for persistent header behavior. [lines 62-65] [Source]
forceLoginMethod clarified: third-party provider sessions (Bedrock, Vertex, Foundry) are NOT blocked by this setting; only ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, and apiKeyHelper sessions are blocked. [line 197] [Source]
workflowKeywordTriggerEnabled versioned: added in v2.1.157; the trigger keyword was workflow before v2.1.160. [line 244] [Source]
The git marketplace source type now documented to work with any git hosting service, including self-hosted GitLab and Bitbucket. [line 654] [Source]
/fork command is now enabled by default from v2.1.161; CLAUDE_CODE_FORK_SUBAGENT only controls whether forks are the model's default spawn behavior (not whether /fork is available).
New entry for garbled or corrupted text in VS Code, Cursor, or Devin Desktop integrated terminals: fix is to disable GPU acceleration via /terminal-setup or by setting terminal.integrated.gpuAcceleration to "off". [line 52] [Source]
Over 70 new remote MCP server integrations added, including Google Workspace (Calendar, Drive, Gmail), Spotify, Shopify, Uber/Uber Eats, Expedia, Booking.com, Datadog, Sourcegraph, Wolfram, SurveyMonkey, Todoist, Ramp, and many more. [line 263] [Source]
New integrations in the first-listed section: Fathom, Klarity, Lawve AI, Otter.ai, Peec AI, Read AI, and Scite. [lines 263-391] [Source]
Comprehensive C# SDK reference added for all session event types, including BetaManagedAgentsUserMessageEvent, BetaManagedAgentsAgentCustomToolUseEvent, BetaManagedAgentsAgentThinkingEvent, BetaManagedAgentsAgentMcpToolUseEvent, BetaManagedAgentsSessionErrorEvent, and others.
New types filter parameter documented for filtering session events by type (e.g., user.message, agent.tool_use).
New MAX_CONCURRENT / MAX_TOTAL_SUBTASKS split: the two parameters now separate how many subagents run at once from how many the model may queue per Workflow call. [line 17] [Source]
New "Journal results so reruns resume" section: content-addressed journaling with SHA-256 keys makes fan-outs idempotent — interrupted runs recompute only unfinished subtasks on restart. [line 266] [Source]
New adversarial verification wave: after the first fan-out wave completes, a second wave re-derives each result and defaults to "refuted" when uncertain, returning both the original result and its verdict to the orchestrator. [line 311] [Source]
New "Toward a production harness" section outlines what a real-world harness would add: sandboxed orchestration scripts, durable journaling, and per-session budget enforcement.
Claude Platform on AWS authentication clarified: workers can now authenticate with either AWS IAM (SigV4) or an API key generated in the AWS Console (not just SigV4). [line 52] [Source]