Claude-Code
Notes
no notes yet
What's changed
- Added
/claude-api api-versionto move Claude API code to API version2026-10-21 - Added the
claude_code.safety_eventOpenTelemetry event for each tool call a permission rule, auto mode, a safety check, a hook or the sandbox stopped, prompted or sent back - Fixed requests failing with a model-not-found error when
CLAUDE_CODE_DISABLE_1M_CONTEXTis set and the model is an alias with the[1m]suffix, such asopus[1m] - Fixed the
prompt-caching-scopebeta header being sent behind customANTHROPIC_BASE_URLgateways and on Foundry, where it has no effect - Fixed MCP servers showing "needs authentication" in
claude -pon macOS while the login keychain was locked; they now say why, and the next run after an unlock connects without a new sign-in - Fixed MCP servers being reported as timed out, and staying failed in headless runs, when a macOS or Linux computer went to sleep while they were connecting
- Fixed HTTP MCP tool calls being sent twice when the connection closed mid-call; only read-only or idempotent tools are now retried
- Fixed a turn sometimes starting without an SDK MCP server's latest tools when a background task was running
- Fixed some "Autocompact is thrashing" errors in turns that read many PDF pages, images or other large tool results
- Fixed
/autocompactin cloud sessions going back to the default window after the session restarted - Fixed a conversation cleared with
/clearsometimes coming back when a cloud or self-hosted runner session restarted - Fixed
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MSbeing ignored in Claude apps gateway sessions - Fixed telemetry from Claude Desktop sessions behind a Claude apps gateway being rejected when
OTEL_EXPORTER_OTLP_HEADERSis set - Fixed
/permissions> Recently denied not showing the denied shell command, and auto mode's local classifier ignoring an approval from there when it checks a retried command; approving a row now names the command, not its description - Fixed
/helpand the/command menu showing long model-facing descriptions for bundled skills such as/claude-apiinstead of their short descriptions - Fixed subagent transcripts recording placeholder token usage and an empty stop reason for streamed responses
- Fixed model switches through the Agent SDK's
setModel(), and apps built on it, being refused when the API took more than 5 seconds to confirm the model; Claude Code now waits up to 15 seconds - Fixed a background command stopped through a connected app (such as the desktop app archiving an idle session) being reported to Claude as stopped by the user; the notice now names its output file
- Fixed WebFetch in Cowork cloud sessions reporting a tool error when a site answered with a 4xx status or a robots.txt refusal; it is now a normal result, as in local sessions
- Fixed write tools on a directly configured GitHub MCP server showing a form that closed without creating anything in the desktop app's Code tab
- Fixed Artifact tool reads failing with a connection reset when the server had closed a reused connection
- Self-hosted runner: Fixed sessions with
--use-anthropic-git-proxycommitting a.claude/settings.local.jsonleft in the clone by an earlier session - Self-hosted runner: Fixed archiving or requeueing a session, or stopping the runner, during its checkout hook leaving the hook's processes running and the runner's slot held
- Improved recovery from unparseable tool calls: Claude Code now retries the call up to twice before ending the turn with an error
- Improved fork subagents launched together: each is now told which launch is its own, so forks are much less likely to try to start each other's work
- Improved browser sign-in: the success page now appears as soon as sign-in completes, without waiting for your account profile to load
- Improved web search errors in cloud and self-hosted runner sessions: a search refused with a 403 that gives a reason now shows that reason instead of a generic "Authentication error"
- Improved the time to the first reply in cloud sessions when one of the desktop app's MCP servers can't connect
- Improved Remote Control connect time for sessions whose transcript contains large pasted images or PDF reads
- Changed the notice Claude gets when the WebSearch budget is used up to also tell it not to query search engines in a browser or through computer use
- Changed the
axScreenReadersetting andCLAUDE_AX_SCREEN_READERin a settingsenvblock to apply only from user, managed or--settingssettings (since 2.1.305) - Self-hosted runner: Changed checkout hooks to be stopped after 30 minutes by default, failing the session's setup; if yours needs longer, raise
--checkout-hook-timeout-minor set it to0 - Self-hosted runner: Changed the certificate file built for Anthropic-managed git to filter its trusted certificates as the CLI does; a
[runner:warn]line gives the number left out - [VSCode] Added a notice on the microphone button when voice dictation stops by itself (15 seconds without recognized speech, or the 2-minute limit), saying why and that the text so far is kept
- [VSCode] Fixed a long prompt expanded with Show more covering the whole chat panel: a pinned prompt is now capped at 40% of the panel and scrolls
- [VSCode] Fixed part of a list item or table cell with LaTeX math pasting as a new list or table in rich text editors
- [VSCode] Fixed dictation failing behind a TLS-inspecting proxy when
NODE_EXTRA_CA_CERTSis set only in~/.claude/settings.json; it now also followsCLAUDE_CODE_CERT_STORE - [VSCode] Changed the "still open somewhere else" notice to also cover a Claude process left over from an extension restart, which usually ends on its own within about 10 minutes
- [VSCode] Changed voice dictation to filter its trusted certificates as the CLI does
- [VSCode] Changed the extension's own requests to filter their trusted certificates as the CLI does, and to trust the
NODE_EXTRA_CA_CERTSfile named in the environment or in user settings - [Cloud sessions] Fixed the repository picker saying "No repositories match" while a search was still running; it now shows "Searching…" until the results arrive
- [Cloud sessions] Fixed the "Waiting for a runner" status on self-hosted environments being cut off; with on-demand runners it now counts up from your last message and shows failed attempts
- [Code Review] Added
@claude review stop(alsooffandpause) to Code Review, ending an@claude review alwayssubscription on a pull request without starting a new review