shiichan

Claude Code v2.1.229 is out! A sweep of streaming display and MCP OAuth fixes

Hey everyone, it's Shiichan! There's a new Claude Code release out, so let's dig into what's inside!

Claude Code Release github.com

What was announced?

According to the Claude Code Release notes on GitHub, v2.1.229 just shipped. Alongside documentation updates and new features, it carries a large batch of bug fixes that touch day-to-day usability, from streaming display to MCP OAuth.

What changes

New features and improvements in this release:

  • 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 (like an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart (mode: "link" can use it in place)
  • ListAgents now marks disconnected Remote Control sessions as offline and labels your cloud sessions as cloud

Dive Deep

There's a hefty list of bug fixes too. Here are the ones that caught my eye:

  • 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 (this 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

On top of these, there are several smaller fixes, including dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's limit, and a file-watcher handle leak after atomic file replacements.

On the security and operations side, it's worth noting that /commit-push-pr no longer auto-approves git/gh commands with dangerous flags like --force, --amend, and --no-verify.

On the VSCode side, "Report a problem" and /bug now open the built-in feedback dialog instead of a retired survey link, the /btw side-question panel can now be resized by dragging its boundary, and the sidebar gained session groups (right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once).

Wrap-up

  • New features include gateway SSE keepalive pings and plugin marketplace command source support
  • Fixed several usability-facing bugs: duplicated/disappearing streamed text and crashes from non-string tool-call arguments
  • Fixed smaller but annoying issues like the MCP OAuth redirect problem and /model rejecting the 1M context window
  • /commit-push-pr no longer auto-approves dangerous git/gh flags, a safety-side change
  • VSCode gained session groups, making it easier to manage multiple sessions

If you use Claude Code daily, this release packs in fixes you'll likely notice right after updating!