What's changed
- Added
CLAUDE_CODE_MCP_SERVER_NAMEandCLAUDE_CODE_MCP_SERVER_URLenvironment variables to MCPheadersHelperscripts, allowing one helper to serve multiple servers - Added conditional
iffield for hooks using permission rule syntax (e.g.,Bash(git *)) to filter when they run, reducing process spawning overhead - Added timestamp markers in transcripts when scheduled tasks (
/loop,CronCreate) fire - Added trailing space after
[Image #N]placeholder when pasting images - Deep link queries (
claude-cli://open?q=…) now support up to 5,000 characters, with a "scroll to review" warning for long pre-filled prompts - MCP OAuth now follows RFC 9728 Protected Resource Metadata discovery to find the authorization server
- Plugins blocked by organization policy (
managed-settings.json) can no longer be installed or enabled, and are hidden from marketplace views - PreToolUse hooks can now satisfy
AskUserQuestionby returningupdatedInputalongsidepermissionDecision: "allow", enabling headless integrations that collect answers via their own UI tool_parametersin OpenTelemetry tool_result events are now gated behindOTEL_LOG_TOOL_DETAILS=1- Fixed
/compactfailing with "context exceeded" when the conversation has grown too large for the compact request itself to fit - Fixed
/plugin enableand/plugin disablefailing when a plugin's install location differs from where it's declared in settings - Fixed
--worktreeexiting with an error in non-git repositories before theWorktreeCreatehook could run - Fixed
deniedMcpServerssetting not blocking claude.ai MCP servers - Fixed
switch_displayin the computer-use tool returning "not available in this session" on multi-monitor setups - Fixed crash when
OTEL_LOGS_EXPORTER,OTEL_METRICS_EXPORTER, orOTEL_TRACES_EXPORTERis set tonone - Fixed diff syntax highlighting not working in non-native builds
- Fixed MCP step-up authorization failing when a refresh token exists — servers requesting elevated scopes via
403 insufficient_scopenow correctly trigger the re-authorization flow - Fixed memory leak in remote sessions when a streaming response is interrupted
- Fixed persistent ECONNRESET errors during edge connection churn by using a fresh TCP connection on retry
- Fixed prompts getting stuck in the queue after running certain slash commands, with up-arrow unable to retrieve them
- Fixed Python Agent SDK:
type:'sdk'MCP servers passed via--mcp-configare no longer dropped during startup - Fixed raw key sequences appearing in the prompt when running over SSH or in the VS Code integrated terminal
- Fixed Remote Control session status staying stuck on "Requires Action" after a permission is resolved
- Fixed shift+enter and meta+enter being intercepted by typeahead suggestions instead of inserting newlines
- Fixed stale content bleeding through when scrolling up during streaming
- Fixed terminal left in enhanced keyboard mode after exit in Ghostty, Kitty, WezTerm, and other terminals supporting the Kitty keyboard protocol — Ctrl+C and Ctrl+D now work correctly after quitting
- Improved @-mention file autocomplete performance on large repositories
- Improved PowerShell dangerous command detection
- Improved scroll performance with large transcripts by replacing WASM yoga-layout with a pure TypeScript implementation
- Reduced UI stutter when compaction triggers on large sessions