Claude Code changelog changedchangelog
Nearest release: v2.1.312, published an hour before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 27 Oct 2026 20:35 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 27 Oct 2026 20:37 UTC.
Upstream edited
Recorded here
Lines+55added
Lines−0removed
From line
6
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits75to this page, all time
The whole hunk
from line 6, old and new numbered
/
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
from line 6
66
77Run `claude --version` to check your installed version.
88
9**2.1.312**
10
11October 27, 2026
12
13**Added**
14
15* Added `oidc.user_id_claim` to the Claude apps gateway, to identify people by an id\_token claim other than `sub`, such as Microsoft Entra ID's `oid`
16* Added click to send: in fullscreen, clicking the "to send now" hint under a queued message sends it right away, as its key does
17* \[Cloud sessions] Added an effort level to the model picker when you create or edit a routine that runs in the cloud
18* \[Cloud sessions] Added a Bash editor with colors, line numbers and a Copy button to the setup script box in cloud environment settings
19
20**Changed**
21
22* Changed Bedrock, Vertex, Foundry and Mantle to use the shorter system prompt for model names Claude Code doesn't recognize, such as custom deployment names and inference profile ARNs, even when they front Sonnet or Haiku; set `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=0` to keep the full prompt
23* Changed automatic model switches after a flagged message to also cover model names Claude Code doesn't recognize, such as custom deployment names; set `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK=1` to turn them off
24* Changed usage limit messages to call the 5-hour window the "5-hour limit" instead of the "session limit"
25* Changed cloud sessions started from the CLI to get their names and branch names from the server
26* Changed prompt and agent hooks to run at most 24 at a time per session, sub-agents included, plus at most 12 that have waited longer than their event's timeout; a `timeout` under 1 second now counts as 1 second
27* Changed a subagent's `autoCompactWindow` to lower the window set by `CLAUDE_CODE_AUTO_COMPACT_WINDOW`, where it had no effect before; it still never raises that window
28* Changed OpenTelemetry `mcp_server.name` to report the real name of fixed-URL remote MCP servers declared by plugins from the official Anthropic marketplace, instead of `custom`
29* Changed Claude Code to stop sending the `claude_code.safety_event` OpenTelemetry event
30* \[VSCode] Changed usage limit resets to show a clock time ("Resets at 3:10 PM") and to say "5-hour limit"
31
32**Improved**
33
34* Improved the prompt's effort indicator: a change made mid-task now says it may wait for your next message, and the note clears when it no longer applies
35* Improved WebFetch errors in cloud sessions: a host that does not resolve is now explained as possibly outside the allowed network domains, so Claude names the host to allow
36* \[Cloud sessions] Improved the step shown when Claude adds a repository to a cloud session: opening it now shows a short table of what happened instead of raw JSON
37* \[Claude Tag] Improved Claude Tag's retry notice in Slack to name the model in use, or say rate limits were hit, instead of a generic API error
38
39**22 bug fixes**
40
41* Fixed managed settings and organization policy not being fetched for the rest of the session after signing in from the VS Code extension
42* Fixed Claude overwriting a very large CLAUDE.md, rules file or @-included file in a subdirectory after seeing only its start; Write now asks Claude to read it all or edit in place
43* Fixed per-directory and `paths:` skills not being found after a Bash `cd` deeper into a git repository
44* Fixed a rare case where the first reply after resuming a session in the terminal could be missing the next time the session was resumed
45* Fixed a command with an invalid name stopping all commands from loading, which could leave `claude -p` with no output
46* Fixed the Read tool sometimes failing on PDF pages with "pdftoppm failed: Could not write image" when the clean-up of old session files ran at the same time
47* Fixed the spinner, OpenTelemetry `effort` values and transcripts naming a newly picked effort level during a task before the model applied it; they now show the level in force
48* Fixed the `/model` and `/effort` cache warning saying the re-read waits for your next message; a change made while Claude is working can trigger it sooner
49* Fixed some sessions showing as waiting on you when the last message only mentioned items waiting on you mid-sentence
50* Fixed agent view restoring input text on the next launch after it was cleared with Ctrl+C just before exiting
51* Fixed agent view reopening in shell mode after exiting with Ctrl+D from an empty `!` input
52* Fixed vim mode `d`, `c` and `y` with a `gj` or `gk` count larger than the lines left deleting or copying text; like Vim, they now only move the cursor
53* Fixed `/verify` showing a long description meant for Claude in `/help` and the `/` command menu instead of a short one
54* \[VSCode] Fixed sessions ending on a bare exit code when your organization's settings couldn't be loaded or were refused at startup; the tab now says why and offers Retry or Sign in again
55* \[Cloud sessions] Fixed resending an unchanged message after a failed send in a cloud session sometimes running it twice
56* \[Cloud sessions] Fixed a failed cloud environment creation showing its error only as a toast outside the open dialog; it now appears inside the dialog
57* \[Cloud sessions] Fixed Edit in a routine's menu on the Routines page going to the routine's page without opening its edit dialog
58* \[Remote Control] Fixed an unarchived Remote Control session showing as working until a computer reconnected; it now shows as idle
59* \[Claude Tag] Fixed a Claude Tag channel's on/off switch and agent settings falling back to workspace defaults when an older private Slack channel goes public and gets a new ID
60* \[Claude Tag] Fixed Claude in Slack not replying in channels whose environment has network access set to None
61* \[Claude Tag] Fixed Claude in Slack sometimes posting a file in the wrong thread when it was answering in another thread of the same channel
62* \[Code Review] Fixed Code Review reviewing an outdated commit, or none at all, when GitHub delivered a push event late; it now reviews the pull request's current commit
63
964**2.1.311**
1065
1166October 26, 2026
from line 2114
20592114* Fixed the Artifact tool so that publishing a page no longer lets Claude overwrite its source file without re-reading it when Claude's earlier read was cut short or the file had changed since
20602115* Fixed auto mode skipping its classifier for Artifact tool asset uploads and reads of someone else's artifact when you had approved that artifact earlier in another permission mode
20612116* Fixed a misleading "core.worktree is set" error from `/ultrareview` when the project folder briefly could not be read
2062* Fixed `/ultrareview` on macOS and Linux failing to upload the working tree from a git worktree whose per-worktree config sets `core.longpaths`
2063* Fixed the Artifact tool sometimes reporting a publish as a conflict with another session after retrying a temporary server error, when the first attempt had actually succeeded
2064* Fixed `/ultrareview` uploads including uncommitted changes to credential files whose name has a colon before the extension, such as `server:8443.key`
2065* Fixed a rare auth failure when two sessions recover a login refresh lock left by a crashed process at the same time
2066* Fixed the PowerShell tool's permission check skipping deny and ask rules, and caching that failure for later checks, when its command parser failed to start (for example when the machine was out of memory)
2067* Fixed `/ultrareview` uploads on macOS and Linux running slowly on some unusual file names, and their credential-file check missing file or folder names with many backup or editor marks
2068* Fixed a cancelled shell command or hook still starting, and running to its end, when the cancel arrived while it was being set up
2069* Fixed vim mode: after editing in the external editor (Ctrl+G), `x` or `r` in NORMAL mode no longer breaks a pasted-text placeholder at the end of the prompt
2070* Fixed responses blocked by the API's output content filter being re-sent and retried, sometimes for minutes, instead of showing the filter's error right away
2071* Fixed plugins silently skipping a bundled `.mcpb` MCP server that still needs configuration: `/plugin`, the install message and `claude plugin install` now say so and point to Configure
2072* Fixed compacting or resuming a session failing, opening without its history, or crashing when its saved transcript holds a compaction marker or loop wakeup entry with missing or malformed fields
2073* WSL: Fixed `/ultrareview` refusing to upload a checkout on a Linux volume when a changed file's name has a colon or ends in a dot or space
2074* Fixed `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` re-running a turn that had ended at `--max-turns`
2075* Fixed sign-in that could wait forever after the browser showed success
2076* Windows: Fixed `/ultrareview` uploading a linked worktree of a repository rooted at your home folder in some cases
2077* Fixed cloud sessions reporting the uploads folder as missing before any file had been uploaded
2078* Fixed a reply sent from `claude agents` to a background session waiting on a permission prompt sometimes approving the pending command
2079* Fixed `claude attach`, `logs`, `stop`, `respawn` and `rm` starting a new session with the command name as its prompt when options came before it, such as from a shell alias
2080* Fixed `claude mcp list` leaving out WebSocket (`ws`) MCP servers; each is now listed with its URL and health status
2081* Fixed `claude mcp get` showing no Type, Command, Args, or Environment for stdio servers whose config entry omits the `type` field
2082* Fixed `.claude/settings.local.json` allow rules being held back outside a git repository when git's trace2 output is configured
2083* Fixed the `/claude-api` eval runner scaffold and report builder writing through a symlink or hard link planted at an output file
2084* Fixed the `/claude-api` eval runner scaffold counting responses cut off at `max_tokens` in the score averages; they are now marked truncated and counted separately
2085* Fixed ` ` showing as literal text in the terminal when a reply uses it to indent text, such as row labels in a markdown table
2086* Fixed a brief freeze (up to a second) partway through long sessions outside fullscreen mode, which came back after `/clear` or `/compact`
2087* Fixed an approved Edit never going through when its target is a device, such as a file symlinked to /dev/null, and the approval came from the IDE diff view or changed the edit
2088* Fixed a failing API request being retried up to 21 times when streaming kept failing; the non-streaming fallback now shares the request's retry budget instead of getting a fresh set of retries
2089* \[VSCode] Fixed pressing Enter after typing a slash command running an unrelated menu item picked by fuzzy match, or doing nothing
2090* \[VSCode] Fixed an open agent transcript losing the agent's newer messages during a long session
2091* \[VSCode] Fixed a message that quotes a Claude Code or IDE tag losing the rest of its text in the chat
2092* \[VSCode] Fixed a message sent while Claude was working disappearing from the conversation after the session was reopened
2093* \[VSCode] Fixed the session list's Web tab showing the previous account's sessions after an account switch
2094* \[VSCode] Fixed restored tabs re-running an interrupted turn when VS Code was started with `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` set, even with Continue After Reload off
2095* \[VSCode] Fixed Escape stopping the running turn instead of closing the command menu after clicking one of its rows
2096* \[VSCode] Fixed opening Past conversations replacing a live conversation with its saved copy
2097* \[VSCode] Fixed a Claude tab reloaded after an extension restart staying blank instead of saying how to recover
2098* \[VSCode] Fixed opening a conversation that is already open in another window or app starting a second copy of it without warning; it now asks first
2099* \[VSCode] Fixed a hook's reason for blocking or stopping a prompt disappearing after a window reload
2100* \[VSCode] Fixed tabs stuck on a conversation that can't be resumed: the error now says so and offers to start a new conversation
2101* \[VSCode] Fixed every file Read, Write and Edit stalling for ten minutes and then being skipped when the editor stops responding to the extension's automatic save before the tool runs
2102* \[VSCode] Fixed the agent map labeling a sub-agent with the session's model instead of the model it actually ran on (e.g. under `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` or an agent's own `model`)
2103* \[VSCode] Fixed uninstalling a plugin from the
2117* Fixed `/ultrar
No line in this hunk matches that.