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
Existing feature improvements
MCP read/search tool calls now collapse into a single "Queried {server}" line (expandable with Ctrl+O)
! bash mode is now more discoverable — Claude suggests it when you need to run an interactive command
Plugin freshness improved — ref-tracked plugins now re-clone on every load to pick up upstream changes
Remote Control session titles now refresh after your third message
MCP OAuth updated to support Client ID Metadata Document (CIMD / SEP-991) for servers without Dynamic Client Registration
Plan mode now hides the "clear context" option by default (restore with "showClearContextOnPlanAccept": true)
Major bug fixes
Fixed multiple concurrent Claude Code sessions requiring repeated re-authentication when one session refreshes its OAuth token
Fixed CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS not suppressing the structured-outputs beta header, causing 400 errors on proxy gateways forwarding to Vertex/Bedrock
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 voice mode silently swallowing retry failures and showing a misleading "check your network" message
Fixed voice mode audio not recovering when the server silently drops the WebSocket connection
Fixed --channels bypass for Team/Enterprise orgs with no other managed settings configured
Fixed a crash on Node.js 18
Resuming a session that was in a worktree now switches back to that worktree
Fixed Remote Control /exit not reliably archiving the session
[VSCode] Fixed Windows PATH inheritance for Bash tool when using Git Bash (regression in v2.1.78)
Added a new "How channels compare" section with a table comparing Channels to web sessions, Slack integration, standard MCP servers, and Remote Control. [lines 332-347] [Source]
Clarification that the --channels flag also serves as a permission relay. Added to the intro paragraph. [line 3] [Source]
Telegram and Discord token config files are now saved to ~/.claude/channels/<name>/.env (user-level), not .claude/channels/<name>/.env in the project. [lines 65, 178]
Added troubleshooting tip: if a plugin is not found, run /plugin marketplace add anthropics/claude-plugins-official first. [lines 47, 160, 256]
Clarified that the MCP config location is no longer specifically .mcp.json — references updated to "your MCP config" and note that user-level config lives in ~/.claude.json. [lines 122, 140, 158]
Updated --channels flag description to note it is a research preview, requires Claude.ai authentication, and clarified what the argument format accepts. [line 33] [Source]
Admin settings descriptions updated: "Enable or disable the Code tab" renamed to "Code in the desktop"; "Disable Claude Code on the web" replaced with separate "Code in the web" and "Remote Control" toggles. [lines 412-415] [Source]
Removed the allow_remote_sessions managed settings key. Access to Remote Control and web sessions is now controlled via the admin UI at claude.ai/admin-settings/claude-code, not a settings key. [line 236] [Source]
Improved "Remote Control is disabled" troubleshooting: recommends running /status first, and clarifies that the Team/Enterprise admin toggle is a server-side org setting, not a managed settings key. [lines 161-164] [Source]
Added clarification that . in allowRead resolves relative to where the settings file lives (project root for project settings, ~/.claude for user settings). [lines 165-167] [Source]
Documented that server-managed settings now support hooks and environment variables in addition to standard settings. Added a hooks configuration example that runs an org-wide audit script after every file edit. [lines 36, 58-83]
Added autoConnectIde global config setting: automatically connect to a running IDE when Claude Code starts from an external terminal. [line 197] [Source]
Added autoInstallIdeExtension global config setting: automatically install the Claude Code IDE extension when running from a VS Code terminal. [line 198] [Source]
Added settings as an inline marketplace source type for extraKnownMarketplaces, allowing small plugin sets to be declared directly in settings.json without a separate hosted repository. [lines 635-668] [Source]
Added effort field to skill frontmatter: overrides the session effort level for this skill. Options: low, medium, high, max (Opus 4.6 only). [line 229] [Source]
Added rate_limits fields to the status line JSON schema: rate_limits.five_hour.used_percentage, rate_limits.five_hour.resets_at, rate_limits.seven_day.used_percentage, and rate_limits.seven_day.resets_at. Only present for Claude.ai Pro/Max subscribers after the first API response. [lines 183-185] [Source]
Added example Bash script showing how to display 5-hour and 7-day rate limit usage alongside the model name, with graceful handling when rate_limits is absent. [lines 523-561] [Source]
Clarified tools vs disallowedTools with separate examples: tools is an exclusive allowlist, disallowedTools removes specific tools while inheriting the rest. Added rule that when both are set, disallowedTools is applied first. [lines 269-304] [Source]
Added "(GA)" availability status labels to all generally available features in the capabilities, tools, and context management tables (e.g., "Claude API" → "Claude API (GA)"). [lines 33-95] [Source]