Change8

v2.1.243

Claude Code
11 features30 fixes11 improvementsbedrockclidesktophooksmcpsdkvertexvscode

Summary

This release introduces significant enhancements to usage tracking, model selection, and cost management with new settings and breakdowns. It also addresses numerous bugs across various features like auto mode, session management, and tool usage, improving overall stability and user experience.

New Features

  • Added a Loops breakdown to /usage to easily spot runaway or chatty /loop tasks, showing per-loop run count, total tokens, tokens per run, and last run.
  • Introduced the `modelPicker` setting to curate the /model picker with a custom, ordered, and labeled list of models, allowing for replacement or appending to the built-in lineup.
  • Enabled prompt caching with `promptCacheTtl` and `subagentPromptCacheTtl` settings, allowing API-key and cloud-provider users to maintain a 1-hour prompt cache for main conversations while subagents use a 5-minute cache.
  • Added the `modelPricing` managed setting to use an organization's contracted per-model rates and discount multiplier for cost calculations, status line, and telemetry, instead of list price.
  • Introduced a keyless sign-in option under /login → Anthropic Console for organizations that do not allow API keys, allowing sign-in with a Console account.
  • Added a `Skipped sources` line to /status to list managed settings sources that were present but not applied due to higher-precedence sources.
  • Added a `managed` marker in /mcp and /plugins on claude.ai connectors to indicate when their authentication is managed by your organization.
  • Added a tip for claude.ai users who haven't connected GitHub for Claude Code on the web, pointing them to /web-setup.
  • Added a /status line indicating whether GitHub is connected for Claude Code on the web (Pro/Max), with a link to /web-setup if not connected.
  • Included the model and effort level each subagent ran on in /tasks and agent detail dialogs.
  • Enabled Ctrl+R history search and up-arrow history to function correctly even when `~/.claude/history.jsonl` contains a malformed entry.

Bug Fixes

  • Fixed remote MCP servers in non-interactive and SDK sessions from failing to recover after a dropped connection; they now reconnect automatically or report as failed.
  • Fixed MCP server sign-in started from the desktop app failing with an "Invalid redirect URI" error on servers supporting client ID metadata documents.
  • Fixed auto mode from staying unavailable at startup when a temporary server-side disable was cached and subsequent flag fetches failed.
  • Fixed auto mode tool calls being incorrectly denied as "temporarily unavailable" after a brief API overload.
  • Fixed the /model picker from silently ignoring an Ultracode selection; picking Ultracode now correctly applies it to the current session.
  • Fixed /resume from only listing the 50 most recent sessions; the picker now loads more sessions as you scroll.
  • Fixed cloud sessions resuming after a mid-turn restart with a pending hook or background-task notification from being re-sent as the prompt instead of the normal continuation message.
  • Fixed cross-session messaging from silently turning off inside user namespaces and rootless containers after socket-directory hardening.
  • Fixed text that hangs outside its container, such as the sign-in URL in /login, from losing its leading columns when another part of the screen repaints.
  • Fixed spellcheck from not underlining a misspelled word typed directly after an emoji.
  • Fixed background subagents from not waking up when their last background Bash task completes.
  • Fixed sessions going silent for extended periods when the Anthropic API never starts a response; requests now time out and display an error message.
  • Fixed authentication, model-availability, and other client-generated error messages from rendering like model output instead of as error lines.
  • Fixed workload identity federation in CI so processes in one job share the exchanged token, preventing re-exchange issues.
  • Fixed server-managed companyAnnouncements from not showing at startup in sessions that began with signing in.
  • Fixed hook `if` conditions like `Bash(cat *)` from firing on unrelated Bash commands when the command contained `$()` or backtick command substitution.
  • Fixed plugin dependencies declared with a `marketplace` field from never resolving when both plugins are loaded together.
  • Fixed /reload-plugins from keeping the LSP tool after the last LSP plugin is disabled.
  • Fixed --agents from silently ignoring invalid JSON or agent definitions; it now exits with a clear error.
  • Fixed /status from showing "Found invalid entries in: ." with no filename when `~/.claude.json` has an invalid MCP server entry.
  • Fixed /clear from removing the /rename session name from the prompt bar even when the name was kept for the new session.
  • Fixed Ctrl+[ from not leaving vim INSERT mode in terminals that encode modified keys.
  • Fixed the local IDE connection from being incorrectly routed through `HTTPS_PROXY` when `localhost` was listed in `NO_PROXY`.
  • Fixed sandbox network-violation details being dropped from the Bash tool result when the blocked command still exited 0.
  • Fixed the status line `rate_limits` fields and `/usage` from showing incorrect usage percentage after a rate-limit window reset.
  • Fixed `claude --teleport <session>` from exiting on uncommitted changes instead of offering to stash them.
  • Fixed /web-setup from repeatedly asking users to log in when an older GitHub CLI was already authenticated.
  • Fixed Claude in Chrome losing its connection to Claude Code after an auto-update cleaned up the version it was set up with.
  • [VSCode] Fixed sessions started before feature flags were fetched from opening in the default permission mode instead of the configured mode.
  • [VSCode] Fixed Focus view sections expanding collapsing on their own during subagent tool activity.

Improvements

  • Improved startup time by optimizing sandbox and MCP bring-up, skipping subcommand registration for bare launches, and making workflow discovery, settings, and trust-store work cheaper.
  • Reduced native install and auto-update download size significantly by using zstd compression for the binary.
  • Improved attribution of usage telemetry to organizations for sessions authenticating directly with the Anthropic API.
  • Reduced native binary size by storing bundled skill and prompt text more compactly.
  • Improved memory usage of native builds by loading code on demand instead of keeping the entire bundle resident.
  • Improved peak memory usage in long-running sessions by garbage-collecting sooner as the heap grows.
  • Enhanced /login over SSH by displaying the sign-in URL immediately, providing accurate copy status, and offering a hint for selecting text in fullscreen.
  • Improved the error message when effort `xhigh`/`max` is used with thinking turned off, now including the specific level, the disabling setting, and a suggested fix.
  • Refined /loop to consolidate consecutive wake-ups where Claude has nothing to do into a single line in the terminal.
  • Changed the sandboxed Bash tool prompt to allow Claude to attempt requests to unlisted network hosts, enabling users to approve new hosts.
  • Updated the /model picker and bundled `claude-api` skill to display Sonnet 5's pricing as its standard list price.

Related Documentation

Claude Code Documentation