Claude Code v2.1.212 Puts the Brakes on Runaway Loops!
Hey everyone, it's me! A new Claude Code release just dropped, so let me walk you through it!
Claude Code ReleaseWhat was announced?
Claude Code Release published the latest version of the Claude Code CLI, v2.1.212. The GitHub Releases page is packed with new features, improvements, and bug fixes. This one has a lot of entries — everything from command behavior tweaks to background session handling, hook reliability, and OpenTelemetry integration.
The story so far
Until now, /fork would spin up an in-session subagent whenever you branched a conversation, and there was no cap on how many times WebSearch or subagents could be called. Long-running MCP tool calls could block a session for a while, /resume couldn't bring back deleted sessions, and a SIGTERM during a Bash tool run could leave an orphaned process tree behind.
What changes
Here's what I'm most excited about in this release!
/forknow copies your conversation into a new background session (its own row inclaude agents) while you keep working — the forked conversation runs in the background- The old "launch an in-session subagent" behavior is now called
/subtask - A new
claude auto-mode resetcommand restores the default auto-mode configuration, with a confirmation prompt (pass--yesto skip it) - WebSearch tool calls now have a session-wide limit (200 by default), tunable via
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION, to stop runaway search loops - Subagent spawns now have a per-session cap too (200 by default), overridable with
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION;/clearresets the budget - MCP tool calls running longer than 2 minutes now move to the background automatically, with the threshold configurable (or disable-able) via
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS - Typing
/resumenow opens a picker of past sessions — including sessions deleted from the list — and resumes your pick as a background session
Dive Deep
There's also a hefty pile of bug fixes worth knowing about. Here are the ones that stood out for safety and reliability.
- Fixed plan mode auto-running file-modifying Bash commands (like
touchorrm) without a permission prompt or SDKcanUseToolcallback - Fixed worktree creation following a repository-committed symlink at
.claude/worktrees, which could create files outside the repository - Fixed a
continue: falsehook's halt being dropped when the tool fails or completes mid-stream, and hook infrastructure errors being misreported as user rejections - Fixed SIGTERM during a running Bash tool orphaning the command's process tree in Print/SDK mode (the CLI now aborts the turn, kills the tree, and exits with code 143)
- Fixed
/backgroundandclaude --bgfailing on Windows with "EUNKNOWN: unknown error, uv_spawn" (the daemon now prefers PowerShell 7 when PowerShell 5.1 is blocked) - Fixed OpenTelemetry HTTP export being rejected with 411/400 by collectors like Azure Monitor that don't accept chunked transfer encoding
- Fixed conversations with many images incorrectly failing with a "Request too large" error, with a clearer error message explaining the actual cause
There's more steady reliability work too: web search and web fetch no longer return the literal string "API Error" as search results or page content when the API is overloaded, 529 errors and rate-limited requests now retry with bounded backoff, and prompt caching for mid-conversation system blocks now works across Bedrock, Vertex, and 1P gateways.
Wrap-up
/forknow creates a background session instead of an in-session subagent; the old behavior lives on as/subtask- WebSearch and subagent spawning now have configurable call limits to stop runaway loops
- Automatic backgrounding of long MCP calls and a
/resumepicker that includes deleted sessions both improve day-to-day usability - Several safety fixes landed too, including a Plan mode permission bypass and a worktree symlink escape
If you use Claude Code heavily, this is one of those releases full of unglamorous fixes that quietly keep you from stepping on landmines!