Claude Code v2.1.199: Stacked Skill Invocations and Major Reliability Fixes for Subagents and Background Agents
Claude Code v2.1.199 lets stacked slash-skill invocations load multiple skills, adds automatic retry for transient rate-limit errors, and delivers extensive reliability fixes for subagents, background agents, and streaming responses.
The Claude Code development team has released version 2.1.199, a reliability-focused update headlined by support for stacked slash-skill invocations. The release also delivers a large batch of fixes for subagent error handling, background agent stability on Linux and macOS, streaming response recovery, and smarter retry behavior for transient server errors.
What’s New
Stacked Slash-Skill Invocations
Stacked slash-skill invocations like /skill-a /skill-b do XYZ now load all leading skills (up to 5), not just the first. This makes it easy to combine multiple skills in a single prompt.
Smarter Error Handling and Retries
- SSL certificate errors (TLS-inspecting proxies, missing
NODE_EXTRA_CA_CERTS, expired certs) no longer burn retries before showing actionable guidance — they now fail immediately with the fix hint - Streaming responses are no longer discarded when the API emits a mid-stream overloaded/server error after partial output — the partial is now kept with an incomplete-response notice
- 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_WATCHDOGnow raises the default retry count for non-capacity transient errors to 300 and lifts the cap of 15 onCLAUDE_CODE_MAX_RETRIES
Subagent Reliability
- Subagents cut off by a rate limit or server error no longer silently fail — they now return their partial work to the parent
- Subagents reporting API errors (e.g. usage limit reached) are no longer treated as successful results — the error is now reported to the parent agent
SendMessagenow detects when a re-spawned agent reuses a previous agent’s name and asks the caller to retarget instead of silently misrouting- Idle subagents no longer vanish from the agent panel while other subagents are still working; surplus idle agents now collapse into an expandable summary row
- Typing
/modelor/fastwhile viewing a subagent no longer silently opens the lead’s model picker — a notice now explains the command applies to the lead
Background Agent Stability
- 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” (a regression in 2.1.196)
- Fixed
claude stopbeing 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
- Background sessions on memory-starved machines now indicate low memory and suggest freeing resources instead of showing a generic error
- Fixed remote sessions briefly flapping between Working and Idle in the agent view when a background agent completes
Additional Fixes
SessionStart,Setup, andSubagentStarthooks no longer silently hide stderr when exiting with code 2 — the error is now shown in the transcriptclaude --dangerously-skip-permissions daemon <subcommand>is no longer treated as a chat prompt instead of running the subcommand- Opening or resuming a session with no new messages no longer needlessly grows the transcript file
- Backgrounding a session with
←or/backgroundno longer drops its/colorfrom the agent view row - Resetting a corrupted config file from the startup recovery dialog now backs up the file first instead of destroying it unrecoverably
- Fixed Claude in Chrome repeatedly opening the reconnect page when sessions run from different builds or config directories
- Plan mode now prompts for state-changing browser tool calls, and read-only
browser_batchcalls are now correctly auto-allowed claude agentssession rows now show pull-request links as bare#Nwithout the redundant “PR” label
How to Update
To update to Claude Code v2.1.199:
- Check your current version:
claude --version - Update using your preferred method:
- Package manager: Follow your distribution’s update process
- Direct download: Visit the release page for platform-specific binaries
- Restart any active background sessions to benefit from the daemon and stability fixes
- If you use aggressive retry settings, review
CLAUDE_CODE_RETRY_WATCHDOGandCLAUDE_CODE_MAX_RETRIESfor the new behavior