Claude Code 2.1.81: Voice Fixes, MCP Improvements

Voice mode now recovers from silent WebSocket drops and shows real errors. New --bare flag for scripted calls, --channels permission relay, and fixes for OAuth spam, Node.js 18 crash, and Remote Control sessions.

Claude Code 2.1.81: Voice Fixes, MCP Improvements

TL;DR

  • Voice mode now recovers from silent WebSocket drops and shows real errors instead of misleading network messages
  • Added --bare flag for scripted calls and --channels permission relay for phone approvals
  • Fixed OAuth re-authentication spam across concurrent sessions and a Node.js 18 crash

New

  • --bare flag — Skips hooks, LSP, plugin sync, and skill walks for scripted -p calls; requires ANTHROPIC_API_KEY or apiKeyHelper via --settings (OAuth and keychain disabled, auto-memory fully off).
  • --channels permission relay — Channel servers declaring the permission capability can forward tool approval prompts to your phone.
  • MCP OAuth CIMD support — Updated MCP OAuth to support Client ID Metadata Document (CIMD / SEP-991) for servers without Dynamic Client Registration.
  • Bash mode discoverability — Claude now suggests ! bash mode when you need to run an interactive command.
  • Plugin freshness — Ref-tracked plugins now re-clone on every load to pick up upstream changes.

Fixed

  • Voice mode WebSocket recovery — Audio now recovers when the server silently drops the WebSocket connection.
  • Voice mode error reporting — Retry failures no longer show misleading "check your network" messages; actual errors now surface.
  • OAuth re-authentication spam — Multiple concurrent Claude Code sessions no longer require repeated re-authentication when one session refreshes its token.
  • CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS header suppression — Now properly suppresses the structured-outputs beta header, preventing 400 errors on proxy gateways forwarding to Vertex/Bedrock.
  • --channels bypass for Team/Enterprise — Fixed bypass for orgs with no other managed settings configured.
  • Node.js 18 crash — Resolved crash on Node.js 18.
  • Bash permission prompts — Unnecessary prompts for commands containing dashes in strings eliminated.
  • Plugin hook blocking — Plugin hooks no longer block prompt submission when the plugin directory is deleted mid-session.
  • Background agent task hang — Fixed race condition where task output could hang indefinitely between polling intervals.
  • Worktree session resumption — Resuming a session now switches back to its original worktree.
  • /btw pasted text — Now includes pasted text when used during an active response.
  • Tmux clipboard race — Fixed race where fast Cmd+Tab followed by paste could beat the clipboard copy.
  • Terminal tab title — Now updates with auto-generated session descriptions.
  • Transcript mode message count — Invisible hook attachments no longer inflate the count.
  • Remote Control session titles — Now derive from the first prompt instead of showing generic text; refresh after your third message.
  • /rename sync — Now syncs the title for Remote Control sessions.
  • Remote Control /exit — Now reliably archives the session.
  • Windows PATH inheritance — Fixed Git Bash PATH inheritance for Bash tool in VSCode (regression in v2.1.78).

Changed

  • Plan mode "clear context" option — Now hidden by default; restore with "showClearContextOnPlanAccept": true.
  • MCP tool call display — Read/search tool calls now collapse into a single "Queried {server}" line (expand with Ctrl+O).
  • Remote Control session titles — Now refresh after your third message.
  • Line-by-line response streaming — Disabled on Windows (including WSL in Windows Terminal) due to rendering issues.

Update Claude Code via your extension marketplace or check the full changelog.

Source: Claude Code