Change8

v2.1.129

Claude Code
6 features17 fixes4 improvementsbedrockclimcpsdkvertexvscode

Summary

This release introduces new ways to manage plugins via URL, adds environment variables for forcing synchronized terminal output, and improves history search defaults. Several critical bugs related to session state, API error reporting, and cache TTLs have also been resolved.

New Features

  • Added `--plugin-url <url>` flag to fetch a plugin .zip archive from a URL for the current session
  • Added `CLAUDE_CODE_FORCE_SYNC_OUTPUT=1` environment variable to force-enable synchronized output on terminals that auto-detection misses
  • Added `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` setting for Homebrew or WinGet installations to run background upgrades and prompt for restart
  • Enabled Gateway /v1/models discovery for the /model picker via `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` (now opt-in)
  • Ctrl+R history picker now defaults to searching all prompts across all projects, matching previous behavior; use Ctrl+S to narrow search to the current project or session
  • Introduced granular control over skill visibility via the `skillOverrides` setting: `off` hides from model and /, `user-invocable-only` hides only from model, and `name-only` collapses description

Bug Fixes

  • Fixed API errors with unrecognized 400 status codes showing raw JSON instead of the underlying error message
  • Fixed /clear command not resetting the terminal tab title after a conversation ends
  • Fixed session title chip from /rename disappearing while a permission or other dialog is active
  • Fixed agent panel below the prompt being hidden when subagents are running (regression)
  • Fixed external-editor handoff (Ctrl+G) blanking the conversation history above the prompt
  • Fixed /context command dumping its rendered ASCII visualization grid into the conversation, preventing token waste
  • Fixed /agents Library list arrow-key navigation so the highlighted agent remains visible when the list exceeds the viewport
  • Fixed /branch success message not including the new branch's session id for subsequent /resume commands
  • Fixed bold headers containing 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:inference` scope
  • Fixed OAuth refresh race condition occurring 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 /clear or compaction when changing /effort or /model
  • Fixed `Bash(mkdir *)`, `Bash(touch *)` and similar allow rules not being honored for in-project paths
  • Fixed `deniedMcpServers` patterns with a `*://` scheme wildcard not matching mixed-case hostnames
  • Fixed harmless WebSocket warning being logged as an error in --debug mode during voice mode
  • Fixed /clear command not clearing the conversation context and displayed transcript in VSCode integration

Improvements

  • Plugin manifests now require `themes` and `monitors` to be declared under `"experimental": { ... }` (top-level declarations trigger a validation warning)
  • Third-party deployments (Bedrock, Vertex, Foundry, or `ANTHROPIC_BASE_URL` gateway) no longer display spinner tips pointing at first-party Anthropic surfaces
  • Policy refusal error messages now include the API Request ID for easier support debugging
  • The `claude_code.pull_request.count` OTel metric now correctly counts PRs/MRs created via MCP tools, not just shell commands

Claude Code Documentation