PowerShell tool added for Windows as an opt-in preview, enabling Claude to run PowerShell commands natively instead of routing through Git Bash
Two new hook events: CwdChanged (fires on directory changes) and FileChanged (fires on watched file changes), both with CLAUDE_ENV_FILE support for environment reloading via tools like direnv
New allowedChannelPlugins managed setting lets Team/Enterprise admins restrict which channel plugins can deliver messages
Model configuration expanded for third-party providers: new env vars let admins customize display names and declare capabilities for pinned Bedrock/Vertex/Foundry models
VS Code extension gains a URI handler (vscode://anthropic.claude-code/open) to open Claude Code tabs from external tooling
Added PowerShell tool for Windows as an opt-in preview (CLAUDE_CODE_USE_POWERSHELL_TOOL=1)
Added ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL_SUPPORTS env vars to override capability detection for pinned third-party provider models, plus _MODEL_NAME/_DESCRIPTION to customize the /model picker label
Added CLAUDE_STREAM_IDLE_TIMEOUT_MS env var to configure the streaming idle watchdog threshold (default 90s)
Added TaskCreated hook that fires when a task is created via TaskCreate
Added WorktreeCreate hook support for type: "http" — return the created worktree path via hookSpecificOutput.worktreePath
Added allowedChannelPlugins managed setting for Team/Enterprise admins to define a channel plugin allowlist
Added x-client-request-id header to API requests for debugging timeouts
Added idle-return prompt that nudges users returning after 75+ minutes to /clear
Deep links (claude-cli://) now open in your preferred terminal
Rules and skills paths: frontmatter now accepts a YAML list of globs
Existing feature improvements
MCP tool descriptions and server instructions are now capped at 2KB to prevent OpenAPI-generated servers from bloating context
MCP servers configured both locally and via claude.ai connectors are now deduplicated — the local config wins
Background bash tasks that appear stuck on an interactive prompt now surface a notification after ~45 seconds
Token counts ≥1M now display as "1.5m" instead of "1512.6k"
Global system-prompt caching now works when ToolSearch is enabled, including for users with MCP tools configured
Stats screenshot (Ctrl+S in /stats) is now 16× faster and works in all builds
Changed issue/PR references to only become clickable links when written as owner/repo#123 — bare #123 is no longer auto-linked
Slash commands unavailable for the current auth setup are now hidden instead of shown
[VSCode] Added rate limit warning banner with usage percentage and reset time
Major bug fixes
Fixed voice push-to-talk: holding the voice key no longer leaks characters into the text input
Fixed up/down arrow keys being unresponsive when a footer item is focused
Fixed Ctrl+U (kill-to-line-start) being a no-op at line boundaries in multiline input
Fixed null-unbinding a default chord binding still entering chord-wait mode
Fixed workflow subagents failing with API 400 when the outer session uses --json-schema
Fixed the "allow Claude to edit its own settings" permission option not sticking
Fixed MCP tool/resource cache leak on server reconnect
Fixed a startup performance issue with partial clone repositories (Scalar/GVFS)
Fixed native terminal cursor not tracking the text input caret (IME/CJK input)
Fixed spurious "Not logged in" errors on macOS from transient keychain failures
Fixed cold-start race where core tools could fail with InputValidationError on typed parameters
Added note that Team/Enterprise admins can use allowedChannelPlugins as an alternative to the official Anthropic allowlist for organization-specific channel plugins. [line 873] [Source]
Rewrote enterprise controls section: channels now off by default for Team/Enterprise, with a two-setting model (channelsEnabled + allowedChannelPlugins). [lines 384-410] [Source]
New section documenting how to restrict which channel plugins can run via allowedChannelPlugins, including configuration example. [lines 415-430] [Source]
Added ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL_NAME, _DESCRIPTION, and _SUPPORTED_CAPABILITIES env vars for customizing pinned model display and capability declarations on third-party providers. [lines 14-24] [Source]
Added CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK to disable fallback when streaming fails mid-stream (useful when a proxy causes duplicate tool execution). [line 56] [Source]
Added CLAUDE_CODE_SUBPROCESS_ENV_SCRUB to strip credentials from subprocess environments (Bash, hooks, MCP stdio), reducing prompt-injection exfiltration risk. [line 83] [Source]
Added CLAUDE_CODE_USE_POWERSHELL_TOOL to enable the PowerShell tool on Windows (opt-in preview). [line 89] [Source]
Updated CLAUDE_ENV_FILE description to mention CwdChanged and FileChanged hooks in addition to SessionStart. [line 92] [Source]
New example section "Reload environment when directory or files change" showing how to use CwdChanged and FileChanged hooks with direnv. [lines 325-385] [Source]
Added CwdChanged and FileChanged to the event reference table. [lines 460-461] [Source]
Added CwdChanged hook event: fires when working directory changes (e.g., via cd), useful for reactive environment management with direnv. [lines 31-32] [Source]
Added FileChanged hook event: fires when a watched file changes on disk; matcher specifies which basenames to watch. [lines 31-32] [Source]
Added shell field to command hooks, accepting "bash" (default) or "powershell", to run individual hooks via PowerShell on Windows. [line 309] [Source]
Updated WorktreeCreate to support HTTP hooks: HTTP hooks return the worktree path via hookSpecificOutput.worktreePath instead of stdout. [lines 1637-1648] [Source]
CLAUDE_ENV_FILE is now available for CwdChanged and FileChanged hooks, allowing hooks to persist environment variables into subsequent Bash commands. [line 819] [Source]
New full reference sections for CwdChanged and FileChanged including input schemas, watchPaths output field, and usage examples. [lines 1714-1800] [Source]
New section "Windows PowerShell tool" with example for running hooks via PowerShell using "shell": "powershell". [lines 2469-2499] [Source]
SessionStart now documented as supporting only command hooks (previously listed alongside events that also support http/prompt/agent). [line 2206] [Source]
New section documenting the VS Code URI handler vscode://anthropic.claude-code/open, including prompt and session query parameters for pre-filling prompts or resuming conversations from external tooling. [lines 216-253] [Source]
Ctrl+F (kill all background agents) replaced by Ctrl+X Ctrl+K. [line 16] [Source]
Ctrl+G now also has Ctrl+X Ctrl+E as the readline-native binding for opening external editor. [line 19] [Source]
New Option+O / Alt+O shortcut to toggle fast mode. [line 31] [Source]
New "Transcript viewer" shortcuts section documenting Ctrl+E and exit keys. [lines 72-80] [Source]
Background task output is now written to a file and retrieved via the Read tool (previously buffered and retrieved via TaskOutput). [line 203] [Source]
New AGENTS.md section explaining how to import an existing AGENTS.md into CLAUDE.md for cross-agent compatibility. [lines 100-115] [Source]
Block-level HTML comments in CLAUDE.md files are now stripped before context injection, allowing maintainer notes without spending tokens. [line 128] [Source]
Updated effort level documentation: max now persists only via CLAUDE_CODE_EFFORT_LEVEL env var (not across sessions via /effort); Sonnet 4.6 also defaults to medium effort; added guidance that medium is recommended for most coding tasks. [lines 144-154] [Source]
New section "Customize pinned model display and capabilities" documenting ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL_NAME, _DESCRIPTION, and _SUPPORTED_CAPABILITIES env vars for third-party providers, with a capability values table. [lines 266-308] [Source]
OTEL_LOG_TOOL_DETAILS now also logs tool input arguments (file paths, URLs, search patterns, etc.) as a tool_input attribute, bounded to ~4K characters. [line 89] [Source]
Added CwdChanged and FileChanged to the plugin hook events table. [lines 127-128] [Source]
New userConfig field: declares values Claude Code prompts users for at plugin enable time, stored in settings or system keychain. [lines 370-395] [Source]
New channels field: lets a plugin declare message channels bound to an MCP server, with per-channel userConfig. [lines 397-420] [Source]
Corrected path behavior: custom commands, agents, skills, and outputStyles paths now replace (not supplement) the default directory. [lines 422-430] [Source]
Added output-styles/ directory to the plugin structure and file locations reference. [lines 592-593] [Source]
Added note about sandbox.failIfUnavailable setting: when true, Claude Code fails at startup if sandbox cannot start, intended for managed deployments requiring sandboxing as a security gate. [line 101] [Source]
Added useAutoModeDuringPlan setting to control whether plan mode uses auto mode semantics. [line 158] [Source]
Added defaultShell setting ("bash" or "powershell") for routing ! commands through PowerShell on Windows. [line 160] [Source]
Added allowedChannelPlugins managed setting (Team/Enterprise): allowlist of channel plugins that can push messages, replacing the Anthropic default list when set. [line 184] [Source]
Added sandbox.failIfUnavailable setting to make sandbox startup failures a hard error. [line 258] [Source]
Documented drop-in directory support for managed settings: managed-settings.d/*.json files are alphabetically sorted and merged on top of managed-settings.json. [lines 91-96] [Source]
Added initialPrompt frontmatter field: auto-submitted as the first user turn when the agent runs as the main session agent. [line 255] [Source]
Documented subagent model resolution order: CLAUDE_CODE_SUBAGENT_MODEL env var > per-invocation model parameter > subagent frontmatter model > main conversation's model. [lines 265-271] [Source]