What changed
Claude Code 2.1.199 was released on July 2, 2026. It loads all leading skills when several are stacked in one invocation and retries transient server errors unrelated to your usage limit. Fixes span SSL certificate handling, streaming partial responses, and error reporting from background agents and subagents.
Key improvements
-
Stacked slash-skill invocations
Stacking skills in one line like
/skill-a /skill-b do XYZonly loaded the first skill. It now loads all the leading skills (up to 5). -
Automatic retry for transient server rate limits
Server 429s unrelated to your usage limit failed the turn. Transient rate-limit errors are now retried automatically with backoff for subscribers.
Bug fixes
Network and retries
- SSL certificate errors burning retries before showing actionable guidance — errors from TLS-inspecting proxies, a missing
NODE_EXTRA_CA_CERTS, or expired certs now fail immediately with the fix hint. - 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.
Background tasks and subagents
- 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.
- 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 stopbeing silently undone when it raced a background-agent respawn — the respawn now honors the stop.- 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.
- 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.
SendMessagesilently misrouting when a re-spawned agent reuses a previous agent’s name — the tool now detects the mismatch and asks the caller to retarget.
Commands and config
- Typing
/modelor/fastwhile viewing a subagent silently opening the lead’s model picker — a notice now explains the command applies to the lead. SessionStart,Setup, andSubagentStarthooks silently hiding stderr when exiting with code 2 — the error is now shown in the transcript.claude --dangerously-skip-permissions daemon <subcommand>being treated as a chat prompt instead of running the subcommand — fixed.- Opening or resuming a session with no new messages needlessly growing the transcript file — fixed.
- Resetting a corrupted config file from the startup recovery dialog destroying it unrecoverably — it now backs up the file first.
UI and browser
- Backgrounding a session with
←or/backgrounddropping its/colorfrom the agent view row — fixed. - Claude in Chrome repeatedly opening the reconnect page when sessions run from different builds or config directories — fixed.
- Plan mode not prompting for state-changing browser tool calls — read-only
browser_batchcalls are now correctly auto-allowed.
Notes
CLAUDE_CODE_RETRY_WATCHDOG— raises the default retry count for non-capacity transient errors to 300 and lifts the cap of 15 onCLAUDE_CODE_MAX_RETRIES.- Which agent a command applies to — typing
/modelor/fastwhile viewing a subagent applies to the lead agent. claude agentsPR link display — session rows now show pull-request links as bare#Nwithout the redundant “PR” label.