Release notes

Claude Code 2.1.81

· 2 new· 17 fixed

This release introduces a --bare flag for faster, script-friendly operations and a --channels relay for mobile tool approval prompts. Key fixes improve concurrent session authentication, voice mode reliability, and resolve a Node.js 18 crash. Other enhancements cover structured output beta headers, plugin management, and Bash command discoverability for a more robust and efficient experience.

Added2

  • Added `--bare` flag for scripted `-p` calls — skips hooks, LSP, plugin sync, and skill directory walks; requires `ANTHROPIC_API_KEY` or an `apiKeyHelper` via `--settings` (OAuth and keychain auth disabled); auto-memory fully disabled
  • Added `--channels` permission relay — channel servers that declare the permission capability can forward tool approval prompts to your phone

Improved4

  • Improved MCP read/search tool calls to collapse into a single "Queried {server}" line (expand with Ctrl+O)
  • Improved `!` bash mode discoverability — Claude now suggests it when you need to run an interactive command
  • Improved plugin freshness — ref-tracked plugins now re-clone on every load to pick up upstream changes
  • Improved Remote Control session titles to refresh after your third message

Changed4

  • Resuming a session that was in a worktree now switches back to that worktree
  • Updated MCP OAuth to support Client ID Metadata Document (CIMD / SEP-991) for servers without Dynamic Client Registration
  • Changed plan mode to hide the "clear context" option by default (restore with `"showClearContextOnPlanAccept": true`)
  • Disabled line-by-line response streaming on Windows (including WSL in Windows Terminal) due to rendering issues

Fixed17

  • Fixed multiple concurrent Claude Code sessions requiring repeated re-authentication when one session refreshes 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 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` not suppressing the structured-outputs beta header, causing 400 errors on proxy gateways forwarding to Vertex/Bedrock
  • Fixed `--channels` bypass for Team/Enterprise orgs with no other managed settings configured
  • Fixed a crash on Node.js 18
  • Fixed unnecessary permission prompts for Bash commands containing dashes in strings
  • Fixed plugin hooks blocking prompt submission when the plugin directory is deleted mid-session
  • Fixed a race condition where background agent task output could hang indefinitely when the task completed between polling intervals
  • Fixed `/btw` not including pasted text when used during an active response
  • Fixed a race where fast Cmd+Tab followed by paste could beat the clipboard copy under tmux
  • Fixed terminal tab title not updating with an auto-generated session description
  • Fixed invisible hook attachments inflating the message count in transcript mode
  • Fixed Remote Control sessions showing a generic title instead of deriving from the first prompt
  • Fixed `/rename` not syncing the title for Remote Control sessions
  • Fixed Remote Control `/exit` not reliably archiving the session
  • vscodeFixed Windows PATH inheritance for Bash tool when using Git Bash (regression in v2.1.78)

Never miss a Claude Code release.

Get a push notification the moment the next version ships.

Get Claude Drops

New to the changelog? Read our guide to reading the Claude Code changelog or browse all releases.