---
title: "Claude Code v2.1.229 Released: Remote Control Resume, SSE Keepalive, and Stability Fixes"
source: "Claude Code：GitHub Releases（RSS）"
source_tier: "t1_5"
url: "https://github.com/anthropics/claude-code/releases/tag/v2.1.229"
permalink: "https://feed.astralor.com/items/itm_8743e98efd1fdee7b9e1576c"
published: "2026-08-12T20:56:22.000Z"
score: 79
channel: "ai"
tags: ["Anthropic","Claude Code","MCP","OpenTelemetry","Remote Control","VSCode"]
---

# Claude Code v2.1.229 Released: Remote Control Resume, SSE Keepalive, and Stability Fixes

## AI commentary

> If your team runs Claude Code on self-hosted runners or Remote Control, this upgrade is worth applying immediately—the keepalive and hook alignment address real production pain points around disconnects and inconsistent behavior. Individual users shouldn't skip it either, since the crash fixes and `/commit-push-pr` auto-approval tightening directly affect daily safety.

## At a glance

Claude Code v2.1.229 introduces `claude remote-control --continue` for resuming the latest Remote Control session, and adds server-supplied hook support for self-hosted runners to match managed environments. Gateway streams now emit SSE keepalive pings during long thinking pauses to prevent idle disconnects from Vertex and Bedrock. The release also adds plugin marketplace command sources, marks disconnected remote sessions as offline, and fixes issues including truncated/duplicated streaming output, narrow-terminal rendering crashes, Windows extended-length path crashes, MCP OAuth redirects, and auto-mode failures when attribution headers are disabled. Security-conscious changes also stop `/commit-push-pr` from auto-approving dangerous git commands.

## Key points

- `claude remote-control --continue` resumes the most recent Remote Control session, and self-hosted runner sessions now support server-supplied hooks.
- Gateway streams send SSE keepalive pings during long thinking pauses, preventing idle-timeout disconnects from Vertex/Bedrock.
- Plugin marketplaces can use a local command to print the plugin directory, re-resolved per session and applied without restart; disconnected remote sessions are marked offline.
- Multiple crashes and compatibility issues are fixed, and `/commit-push-pr` no longer auto-approves dangerous git/gh flags such as --force and --amend.

## Full text

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 runner Windows startup to require an explicit --base-dir; there is no default checkout directory on Windows [VSCode] "Report a problem" and /bug now open the built-in feedback dialog instead of a retired survey link [VSCode] Made the /btw side-question panel resizable by dragging its boundary, in both side-docked and stacked layouts [VSCode] Added session groups in the sidebar — right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once

---

Verify against the original before citing; curated by Astral Feed: https://feed.astralor.com/items/itm_8743e98efd1fdee7b9e1576c
