Release notes

BUGFIX

Network hiccups and rate limits no longer kill tasks; retries and partial progress kept

The system is now much more resilient against overloaded API servers or minor network blips. Previously, if the server errored out mid-sentence, everything Claude had already streamed would vanish; now it saves that partial output with an "incomplete" notice. If you get temporarily blocked by a rate limit (a mechanism preventing too many rapid requests), the system will automatically retry with a delay instead of instantly failing your turn, and the retry cap has been significantly raised. If a subagent is cut off, it no longer lies about "success" but honestly reports the error or hands its partial work back to the parent agent. For hard connection errors like SSL certificate issues, it won't pointlessly burn through retries but will fail immediately and tell you exactly how to fix it. It's like a long-distance phone call: a burst of static used to drop the call and erase everything you just said; now it remembers what it heard and automatically redials for you.

BUGFIX

Background agents and connections debugged: No more infinite loops or offline errors

Background tasks are now vastly more robust. Previously on Linux, if the system shut down uncleanly, corrupted leftover records would cause the background program to commit suicide every 50 seconds, taking all running tasks down with it. On Macs, background agents frequently failed to start over an SSH connection, and if you explicitly told a task to stop, the system would sometimes stubbornly auto-restart it right back up. These bizarre behaviors are now fixed. If your computer is starved for memory, tasks won't spit out a cryptic error anymore; they'll explicitly tell you to free up resources. Also, running Claude in different folders will no longer cause the Chrome extension to spam you with reconnect pages. It's like a company's timeclock system that used to trigger a building-wide blackout every minute if someone forgot to punch out yesterday; it's finally fixed, and everyone can work in peace.

BUGFIX

UI and operation foolproof: Stacked skills, no bloated transcripts

You can now load up to five slash skills at once, and opening empty sessions no longer bloats your transcript file. You can now stack multiple slash skills in one breath (like /skill-a /skill-b do XYZ) and it will properly load up to the first five, instead of stubbornly ignoring everything after the first. In the agent list, idle subagents now neatly collapse into a summary row instead of vanishing completely out of sight. If you accidentally type a model-switching command while looking at a subagent, it now warns you that this only applies to the main lead agent, rather than silently making unwanted changes. If your configuration file gets corrupted and needs resetting, the system now safely backs it up first instead of mercilessly wiping your old settings. It's like ordering at a cafe: the barista used to only make the first drink if you ordered two at once, but now remembers your whole order, and the register won't print a long blank receipt if you didn't end up buying anything.

Original changelog

Original changelogNetwork hiccups and rate limits no longer kill tasks; retries and partial progress kept
Fixed SSL certificate errors (TLS-inspecting proxies, missing `NODE_EXTRA_CA_CERTS`, expired certs) burning retries before showing actionable guidance — they now fail immediately with the fix hint
Fixed streaming responses being discarded when the API emits a mid-stream overloaded/server error after partial output — the partial is now kept with an incomplete-response notice
Fixed subagents cut off by a rate limit or server error silently failing instead of returning their partial work to the parent
Fixed subagents reporting API errors (e.g. usage limit reached) as successful results — the error is now reported to the parent agent
Transient server rate-limit errors (429s unrelated to your usage limit) are now retried automatically with backoff for subscribers instead of failing the turn
`CLAUDE_CODE_RETRY_WATCHDOG` now raises the default retry count for non-capacity transient errors to 300 and lifts the cap of 15 on `CLAUDE_CODE_MAX_RETRIES`
Original changelogBackground agents and connections debugged: No more infinite loops or offline errors
Fixed the background-agent daemon on Linux killing itself and every running agent every ~50 seconds after an unclean shutdown left a corrupted worker record
Fixed background agents failing to cold-start over SSH on macOS with "Could not switch to audit session" (regression in 2.1.196)
Fixed `claude stop` being silently undone when it raced a background-agent respawn — the respawn now honors the stop
Fixed background job progress indicators stalling for minutes while the job ran long commands
Fixed background sessions on memory-starved machines showing a generic error — they now indicate low memory and suggest freeing resources
Fixed Claude in Chrome repeatedly opening the reconnect page when sessions run from different builds or config directories
Original changelogUI and operation foolproof: Stacked skills, no bloated transcripts
Stacked slash-skill invocations like `/skill-a /skill-b do XYZ` now load all leading skills (up to 5), not just the first
Fixed remote sessions briefly flapping between Working and Idle in the agent view when a background agent completes
Fixed idle subagents vanishing from the agent panel while other subagents were still working; surplus idle agents now collapse into an expandable summary row
Fixed typing `/model` or `/fast` while viewing a subagent silently opening the lead's model picker — a notice now explains the command applies to the lead
Fixed `SessionStart`, `Setup`, and `SubagentStart` hooks silently hiding stderr when exiting with code 2 — the error is now shown in the transcript
Fixed `claude --dangerously-skip-permissions daemon <subcommand>` being treated as a chat prompt instead of running the subcommand
Fixed `SendMessage` silently misrouting when a re-spawned agent reuses a previous agent's name — the tool now detects the mismatch and asks the caller to retarget
Fixed opening or resuming a session with no new messages needlessly growing the transcript file
Fixed backgrounding a session with `←` or `/background` dropping its `/color` from the agent view row
Fixed resetting a corrupted config file from the startup recovery dialog destroying it unrecoverably — it now backs up the file first
Fixed plan mode not prompting for state-changing browser tool calls; read-only `browser_batch` calls are now correctly auto-allowed
`claude agents` session rows now show pull-request links as bare `#N` without the redundant "PR" label