Change8

v2.1.81

Claude Code
2 features18 fixes8 improvementsbedrockclihooksmcpvertexvscode

Summary

This release introduces a new --bare flag for scripted calls and enables channel servers to relay tool approval prompts directly to your phone. Several critical bugs were fixed, including issues with OAuth token refreshing across concurrent sessions, voice mode error handling, and various race conditions affecting background tasks and clipboard operations. Performance and UX have also been improved, particularly around plugin updates and Remote Control session management.

New Features

  • Added the --bare flag for scripted -p calls, which skips hooks, LSP, plugin sync, and skill directory walks for faster execution.
  • Introduced --channels permission relay, allowing channel servers that declare capability to forward tool approval prompts directly to your phone.

Bug Fixes

  • Fixed multiple concurrent Claude Code sessions requiring repeated re-authentication when one session refreshed its OAuth token.
  • Fixed voice mode silently swallowing retry failures and showing a misleading "check your network" message instead of the actual error.
  • Fixed voice mode audio not recovering when the server silently drops the WebSocket connection.
  • Fixed structured-outputs beta header causing 400 errors on proxy gateways by ensuring CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS correctly suppresses it.
  • Fixed --channels bypass issue for Team/Enterprise organizations lacking other managed settings.
  • Fixed a crash occurring specifically on Node.js 18 environments.
  • Fixed unnecessary permission prompts appearing for Bash commands containing dashes within strings.
  • Fixed plugin hooks blocking prompt submission when the plugin directory was deleted during an active session.
  • Fixed a race condition where background agent task output could hang indefinitely if the task completed between polling intervals.
  • Fixed resuming a session in a worktree now correctly switches the user back to that worktree.
  • Fixed /btw command not including pasted text when used during an active response.
  • Fixed a race condition where fast Cmd+Tab followed by paste could fail due to clipboard copy timing under tmux.
  • Fixed terminal tab title not updating correctly with an auto-generated session description.
  • Fixed invisible hook attachments inflating the message count when viewing transcripts.
  • Fixed Remote Control sessions showing a generic title instead of deriving the title from the first prompt.
  • Fixed /rename command not reliably syncing the title for Remote Control sessions.
  • Fixed Remote Control /exit command not reliably archiving the session.
  • Fixed Windows PATH inheritance issue for the Bash tool when using Git Bash within VSCode (a regression from v2.1.78).

Improvements

  • Resuming a session that was in a worktree now switches back to that worktree.
  • Improved MCP read/search tool calls to collapse output into a single "Queried {server}" line (expandable via Ctrl+O).
  • Improved '!' bash mode discoverability by having Claude suggest it when an interactive command is needed.
  • Improved plugin freshness by ensuring ref-tracked plugins re-clone on every load to pick up upstream changes.
  • Improved Remote Control session titles to refresh automatically after your third message.
  • Updated MCP OAuth to support Client ID Metadata Document (CIMD / SEP-991) for servers lacking Dynamic Client Registration.
  • Changed plan mode to hide the "clear context" option by default (can be restored via configuration).
  • Disabled line-by-line response streaming on Windows (including WSL in Windows Terminal) due to observed rendering issues.

Claude Code Documentation

Claude Code v2.1.81 - What's New - Change8