Claude docs changes for March 18th, 2026 [diff]
Executive Summary
- Voice dictation is now fully documented: push-to-talk transcription (hold Space) with 20-language support, live waveform, coding-vocabulary tuning — requires Claude.ai account auth
- New
StopFailurehook fires when a turn ends due to API errors (rate limit, auth failure), enabling automated error recovery flows - Plugin persistent state via
${CLAUDE_PLUGIN_DATA}: survives plugin updates;/plugin uninstall --keep-datapreserves it; full lifecycle docs added - Subagent invocation expanded: @-mention for one-task delegation and
--agent/agentsetting for session-wide subagent mode now documented - Sandbox read control: new
filesystem.allowReadandallowManagedReadPathsOnlylet you whitelist specific paths within a broaderdenyReadregion
New Claude Code versions
2.1.78
New features
- Added
StopFailurehook event — fires when a turn ends due to API error (rate limit, auth failure, etc.) - Added
${CLAUDE_PLUGIN_DATA}variable for plugin persistent state that survives plugin updates;/plugin uninstallprompts before deleting it - Added
effort,maxTurns, anddisallowedToolsfrontmatter support for plugin-shipped agents - Added
ANTHROPIC_CUSTOM_MODEL_OPTIONenv var for a custom entry in the/modelpicker, with optional_NAMEand_DESCRIPTIONsuffix vars - Response text now streams line-by-line as it's generated
Existing feature improvements
- Terminal notifications (iTerm2/Kitty/Ghostty popups, progress bar) now reach the outer terminal when running inside tmux with
set -g allow-passthrough on - Improved memory usage and startup time when resuming large sessions
Major bug fixes
- Security: Fixed silent sandbox disable when
sandbox.enabled: trueis set but dependencies are missing — now shows a visible startup warning - Fixed
.git,.claude, and other protected directories being writable without a prompt inbypassPermissionsmode - Fixed infinite loop when API errors triggered stop hooks that re-fed blocking errors to the model
- Fixed
deny: ["mcp__servername"]permission rules not removing MCP server tools before sending to the model - Fixed
sandbox.filesystem.allowWritenot working with absolute paths (previously required//prefix) - Fixed
cc logand--resumesilently truncating conversation history on large sessions (>5 MB) that used subagents - Fixed
git log HEADfailing with "ambiguous argument" inside sandboxed Bash on Linux - Fixed voice mode modifier-combo push-to-talk keybindings (e.g.
ctrl+k) requiring a hold instead of activating immediately - Fixed voice mode not working on WSL2 with WSLg (Windows 11); WSL1/Win10 users now get a clear error
- Fixed
--worktreeflag not loading skills and hooks from the worktree directory - Fixed
ANTHROPIC_BETASenvironment variable being silently ignored when using Haiku models - Fixed Bash tool not finding Homebrew and other PATH-dependent binaries when VS Code is launched from Dock/Spotlight
- [VSCode] Fixed "API Error: Rate limit reached" when selecting Opus — model dropdown no longer offers 1M context variant to subscribers whose plan tier is unknown
Claude Code changes
New Documents
voice-dictation [Source]
New page documenting push-to-talk voice dictation. Requires Claude Code v2.1.69+ and Claude.ai account authentication (not available with API keys, Bedrock, Vertex, or Foundry). Covers enabling via /voice command, default Space push-to-talk keybinding (rebindable to modifier combos), live waveform display, 20-language support, coding-vocabulary transcription tuning, and platform support (macOS, Linux, Windows; not available in remote/SSH). Includes troubleshooting for microphone permissions, Linux audio tools, and WSL.
Changed documents
amazon-bedrock [Source]
ANTHROPIC_SMALL_FAST_MODELrenamed toANTHROPIC_DEFAULT_HAIKU_MODELin the Bedrock configuration example. [line reference]
authentication [Source]
- Expanded credential storage documentation: Linux/Windows credential storage location clarified (
~/.claude/.credentials.jsonor$CLAUDE_CONFIG_DIR; Linux file mode0600). - New:
apiKeyHelperslow-helper warning — if helper takes >10 seconds, a warning appears in the prompt bar. - New: clarification that
apiKeyHelper,ANTHROPIC_API_KEY, andANTHROPIC_AUTH_TOKENonly apply to terminal CLI sessions; Claude Desktop and remote sessions use OAuth exclusively. - New section: Authentication precedence — documents full 5-step resolution order: cloud provider env vars →
ANTHROPIC_AUTH_TOKEN→ANTHROPIC_API_KEY→apiKeyHelper→ subscription OAuth. - Note added: if
ANTHROPIC_API_KEYis set and approved, it takes precedence over an active subscription and can cause auth failures if the key's org is disabled.
best-practices [Source]
--dangerously-skip-permissionsdescription clarified: bypasses "permission prompts" not "all permission checks"; added cross-reference topermissions.mdfor what is/isn't skipped.
cli-reference [Source]
--dangerously-skip-permissionsflag description updated with cross-reference topermissions.md.
commands [Source]
/copynow accepts an[N]argument to copy the Nth-latest response (e.g.,/copy 2for the second-to-last)./forkrenamed to/branch(with/forkkept as an alias)./initupdated: mentionsCLAUDE_CODE_NEW_INIT=trueenv var for interactive setup flow that also sets up skills, hooks, and personal memory files.- New
/voicecommand: toggle push-to-talk voice dictation; requires a Claude.ai account.
common-workflows [Source]
- Plan mode: accepting a plan now automatically names the session from the plan content (won't overwrite an existing
--name//rename). - Extended thinking section rewritten: adaptive reasoning controls depth on newer models;
MAX_THINKING_TOKENSonly applies when set to0orCLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1on Opus 4.6/Sonnet 4.6. - Session picker: forked sessions now reference
/branchcommand as well as/rewind.
costs [Source]
- Extended thinking default budget description updated: removed specific "31,999 tokens" number; now says "can be tens of thousands of tokens per request depending on the model".
data-usage [Source]
/bugcommand renamed to/feedbackthroughout.DISABLE_BUG_COMMANDenv var renamed toDISABLE_FEEDBACK_COMMAND.
desktop [Source]
bypassPermissionsmode description updated: clarifies protected directories still prompt even in bypass mode; cross-reference topermissions.mdadded.
env-vars [Source]
ANTHROPIC_API_KEYdescription significantly expanded: explains precedence over subscriptions and interactive approval behavior.- New env var:
ANTHROPIC_BASE_URL— override API endpoint for proxy/gateway; when set to a non-Anthropic host, MCP tool search is disabled by default (ENABLE_TOOL_SEARCH=trueto override). CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASdescription expanded: also strips beta tool-schema fields likedefer_loadingandeager_input_streaming.CLAUDE_CODE_MAX_OUTPUT_TOKENSupdated: defaults and caps are now model-specific.- New env var:
CLAUDE_CODE_NEW_INIT— set totruefor interactive/initflow that includes skills, hooks, and personal memory setup. - New env var:
CLAUDE_CODE_PLUGIN_SEED_DIR— path to read-only plugin seed directory for containers; pre-populates plugins without runtime cloning. DISABLE_BUG_COMMANDreplaced byDISABLE_FEEDBACK_COMMAND(old name still accepted).
google-vertex-ai [Source]
ANTHROPIC_SMALL_FAST_MODELrenamed toANTHROPIC_DEFAULT_HAIKU_MODELin Vertex AI configuration examples.
headless [Source]
- New section:
system/api_retrystream event — emitted before each retry when an API request fails with a retryable error. Documents all fields:type,subtype,attempt,max_retries,retry_delay_ms,error_status,error(values:authentication_failed,billing_error,rate_limit,invalid_request,server_error,max_output_tokens,unknown),uuid,session_id.
hooks [Source]
PostCompactadded to the matcher table alongsidePreCompact.${CLAUDE_PLUGIN_DATA}variable added to plugin hook environment variables.InstructionsLoadedhook: new"compact"load reason added — fires when instruction files are re-loaded after a compaction event.PreToolUsepermissionDecisionclarification:"allow"skips the interactive prompt but deny/ask rules still apply.
hooks-guide [Source]
PreToolUsehook"allow"decision clarified: skips interactive prompt only; deny and ask rules (including managed deny lists) still apply; deny rules always take precedence over hook approvals.PostCompactmatcher support added to the hooks matcher table.
index [Source]
- Example code snippet updated:
tail -f app.log(follow mode) replaced withtail -200 app.log(last 200 lines).
interactive-mode [Source]
- New Voice input keyboard shortcut: "Hold Space: Push-to-talk dictation".
- Background tasks: new note that tasks are automatically terminated if output exceeds 5 GB.
keybindings [Source]
- New section: Voice actions — documents the
voice:pushToTalkaction (default: Space) in theChatcontext.
mcp [Source]
- Plugin MCP environment variables updated:
${CLAUDE_PLUGIN_DATA}documented alongside${CLAUDE_PLUGIN_ROOT}.
memory [Source]
/initdescription updated: mentionsCLAUDE_CODE_NEW_INIT=truefor interactive multi-phase flow.- New table: Managed CLAUDE.md vs. managed settings — clarifies which concerns go in settings (tool blocks, sandbox, env vars, auth) vs. CLAUDE.md (code style, compliance, behavioral guidance); explains settings rules are enforced while CLAUDE.md shapes but does not enforce.
network-config [Source]
- New: native installer and update checks require
downloads.claude.aiandstorage.googleapis.com(legacy, deprecation in progress).
permissions [Source]
bypassPermissionsmode clarified: writes to.git,.claude,.vscode,.ideadirectories still prompt;.claude/commands,.claude/agents,.claude/skillsare exempt.- New: compound command approval saves separate rules per subcommand (up to 5 rules); explains how
cdgenerates Read rules. - New: clarification that
Read/Editdeny rules block Claude's built-in file tools but not Bash subprocesses (e.g.,cat .env); sandbox needed for OS-level enforcement. - New: Windows path normalization in permissions matching (
C:\Users\alicebecomes/c/Users/alice). - New managed setting:
sandbox.filesystem.allowManagedReadPathsOnly.
plugin-marketplaces [Source]
${CLAUDE_PLUGIN_DATA}documented alongside${CLAUDE_PLUGIN_ROOT}.- New section: Pre-populate plugins for containers —
CLAUDE_CODE_PLUGIN_SEED_DIRenv var; details on seed directory structure, build-time population, read-only behavior, precedence, and path resolution. - Validator expanded: now checks skill/agent/command frontmatter and
hooks/hooks.jsonin addition toplugin.json. - New validation errors documented: YAML frontmatter parse failure,
hooks/hooks.jsonJSON syntax error. - New warning: non-kebab-case plugin names.
plugins-reference [Source]
PostCompactadded to hook event list.- New section: Persistent data directory — full documentation of
${CLAUDE_PLUGIN_DATA}, location formula, recommended pattern for managingnode_modules, exampleSessionStarthook for dependency management, example MCP server config usingNODE_PATH, automatic deletion on uninstall, and/pluginUI showing data directory size. claude plugin uninstallupdated: new--keep-dataflag to preserve the persistent data directory.
remote-control [Source]
- New section: Troubleshooting — covers
Remote credentials fetch failederror (use--verboseto see details); common causes: not signed in, network/proxy blocking port 443, session creation failure.
sandboxing [Source]
- New:
sandbox.filesystem.allowReadto re-allow reading specific paths within adenyReadregion; takes precedence overdenyRead. - New:
allowManagedReadPathsOnlyflag support. - New code example: blocking entire home directory reads while allowing reads from current project using
denyRead+allowRead.
settings [Source]
- New setting:
agent— run the main thread as a named subagent (applies subagent's system prompt, tool restrictions, and model). languagesetting updated: also controls voice dictation language.- New setting:
voiceEnabled— enable push-to-talk voice dictation; written automatically by the/voicecommand. - Settings clarification:
showTurnDurationandterminalProgressBarEnabledmoved to new Global config settings section — stored in~/.claude.json, NOTsettings.json; adding them tosettings.jsontriggers a schema validation error. - New sandbox settings:
filesystem.allowReadandfilesystem.allowManagedReadPathsOnlydocumented.
sub-agents [Source]
- Quickstart walkthrough updated: new step 7 for Configure memory (persistent memory directory); save step updated (
sorEnterto save,eto save and edit). bypassPermissionsdescription updated: "skips permission prompts" not "all permission checks"; protected directory exceptions documented.- New section: Invoke subagents explicitly — three patterns documented:
- Natural language (Claude decides)
- @-mention: guaranteed delegation for one task; typeahead syntax; plugin subagents as
<plugin-name>:<agent-name> - Session-wide:
--agent <name>flag oragentsetting replaces main system prompt entirely; works for built-in and custom subagents; persists on resume - Clarified that a stopped subagent receiving
SendMessageauto-resumes in background without a newAgentinvocation.
terminal-config [Source]
- VS Code Option key setup separated from iTerm2 instructions: now documents
"terminal.integrated.macOptionIsMeta": truein VS Code settings.
troubleshooting [Source]
- New troubleshooting entry: "This organization has been disabled" with an active subscription — caused by
ANTHROPIC_API_KEYoverriding subscription auth; fix isunset ANTHROPIC_API_KEY.
API changes
Changed documents
remote-mcp-servers [Source]
- Added two new remote MCP servers to the directory:
- Intuit TurboTax (
https://ai-inc.turbotax.intuit.com/.../mcp): estimate tax refunds and connect with live tax experts. - DocuSeal (
https://docuseal.com/mcp): sign, send & manage documents.