Claude Code 2.1.129: Plugin URLs, Sync Output, Package Manager Auto-Update

Claude Code 2.1.129 adds plugin URL fetching, forced sync output for edge terminals, and auto-update prompts for package managers. Gateway model discovery is now opt-in. 18 fixes address OAuth races, cache TTL downgrades, and VSCode context clearing.

Claude Code 2.1.129: Plugin URLs, Sync Output, Package Manager Auto-Update

TL;DR

  • Plugin URL fetching and forced sync output for edge-case terminals
  • Auto-update prompts for Homebrew and WinGet installations
  • Gateway model discovery now opt-in (was auto in 2.1.126–2.1.128)
  • Ctrl+R history picker defaults back to all-project search
  • 18 bug fixes including OAuth race conditions, cache TTL downgrades, and VSCode context clearing

New

  • Plugin URL flag--plugin-url <url> fetches a plugin .zip archive from a URL for the current session
  • Forced sync outputCLAUDE_CODE_FORCE_SYNC_OUTPUT=1 env var enables synchronized output on terminals where auto-detection fails (e.g., Emacs eat)
  • Package manager auto-updateCLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE runs upgrade in the background on Homebrew/WinGet and prompts to restart
  • Plugin manifest changesthemes and monitors should now be under "experimental": { ... }; top-level declarations still work but trigger validation warnings
  • Skill overrides settingskillOverrides now works: off hides from model and /, user-invocable-only hides from model only, name-only collapses description
  • OTel metric expansionclaude_code.pull_request.count now counts PRs/MRs created via MCP tools, not just shell commands
  • Policy error debugging — Refusal error messages now include the API Request ID for support

Changed

  • Gateway /v1/models discovery for the /model picker is now opt-in via CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 (was automatic in 2.1.126–2.1.128)
  • Ctrl+R history picker defaults to searching all prompts across all projects, matching pre-2.1.124 behavior; press Ctrl+S to narrow to current project or session
  • Third-party deployments (Bedrock, Vertex, Foundry, or ANTHROPIC_BASE_URL gateway) no longer see spinner tips pointing at first-party Anthropic surfaces

Fixed

  • API errors with unrecognized 400 status codes now show the underlying error message instead of raw JSON
  • /clear not resetting the terminal tab title after a conversation
  • Session title chip from /rename disappearing while a permission or other dialog is active
  • Agent panel below the prompt being hidden when subagents are running (regression in 2.1.122)
  • External-editor handoff (Ctrl+G) blanking the conversation history above the prompt
  • /context dumping its rendered ASCII visualization grid into the conversation, wasting ~1.6k tokens per call
  • /agents Library list arrow-key navigation: highlighted agent now stays visible when the list exceeds the viewport
  • /branch success message not including the new branch's session id for /resume
  • Bold headers with keycap/ZWJ/skin-tone emoji losing trailing characters in fullscreen mode
  • Server-managed settings policy not applying for enterprise/team users whose stored OAuth credentials lacked the user:inference scope
  • OAuth refresh race after wake-from-sleep that could log out all running sessions
  • 1-hour prompt cache TTL being silently downgraded to 5 minutes
  • Cache-miss warning appearing spuriously after /clear or compaction when changing /effort or /model
  • Bash(mkdir *), Bash(touch *) and similar allow rules not being honored for in-project paths
  • deniedMcpServers patterns with a *:// scheme wildcard not matching mixed-case hostnames
  • Harmless WebSocket warning being logged as an error in --debug during voice mode
  • [VSCode] /clear not clearing the conversation context and displayed transcript

Update: brew upgrade claude-code or winget upgrade Anthropic.ClaudeCode

Source: Claude Code