Skip to main content

What Changed

This page lists the changes in 2.1.312, the release this site covers. It is short on purpose. The site only repeats what its sources say. It does not guess. For every fix and small change, read the official Changelog.

How to Check Your Version​

Run claude --version. The /release-notes command shows a cached copy of the changelog. This site covers 2.1.312, the version shown in the navbar.

Version 2.1.312​

Released October 27, 2026. Source: release notes. Rows marked with the program come from a comparison of the 2.1.311 and 2.1.312 programs. The flags, settings, hook events, tools, models, and permission rules did not change.

ChangeStatusWhat it means for youWhere to read more
Hook concurrency caps
Undocumented: Only the program shows this item. It can change without notice.
Prompt and agent hooks run at most 24 at a time for each session, sub-agents included. In addition, at most 12 hooks that waited longer than their event's timeout run. A timeout under 1 second counts as 1 second (the program).Hook Handlers, Hook Configuration
Subagent autoCompactWindow
Documented: An official docs page names this item.
A subagent's value can now lower the window that CLAUDE_CODE_AUTO_COMPACT_WINDOW sets. It still never raises it (the program).Subagent Frontmatter, Context and Compaction
Write on a part-read file
Undocumented: Only the program shows this item. It can change without notice.
Write refuses to overwrite a very large CLAUDE.md, rules file, or @-included file when Claude read only its start. The message asks Claude to read it all or to edit in place (the program).File Tools
Skills after a Bash cd
Undocumented: Only the program shows this item. It can change without notice.
Claude Code finds per-directory and paths: skills after a cd deeper into the same git work tree. The base stays the session's first directory (the program).Skill Frontmatter
Effort level in force
Undocumented: Only the program shows this item. It can change without notice.
The spinner, the OpenTelemetry effort attribute, and the transcript name the level the model applied, not a level just picked (the program).OpenTelemetry Events, Transcript Format, Models and Providers
claude_code.safety_event
Gated: Works only behind a flag or a server gate. Server flag tengu_snoopy_creek, default false
Claude Code no longer sends the event by default. The gate tengu_snoopy_creek now defaults to false. The code that sends the event is still there (the program).OpenTelemetry Events
mcp_server.name
Undocumented: Only the program shows this item. It can change without notice.
The attribute reports the real name of a fixed-URL remote MCP server. This applies when a plugin from an official marketplace declares the server. The name replaces custom (the program).OpenTelemetry Events
Shorter system prompt
Documented: An official docs page names this item.
A model name that Claude Code does not recognize, such as a custom deployment name or an inference profile ARN, gets the shorter system prompt. CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=0 keeps the full one (the program).System Prompt, Models and Effort
Model switch after a flag
Documented: An official docs page names this item.
The automatic switch after a flagged message also covers a model name that Claude Code does not recognize. CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK=1 turns the switch off (the program).Models and Providers
oidc.user_id_claim
Undocumented: Only the program shows this item. It can change without notice.
The Claude apps gateway can identify a person by an id_token claim other than sub, such as Microsoft Entra ID's oid. The default is sub (the program).Authentication Settings
Vim d, c, y with gj or gk
Undocumented: Only the program shows this item. It can change without notice.
A count larger than the display lines left only moves the cursor. Before, it could delete or copy text (the program).Keybindings
Click to send
Undocumented: Only the program shows this item. It can change without notice.
In fullscreen rendering with mouse mode full, a click on the "send now" hint under a queued message sends it (the program).Keybindings
A command with a bad name
Undocumented: Only the program shows this item. It can change without notice.
One command whose name is not a string no longer stops the whole command list. The program skips it and reports why (the program).Slash Commands
/verify in the menu
Documented: An official docs page names this item.
/help and the / menu show the short description "Try your change and report if it works". The long description still goes to Claude (the program).Bundled Skills
"5-hour limit"
Documented: An official docs page names this item.
Usage limit messages call the 5-hour window the "5-hour limit", not the "session limit" (the program).Account and Access
Cache warning wording
Undocumented: Only the program shows this item. It can change without notice.
The /model and /effort confirmation no longer promises that the re-read waits for your next message (the program).Models and Providers
/usage rate-limit wording
Undocumented: Only the program shows this item. It can change without notice.
A rate-limited usage page now says Claude is temporarily limiting requests to the usage page (not your usage limit). Try again in a moment. The panel suffix is (requests temporarily limited — try again in a moment). Both say that the limit is on the page, not on your usage (the program).Slash Commands
Three commands removed
Documented: An official docs page names this item.
/artifact-components, /prototype, and /workshop are gone (the program).Bundled Skills
Two new environment variables
Undocumented: Only the program shows this item. It can change without notice.
CLAUDE_CODE_HOST_GUARDS_ARTIFACTS_MCP and CLAUDE_CODE_REMOTE_TOOLS_HOST_IDLE_RELEASE_MINUTES. CLAUDE_CODE_MCP_HANDED_LISTINGS and CLAUDE_WORKSHOP_PROGRESS are gone (the program).Environment Variables
One new endpoint
Undocumented: Only the program shows this item. It can change without notice.
PATCH /api/oauth/account/settings?opt_in_only_if_unset=grove_enabled (the program).API Endpoints
One new error text
Undocumented: Only the program shows this item. It can change without notice.
The plugin CLI reports a run that was granted artifact publishing (the program).Plugin CLI

The release notes also list fixes that no setting and no page covers. One fix is for a Read of a PDF page that failed while the clean-up of old session files ran. One is for a first reply that could be missing after a resume. One is for a session that showed as waiting on you. Two are agent view fixes. The notes list more items for VS Code, Cloud sessions, Remote Control, Claude Tag, and Code Review. This site does not cover them.

Earlier Releases​

The Release Archive keeps the sections for 2.1.300 to 2.1.311. The official Changelog lists every release.

Example​

You update to 2.1.312 and run a hook of the prompt type on a busy session. Claude Code runs at most 24 of those hooks at a time. Check the hook concurrency row. Then check your version:

claude --version