What's changed
- Added Claude Sonnet 5.5 (
claude-sonnet-5-5), now the default Sonnet model on the Anthropic API — 1M context, $2/$10 per Mtok with $0.20/Mtok cache reads - Added a "Yes, but ask again next time" answer to auto mode's prompt before a read outside the working directories, so you can allow that one read and still be asked about later ones
- Added dollar amounts to the Claude apps gateway spend limit in
/usageand the status line (for example "$271.40 / $500.00 spent this month") when the gateway runs this version or later; the status line'srate_limits.spend_limitalso gainsused_usd,limit_usdandperiod - Added
effortSlider:decreaseEffort,increaseEffortandtoggleUltracodekeybinding actions, so the/effortslider's arrow and Tab keys can be rebound inkeybindings.json - Added
/rate-limit-optionsto/helpand the command menu for claude.ai subscribers, so the usage-limit notices that mention it point to a command you can find - Added
/mcp reconnect allin the interactive terminal to retry every MCP server that failed to connect or needs authentication at once - Added Claude apps gateway startup warnings when a managed policy's
availableModelsis empty, or leaves out the model Claude Code starts on without settingmodelorenforceAvailableModels - Added
auth: { google: {} }for Claude apps gatewaytelemetry.forward_todestinations, so telemetry can be exported straight to Google Cloud's OTLP endpoint using the gateway's Google Cloud credentials - Added certificate client authentication (
private_key_jwt) between the Claude apps gateway and its identity provider, for identity providers that issue certificate credentials instead of client secrets - Fixed a damaged response stream showing raw errors such as "JSON Parse error" or "undefined is not an object", or writing the word "undefined" into an answer, instead of being retried or reported as an interrupted response
- Fixed an overloaded or server error arriving right after a thinking block ending the turn with an error instead of being retried
- Fixed "Prompt is too long" errors that persisted after compacting: when the compacted request is still too long, Claude Code now compacts once more, keeping less of the recent conversation
- Fixed a session whose model is unavailable, with no fallback model left, showing a bare "is currently unavailable" message (or "Something went wrong" in cloud sessions) instead of the model-unavailable notice and its Learn more link
- Fixed Agent SDK sessions crashing when a user message contains an image with a malformed
source, and failing on every later turn after a malformed document block; a malformed image is now replaced with an explanatory note - Fixed MCP tool calls in a resumed session failing with "No such tool available" while their server was still connecting; the call now waits up to 10 seconds for the server
- Fixed repeated calls to the plan-usage endpoint after it rate-limits or rejects your login:
/usage,/extra-usageand IDE usage views now back off instead of re-asking - Fixed
claude mcp addreporting success when managed settings restrict MCP servers to plugins; it now refuses and says what to do, instead of saving a server that never loads - Fixed the
/pluginconfigure screen: boolean options are now a true/false choice instead of free text, number options refuse invalid input, and ←/→ change an options field instead of switching tabs - Fixed
ANTHROPIC_FOUNDRY_RESOURCEbeing interpolated into the Foundry endpoint host unvalidated; a value that is not a plain resource name is now refused - Fixed Claude Desktop behind a Claude apps gateway offering no 1M context option: the gateway now marks each 1M-capable model for Desktop automatically
- Fixed ↓ in shell mode selecting a hidden background-tasks pill, which stopped Backspace and Ctrl+U from editing the prompt
- Fixed Bash tool failing on Windows with many plugins enabled: plugin
bin/directories that don't exist are no longer added to PATH, and inherited entries aren't added twice - Fixed
sparsePathsplugin marketplaces cloning empty and replacing a working local copy on older git (before 2.39), which failed every refresh with "marketplace.json file is no longer present" - Fixed fullscreen rendering erasing the terminal output above the session when
[in transcript mode writes the conversation to scrollback (macOS and Linux) - Fixed fullscreen scroll position jumping to the previous message or to the bottom when a reply finished streaming while scrolled up
- Fixed tab bars in dialogs such as
/configand/pluginbreaking the title and tab labels mid-word in a narrow terminal; a tab that doesn't fit now moves to the next line whole - Fixed the
/modelpicker showing "+1 model" below the list after scrolling to the last model; the count now covers only the models below the visible rows - Fixed
/keybindingswriting Backspace and Delete bindings for a footer action that does nothing into the generatedkeybindings.json - Fixed a rebound agent panel close key (
footer:close) typing "x" instead of itself on the row of the agent you're viewing - Fixed vim mode
.not repeating text typed very fast (for example over ssh or in tmux) or pasted without bracketed paste, and leaving the prompt in INSERT mode after repeating a change with nothing typed (such ascwthen Esc) - Fixed vim mode leaving the cursor on an image placeholder's opening bracket after
ddon the last line oryyat the end of the prompt, whererorxwould break or delete the image - Fixed a key pressed the instant the terminal regained focus answering the Remote Control enable prompt before its short safety delay restarted
- Fixed the workspace trust dialog appearing a second time after switching renderers or updating when Claude Code was started in the home directory