Claude docs changes for March 21st, 2026 [diff]

Executive Summary

  • Claude Code 2.1.81 adds a --bare flag for streamlined scripted use and a --channels permission relay to forward tool approval prompts to your phone
  • Rate limit usage (5-hour and 7-day windows) is now exposed in the status line for Pro/Max subscribers
  • Server-managed settings now support hooks, enabling org-wide shell command automation after tool use
  • Two new global config settings (autoConnectIde, autoInstallIdeExtension) control IDE extension behavior
  • Skills gain an effort field to override the session-level thinking effort per skill

New Claude Code versions

2.1.81

New features

  • 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)

Claude Code changes

Changed documents

channels [Source]

  • 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]

channels-reference [Source]

  • 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]

cli-reference [Source]

  • 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]

desktop [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]

discover-plugins [Source]

  • Added a link to the plugin catalog at claude.com/plugins for browsing available plugins. [line 23] [Source]
  • Install example updated to use a concrete plugin name (github@claude-plugins-official) instead of a placeholder. [line 36] [Source]

env-vars [Source]

  • CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL description now cross-references the equivalent autoInstallIdeExtension setting in settings.md. [line 52] [Source]

permissions [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]

plugin-marketplaces [Source]

  • Removed pip as a supported plugin source type from the source types table. [line 269] [Source]

remote-control [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]

sandboxing [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]

server-managed-settings [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]

settings [Source]

  • 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]

skills [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]

statusline [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]

sub-agents [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]

API changes

Changed documents

overview [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]

remote-mcp-servers [Source]

  • Various MCP server entries reordered throughout the listing.
  • Added Airtable as a new remote MCP server entry: "Bring your structured data to Claude" at https://mcp.airtable.com/mcp. [line 302] [Source]