# Claude Code v2.1.229 - Product: Claude Code (https://whatsnew.fyi/product/claude-code) - Vendor: Anthropic - Date: 2026-08-12 - Version: v2.1.229 - Original notes: https://github.com/anthropics/claude-code/releases/tag/v2.1.229 - Permalink: https://whatsnew.fyi/product/claude-code/releases/v2.1.229 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Documented `claude remote-control --continue` for resuming the most recent Remote Control session - **added** — Added server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior - **added** — Added SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams - **added** — Added plugin marketplace `command` sources: a local command (e.g. an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart; `mode: "link"` uses it in place - **changed** — `ListAgents` now marks disconnected Remote Control sessions as `offline` and labels your cloud sessions as `cloud` - **fixed** — Fixed long responses partly disappearing while streaming and being printed twice in the terminal - **fixed** — Fixed a crash to the error screen (including on `--resume` of the affected session) when a tool call had a non-string `glob`, `file_path`, or `command` value - **fixed** — Fixed a RangeError crash when a progress bar or markdown table rendered in a very narrow terminal window (could also crash `claude --continue`/`--resume` at startup) - **fixed** — Fixed a crash on Windows when a tool call or message referenced a file by an extended-length (`\\?\`) or UNC path - **fixed** — Fixed auto mode failing on every tool call for users who disable the attribution header via `CLAUDE_CODE_ATTRIBUTION_HEADER` (direct Anthropic API connections) - **fixed** — Fixed `/model` rejecting Sonnet/Opus 1M for claude.ai subscribers using a custom `ANTHROPIC_BASE_URL` gateway - **fixed** — Fixed MCP OAuth with strict authorization servers by using `127.0.0.1` instead of `localhost` in the redirect URI - **fixed** — Fixed Remote Control clients showing a stuck working spinner after a slash command typed in the laptop terminal - **fixed** — Fixed the Claude Code Review workflow generated by `/install-github-app` completing without posting its review on the pull request - **fixed** — Fixed multi-second UI stalls after editing a file with thousands of IDE diagnostics while the IDE extension is connected - **fixed** — Fixed one-shot `claude plugin` commands leaving a stray liveness file that could prevent cleanup of outdated plugin versions - **fixed** — Fixed dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's CPU limit - **fixed** — Fixed a file-watcher handle leak after atomic file replacements, and an uncaught error on Windows when the scheduled-tasks watcher failed on a network or virtual filesystem - **fixed** — Fixed SDK and `--input-format stream-json` sessions getting a 400 API error when a whitespace-only message was submitted ##### What's changed - Documented `claude remote-control --continue` for resuming the most recent Remote Control session - Added server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior - Added SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams - Added plugin marketplace `command` sources: a local command (e.g. an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart; `mode: "link"` uses it in place - `ListAgents` now marks disconnected Remote Control sessions as `offline` and labels your cloud sessions as `cloud` - Fixed long responses partly disappearing while streaming and being printed twice in the terminal - Fixed a crash to the error screen (including on `--resume` of the affected session) when a tool call had a non-string `glob`, `file_path`, or `command` value - Fixed a RangeError crash when a progress bar or markdown table rendered in a very narrow terminal window (could also crash `claude --continue`/`--resume` at startup) - Fixed a crash on Windows when a tool call or message referenced a file by an extended-length (`\\?\`) or UNC path - Fixed auto mode failing on every tool call for users who disable the attribution header via `CLAUDE_CODE_ATTRIBUTION_HEADER` (direct Anthropic API connections) - Fixed `/model` rejecting Sonnet/Opus 1M for claude.ai subscribers using a custom `ANTHROPIC_BASE_URL` gateway - Fixed MCP OAuth with strict authorization servers by using `127.0.0.1` instead of `localhost` in the redirect URI - Fixed Remote Control clients showing a stuck working spinner after a slash command typed in the laptop terminal - Fixed the Claude Code Review workflow generated by `/install-github-app` completing without posting its review on the pull request - Fixed multi-second UI stalls after editing a file with thousands of IDE diagnostics while the IDE extension is connected - Fixed one-shot `claude plugin` commands leaving a stray liveness file that could prevent cleanup of outdated plugin versions - Fixed dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's CPU limit - Fixed a file-watcher handle leak after atomic file replacements, and an uncaught error on Windows when the scheduled-tasks watcher failed on a network or virtual filesystem - Fixed SDK and `--input-format stream-json` sessions getting a 400 API error when a whitespace-only message was submitted - Fixed conversations whose messages alone exceed the API's 32 MB request limit retrying compaction when no images or documents can be stripped; they now fail once with a clear message - Fixed OpenTelemetry export from Claude Desktop sessions being rejected by the Desktop-managed gateway when that gateway is also the telemetry endpoint - Fixed self-hosted runner and other remote sessions exiting at startup when `managed-mcp.json` is deployed and the server delivers MCP servers; those servers are now skipped with a warning - Fixed self-hosted runner repository preparation hanging on a Git Credential Manager prompt; git now fails fast when credentials are missing - Improved workflow fan-outs to stagger same-prefix sibling agents so subsequent agents read the cached prompt prefix instead of re-paying it (`CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0` disables) - Improved "prompt is too long" errors to explain why automatic compaction could not recover instead of only suggesting `/compact` - Improved sandbox: IPv6 literals in network domain lists are now bracketed (`[::1]:443`), and ambiguous spellings are enforced fail-closed and flagged by `/doctor` - Updated `/login` to repeat the `CLAUDE_CODE_OAUTH_TOKEN` override warning after a successful login - Changed `/commit-push-pr` so git/gh commands with dangerous flags (`--force`, `--amend`, `--no-verify`, etc.) are no longer auto-approved - Changed self-hosted r _[Truncated at 4000 characters — full notes: https://github.com/anthropics/claude-code/releases/tag/v2.1.229]_