Back
AI summary
Written by AI from the official notes. Check them for exact details.Claude Code 2.1.129 introduces new features for plugin management and session handling, along with numerous bug fixes.
- Added
--plugin-urlflag for fetching plugins from a URL. - New environment variable for forcing synchronized output on terminals.
- Background auto-update for Homebrew and WinGet installations.
Why it matters: Users of Claude Code should update to benefit from improved plugin management and session stability.
Full release notes27 changes
What's changed
- Added
--plugin-urlflag to fetch a plugin.ziparchive from a URL for the current session - Added
CLAUDE_CODE_FORCE_SYNC_OUTPUT=1env var to force-enable synchronized output on terminals that auto-detection misses (e.g. Emacseat) - Added
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE: when set on Homebrew or WinGet installations, Claude Code runs the upgrade command in the background and prompts to restart - Plugin manifests:
themesandmonitorsshould now be declared under"experimental": {... }. Top-level declarations still work butclaude plugin validatewill warn - Gateway
/v1/modelsdiscovery for the/modelpicker is now opt-in viaCLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1(was automatic in 2.1.126–2.1.128) - Ctrl+R history picker now defaults to searching all prompts across all projects, matching pre-2.1.124 behavior. Press Ctrl+S to narrow to the current project or session
- Third-party deployments (Bedrock, Vertex, Foundry, or
ANTHROPIC_BASE_URLgateway) no longer see spinner tips pointing at first-party Anthropic surfaces skillOverridessetting now works:offhides from model and/,user-invocable-onlyhides from model only,name-onlycollapses description- The
claude_code.pull_request.countOTel metric now counts PRs/MRs created via MCP tools, not just shell commands - Policy refusal error messages now include the API Request ID for easier support debugging
- Fixed API errors with unrecognized 400 status codes showing raw JSON instead of the underlying error message
- Fixed
/clearnot resetting the terminal tab title after a conversation - Fixed session title chip from
/renamedisappearing while a permission or other dialog is active - Fixed agent panel below the prompt being hidden when subagents are running (regression in 2.1.122)
- Fixed external-editor handoff (Ctrl+G) blanking the conversation history above the prompt
- Fixed
/contextdumping its rendered ASCII visualization grid into the conversation, wasting ~1.6k tokens per call - Fixed
/agentsLibrary list arrow-key navigation: the highlighted agent now stays visible when the list exceeds the viewport - Fixed
/branchsuccess message not including the new branch's session id for/resume - Fixed bold headers with keycap/ZWJ/skin-tone emoji losing trailing characters in fullscreen mode
- Fixed server-managed settings policy not applying for enterprise/team users whose stored OAuth credentials lacked the
user:inferencescope - Fixed OAuth refresh race after wake-from-sleep that could log out all running sessions
- Fixed 1-hour prompt cache TTL being silently downgraded to 5 minutes
- Fixed cache-miss warning appearing spuriously after
/clearor compaction when changing/effortor/model - Fixed
Bash(mkdir *),Bash(touch *)and similar allow rules not being honored for in-project paths - Fixed
deniedMcpServerspatterns with a*://scheme wildcard not matching mixed-case hostnames - Fixed harmless WebSocket warning being logged as an error in
--debugduring voice mode - [VSCode] Fixed
/clearnot clearing the conversation context and displayed transcript