Skip to content

The Claude Code version history lists Anthropic’s Claude Code CLI releases from 1.0.0 (22 May 2025) to 2.1.296 (9 October 2026): each milestone’s date, its main features, and the changes that break scripts or settings, such as removed commands, ignored settings, and new default models. Dates and wording follow Anthropic’s official changelog.

This page is for the developer or tech lead who owns Claude Code in a pipeline, a hook, or a shared .claude/settings.json. Claude Code ships roughly one release per day. A Monday morning can start with a teammate asking why their session now opens in auto mode, why CLAUDE_CODE_ENABLE_AUTO_MODE stopped doing anything, or why this week’s bill doubled, and nobody on the team changed a line of config.

What you get from this Claude Code changelog

Section titled “What you get from this Claude Code changelog”
  • The current version on each release channel, and the command that tells you which one you run.
  • A table of the 2026 changes that break scripts, hooks, and settings, each with its version and replacement.
  • A seven-step upgrade routine with a pass signal you can read without reading the agent’s output.
  • Two copy-paste prompts: one that finds removed settings in your repository, one that writes your team’s upgrade note.
  • A month-by-month record of the releases that mattered, from general availability to today.

Claude Code has two release channels. latest gets every release as soon as it ships. stable is “typically about one week old” and skips releases with major regressions, according to Anthropic’s setup guide. The same guide warns that a newly launched model can need a Claude Code version newer than stable serves. Name the channel whenever you name a version: on 2026-10-12 every change from 2.1.288 on is on latest only.

ItemCurrent value (2026-10-12)How to check
latest channel2.1.296, released 2026-10-09claude --version · npm view @anthropic-ai/claude-code dist-tags
stable channel2.1.287, released 2026-10-01; npm, the native installer, and the Homebrew cask claude-code agreethe stable entry in the same dist-tags output
Default model on latest and stableClaude Opus 5.5 on every paid plan and the API (needs 2.1.280 or later; stable 2.1.287 meets that)/model in a session
sonnet alias on the Anthropic APIClaude Sonnet 5.5 since 2.1.284, on both channels/model in a session
haiku alias on the Anthropic APIClaude Haiku 5.5 since 2.1.293, on latest only (stable 2.1.287 predates it; before 2.1.293 the alias pointed to Haiku 4.5)/model in a session
Claude Agent SDKnpm @anthropic-ai/claude-agent-sdk 0.3.296 · PyPI claude-agent-sdk 0.2.165npm view @anthropic-ai/claude-agent-sdk version
Release notes inside the tool/release-notes opens an interactive version picker (since 2.1.92)type it in a session

Model prices and the full per-provider default and alias table live on the models hub. This page names models only where a release changed which one you get. SDK usage is covered in the Claude Agent SDK guide.

Which Claude Code changes break scripts and settings?

Section titled “Which Claude Code changes break scripts and settings?”

Most releases only add things. The rows below are the 2026 changes that make something you already have stop working, or start behaving differently, without an error message.

ChangeSinceWhat breaksUse instead
/vim and /tag commands removed2.1.92 (2026-04-04)Team docs and muscle memory point at commands that no longer existVim mode lives under /config → Editor mode
workflow keyword renamed to ultracode2.1.160 (2026-06-02)The word “workflow” in a prompt no longer starts a dynamic workflow/effort ultracode, or ask for a workflow in your own words
/agents wizard removed2.1.198 (2026-07-01)Onboarding docs that say “run /agents”Ask Claude to create the subagent, or edit .claude/agents/ directly. claude agents now opens agent view
default permission mode shown as Manual2.1.200 (2026-07-03)Screenshots and runbooks use the old label; the config value default still worksWrite “Manual” in docs; keep default or use manual in config
CLAUDE_CODE_ENABLE_AUTO_MODE has no effect2.1.207 (2026-07-11)Scripts that export it to opt in or out change nothingTo turn auto mode off, set permissions.disableAutoMode: "disable"
autoMode rules no longer read from .claude/settings.local.json2.1.207 (2026-07-11)Repository-resident classifier rules are silently ignoredMove them to ~/.claude/settings.json
Task tool mode parameter ignored2.1.212 (2026-07-17)Agent definitions or SDK code that set it get the default behaviourSubagents inherit the parent session’s permission mode, so set the mode on the session
/ultraplan removed from the command reference2.1.222 (2026-08-04)Runbooks that start with /ultraplanPlan mode (/plan)
defaultMode: "bypassPermissions" in project settings ignored2.1.257 (2026-09-01)A checked-in .claude/settings.json no longer grants bypass mode, the same as "auto"User or managed settings, or --permission-mode on the command line, and only in a disposable sandbox
TaskOutput tool removed2.1.277 (2026-09-18)taskOutputMaxChars and TASK_MAX_OUTPUT_LENGTH stop having any effect; hooks that match TaskOutput never fireClaude reads a background task’s output file with Read
AGENTS.md read when there is no CLAUDE.md2.1.277 first-party; 2.1.281 on Bedrock, Google Cloud, Foundry, gateways, and telemetry-off sessionsA repository that only has AGENTS.md now loads instructions it ignored beforeReview AGENTS.md as if it were CLAUDE.md, or turn it off under “Project instructions” in /config
Default model moves to Opus 5.52.1.280 (2026-09-22)Cost, speed, and eval baselines shift for every session that does not pin a model; Pro and Team Standard move from Sonnet to OpusPin --model in CI and re-run your evals before you move the pin
Auto mode becomes the starting mode everywhere2.1.283 (2026-09-25)Interactive sessions on Bedrock, Google Cloud, Foundry, and telemetry-off installs now start in auto mode (Pro, Max, and Team already did from 2026-08-14)Set permissions.defaultMode to keep another mode. claude -p and the Agent SDK still start in Manual (from 2.1.285 that no longer holds on third-party providers or with telemetry off; see the 2.1.285 row)
Ultracode no longer forces xhigh2.1.284 (2026-09-28)A runbook that expects /effort ultracode to set xhigh, or picking another level to turn it off, gets neither: the toggle leaves the effort level unchanged, and an effort cap below xhigh no longer makes ultracode unavailableSet the level with /effort as its own step. --effort ultracode and the Agent SDK value effortLevel: "ultracode" still turn it on and set xhigh. Turn it off with /effort or the ultracode setting
claude -p and Python Agent SDK sessions start in auto mode on third-party providers or with telemetry off2.1.285 (2026-09-29)A headless job that sets no permission mode used to start in Manual and now starts in auto, where a classifier decides what runs. Elsewhere -p and the Agent SDK still start in ManualSet --permission-mode or permissions.defaultMode in every unattended job. A settings file with permissions.disableAutoMode: "disable" keeps Manual
Background Bash and PowerShell commands stop after a time limit2.1.285 (2026-09-29); from 2.1.288 (2026-10-02, latest only) the limit applies only in unattended sessionsA dev server or watcher that Claude starts in the background is stopped when its timeout runs out (default 30 minutes, maximum 2 hours). The unattended sessions are -p, the Agent SDK, CI, and cloudSet a timeout that covers the job, up to 2 hours. Start anything that must live longer outside Claude Code
A custom ANTHROPIC_BASE_URL gets the 1M window2.1.285 (2026-09-29)Claude Code uses a 1M-token window for Opus 4.7 and later, Sonnet 5 and later, and Fable behind your gateway, even when the gateway stops at 200KRun /autocompact 200k when your gateway stops at 200K
Project sandbox settings can no longer widen an admin sandbox2.1.285 (2026-09-29)A project setting that loosened the administrator’s sandbox no longer doesChange the sandbox in managed settings, not in the project
--bare is stricter2.1.286 (2026-09-30)--bare connects only the MCP servers named on the command line, sends no system reminders, and starts no background tasks. A scripted call that relied on configured MCP servers loses their toolsName every MCP server the call needs on its command line
MCP URL prompts from servers on the 2025-11-25 protocol2.1.287 (2026-10-01)Claude Code now handles URL prompts from a server on that protocol, and some servers no longer connectThe changelog entry says to add "bareElicitationCapability": true; read the 2.1.287 entry in the official changelog for where it goes
Opus 4.7 and later and Fable default to a 1M window on Bedrock, Google Cloud, Foundry, and the Claude apps gateway2.1.287 (2026-10-01)Sessions there get a 1M-token window instead of 200K, with no [1m] suffixSet CLAUDE_CODE_DISABLE_1M_CONTEXT=1 to keep 200K
claude project purge renamed claude purge2.1.288 (2026-10-02, latest only)The old name still works and prints a notice, so a script that captures its output sees a new lineCall claude purge
An interactive session’s WebSearch budget refills at 100 calls an hour2.1.290 (2026-10-05, latest only)An interactive session that relied on the hard stop after 200 calls keeps searching as the budget refills. Non-interactive sessions (-p, the Agent SDK) default to no refillCLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR sets the rate (0 turns refill off); CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION raises the cap
Project settings lose two switches2.1.290 (2026-10-05, latest only)A project’s settings can no longer turn on Claude in Chrome, and repository settings can no longer set CLAUDE_CODE_DISABLE_ATTACHMENTSSet both in user or managed settings
pyright and more forms of ps ask for permission2.1.290 (2026-10-05, latest only)Calls to them that ran without a prompt now ask firstAdd an allow rule for the exact command when a job must run it unattended
Local (stdio) MCP servers and claude.ai connectors negotiate protocol 2026-07-28 by default2.1.292 (2026-10-06) for local servers on every install; 2.1.295 (2026-10-08) for claude.ai connectors on installs that fetch no feature flags; both latest onlyAn older server may stop answering the negotiationMCP_PROTOCOL_NEGOTIATION=legacy opts out on that machine; update the server
Network (UNC) path reads can no longer skip the permission prompt2.1.292 (2026-10-06, latest only)A PreToolUse hook approval or auto mode no longer bypasses the prompt for file reads from network (UNC) pathsExpect the prompt; Anthropic’s changelog lists this as a security fix
Subagents preload at most 32 skills2.1.295 (2026-10-08, latest only)A subagent whose skills list names more than 32 preloads only 32Trim the list or split the work across subagents
MCP size limits changed2.1.295 (2026-10-08) and 2.1.296 (2026-10-09), both latest onlyWebSocket MCP messages over 16 MiB close the connection. Tool descriptions loaded through tool search are cut at 16,384 characters (was 2,048). From 2.1.296 the default limit on descriptions sent up front and on MCP server instructions is 4,096 characters (was 2,048)Keep messages under 16 MiB and check that your server instructions still fit
Cost figures use the lower Sonnet 5.5 cache-read rate2.1.296 (2026-10-09, latest only)/cost, the status line, --max-budget-usd, and SDK cost figures price Sonnet 5.5 cache reads at the rate Anthropic cut on 2026-10-07 (the models hub has the price). A cap or alert tuned on the earlier figure now reads lower for the same workRecalibrate budget caps and cost alerts from the new figures

Rows up to 2.1.283 were checked against the Claude Code 2.1.283 changelog on 2026-09-26. Rows from 2.1.284 on were checked against Anthropic’s changelog, model configuration page and permission modes page on 2026-10-12, with claude --version reporting 2.1.296. On 2026-10-12 stable is 2.1.287, so every row up to 2.1.287 is on both channels; rows from 2.1.288 are on latest only until stable passes their version.

How do you upgrade Claude Code without breaking CI?

Section titled “How do you upgrade Claude Code without breaking CI?”

Treat a Claude Code upgrade like a dependency bump: one pull request, an exact version, and a smoke test whose result you can read without reading the agent’s transcript. The fleet-wide rollout (pilot group, staged waves, managed settings) is covered in Claude Code upgrade procedures; this routine is the per-repository gate.

  1. Record what you run today and what each channel offers.

    Terminal window
    claude --version
    npm view @anthropic-ai/claude-code dist-tags
  2. Read the release notes for every version in between. Run /release-notes in a session, or open the official changelog. Scan for “Removed”, “Changed”, “deprecated”, “no longer”, and “default”. The second prompt below does this for you.

  3. Search your repository for the removed settings in the table above. The first prompt below does this and proposes replacements.

  4. Install the new version on a branch, pinned to an exact version. In CI, use npm (Node.js 22 or later) and turn off the background updater so the job cannot move under you:

    Terminal window
    npm install -g @anthropic-ai/claude-code@2.1.296
    export DISABLE_AUTOUPDATER=1

    On a workstation with the native installer, claude install 2.1.296 installs that exact version, and claude install stable installs the current stable build; set autoUpdatesChannel: "stable" to keep background updates on that channel.

  5. Check the installation and make the smoke test cheap and bounded:

    Terminal window
    claude doctor
    claude -p --model claude-opus-5-5 --output-format json --max-budget-usd 0.50 "Reply with the single word OK." | jq -r '.result'

    claude doctor reports the installed version, whether auto-updates are on, and settings problems, without starting a session. The second command proves authentication, model access, and JSON output in one call; the pass signal is the literal OK. Set --model to the model your pipeline pins, so the test proves that model is still reachable on the new version rather than whatever the default happens to be.

  6. Run your real automation once against a fixed fixture. If a job uses --output-format json or --json-schema, compare the result with the last known-good run: same keys, same verdicts on the same input. Trigger one hook on a fixture file and check its side effect (the formatter ran, the log line exists). On 2.1.283, /doctor prompt-audit also flags instructions in CLAUDE.md, skills, agents, and commands that were written for older models.

  7. Bump the pin in CI in the same pull request. The engineer who owns the CI config approves the merge once steps 5 and 6 pass. If the nightly run fails after merge, revert the pin (npm install -g @anthropic-ai/claude-code@PREVIOUS_VERSION) before you debug.

Replace PREVIOUS_VERSION with the version from step 1.

Replace 2.1.287 and 2.1.296 with your version from step 1 and the version you want. Both prompts ask for the exact line or a quotation behind every claim, so the reviewer checks each finding against its source instead of trusting a summary.

How do you keep a team on a known Claude Code version?

Section titled “How do you keep a team on a known Claude Code version?”

These controls work at three levels: user settings, managed settings, and environment variables. The first two keys belong in user settings on a workstation, as in this example; the managed ones apply when the whole organization must follow them, and the environment variables suit CI runners and machines where you distribute Claude Code yourself.

{
"autoUpdatesChannel": "stable",
"minimumVersion": "2.1.287"
}
  • autoUpdatesChannel picks the channel for background updates and claude update. Homebrew ignores it: the cask name picks the channel (claude-code tracks stable, claude-code@latest tracks latest).
  • minimumVersion is a floor for updates, so moving to stable does not downgrade you from a newer latest build.
  • requiredMinimumVersion and requiredMaximumVersion (managed) make Claude Code refuse to start outside a version range.
  • availableModelsMatch: "exact" (managed, 2.1.283 or later) makes an availableModels entry allow only the model version it names, so a new model stays blocked until your evals have run on it.
  • DISABLE_AUTOUPDATER=1 stops the background check only; DISABLE_UPDATES (2.1.118 or later) also blocks claude update and claude install, for teams that distribute Claude Code through their own channel.

The enterprise integration guide shows how to deliver managed settings to every machine.

What changed in Claude Code, month by month?

Section titled “What changed in Claude Code, month by month?”

Highlights only. Minor fixes are left out; the official changelog has every line.

On 2026-10-12, 2.1.287 is the stable channel and 2.1.296 is latest. The releases from 2.1.288 on are on latest only.

ReleaseDateHighlights
2.1.2962026-10-09latest on 2026-10-12. CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL runs every workflow agent on one model; cost figures price Sonnet 5.5 cache reads at the lower rate; the default limit on MCP tool descriptions and server instructions rises to 4,096 characters
2.1.2952026-10-08Hooks accept onFailure: "block" for command and HTTP hooks; subagents preload at most 32 skills; claude.ai connectors negotiate MCP 2026-07-28 by default; the Claude apps gateway takes per-upstream models lists
2.1.2942026-10-08Better judging of instruction-style prompt hooks on Stop and SubagentStop
2.1.2932026-10-07Claude Haiku 5.5 added; the haiku alias points to it on the Anthropic API; agentType in the subagentStatusLine payload
2.1.2922026-10-06Local (stdio) MCP servers negotiate protocol 2026-07-28 by default (MCP_PROTOCOL_NEGOTIATION=legacy opts out); the Agent tool takes an effort parameter; claude plugin install --marketplace <source>
2.1.2912026-10-06Two regression fixes: cloud permission answers, and the last messages lost on quit
2.1.2902026-10-05claude attach <name> and claude logs <name> accept part of a session name; an interactive session’s WebSearch budget refills at 100 calls an hour; /claude-api managed-agents-onboard
2.1.2892026-10-03Mods can spawn teammates with agent.spawn
2.1.2882026-10-02claude project purge renamed claude purge; /code-review --max-findings caps the findings reported (a number or all); /autocompact saved per model; Ctrl+F in agent view
2.1.2872026-10-01stable on 2026-10-12. Claude Mods added: plugins can change deeper behaviour; Opus 4.7 and later and Fable default to a 1M window on Bedrock, Google Cloud, Foundry, and the Claude apps gateway; Sonnet 5.5 can act as an advisor for Opus 4.7 and 4.8
ReleaseDateHighlights
2.1.2862026-09-30--bare connects only the MCP servers named on the command line; permission prompts show a counter such as “2 of 5”; commit guidance runs a project or user skill named verify before committing
2.1.2852026-09-29claude --desktop; allowedProviders managed setting; claude -p and Python Agent SDK sessions start in auto mode on third-party providers or with telemetry off; background shell commands stop after a time limit
2.1.2842026-09-28Claude Sonnet 5.5 added; the sonnet alias points to it on the Anthropic API; ultracode becomes its own toggle that no longer forces xhigh; /mcp reconnect all
2.1.2832026-09-25Auto mode is the starting mode on every provider; deniedModels and availableModelsMatch managed settings; /doctor prompt-audit
2.1.2812026-09-23AGENTS.md support extended to Bedrock, Google Cloud, Foundry, LLM gateways, and telemetry-off sessions
2.1.2802026-09-22Claude Opus 5.5 added as the default Opus model; Pro and Team Standard default moves from Sonnet to Opus
2.1.2782026-09-19Auto mode uses the server-side classifier by default for the API, Enterprise, cloud providers, and gateways; new Auto mode server row in /status
2.1.2772026-09-18AGENTS.md read when a project has no CLAUDE.md; TaskOutput tool removed; invisible Unicode characters stripped from prompts before sending
2.1.2752026-09-17Skills and plugins enabled on claude.ai sync to terminal sessions
2.1.2742026-09-17MCP 2026-07-28 negotiation with direct HTTP servers becomes the default on Bedrock, Google Cloud, Foundry, and telemetry-off installs (opt out with MCP_PROTOCOL_NEGOTIATION=legacy)
2.1.2692026-09-11/output-style [name]
2.1.2592026-09-02--permission-prompts none for unattended -p hosts: anything that would prompt is denied, while the permission mode keeps deciding everything else
2.1.2572026-09-01Claude Fable 5.1 becomes the default Fable model; bypassPermissions in project settings ignored
ReleaseDateHighlights
2.1.2512026-08-28PreModelSwitch and PostModelSwitch hook events; /effort saved per model; seat-based Enterprise default moves to Opus
2.1.2482026-08-27--restricted removes the built-in tools that run commands or code
2.1.2462026-08-25Auto mode tab in /permissions to view and edit classifier rules
—2026-08-14Auto mode becomes the starting mode on Pro, Max, and Team (Anthropic’s “What’s new”, week 32)
2.1.2242026-08-07Cross-session SendMessage with ListAgents; self-hosted environments (claude self-hosted-runner, Team and Enterprise); 200-subagent-per-session cap removed
2.1.2222026-08-04Ultraplan removed
ReleaseDateHighlights
2.1.2192026-07-24Claude Opus 5 added as the default Opus; DirectoryAdded hook event; Opus 4.7 removed from fast mode
2.1.2122026-07-17Task tool mode parameter deprecated
2.1.2102026-07-14The auto mode classifier defaults to Sonnet 5
2.1.2072026-07-11Auto mode on Bedrock, Google Cloud, and Foundry without opt-in; CLAUDE_CODE_ENABLE_AUTO_MODE has no effect; autoMode no longer read from .claude/settings.local.json
2.1.2022026-07-06“Dynamic workflow size” setting
2.1.2002026-07-03The default permission mode is labelled Manual
2.1.1982026-07-01Claude in Chrome generally available; /agents wizard removed
ReleaseDateHighlights
2.1.1972026-06-30Claude Sonnet 5 added and made the default on Pro, Team Standard, and Enterprise seats
2.1.1832026-06-19Auto mode blocks destructive git commands (git reset --hard, git clean -fd) when you did not ask to discard work
2.1.1782026-06-15Skills in nested .claude/skills directories load when you work on files there
2.1.1702026-06-09Claude Fable 5 added
2.1.1692026-06-08/cd moves a session to a new directory; disableBundledSkills setting
2.1.1602026-06-02Dynamic-workflow keyword renamed from workflow to ultracode
ReleaseDateHighlights
2.1.1542026-05-28Claude Opus 4.8 added, default effort high
2.1.1522026-05-27Auto mode no longer requires opt-in consent; skills can set disallowed-tools in frontmatter
2.1.1362026-05-08autoMode.hard_deny for classifier rules that block unconditionally
2.1.1182026-04-23DISABLE_UPDATES blocks every update path; "$defaults" keeps the built-in auto mode rules alongside yours
2.1.1112026-04-16Claude Opus 4.7 and the xhigh effort level
2.1.922026-04-04/release-notes becomes an interactive version picker; /vim and /tag removed
2.1.892026-04-01PermissionDenied hook event; "defer" decision for PreToolUse hooks in headless sessions
2.1.832026-03-25sandbox.failIfUnavailable; CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 strips credentials from subprocess environments
2.1.812026-03-20--bare for scripted -p calls: skips hooks, LSP, plugin sync, and skill directory walks (on 2.1.283 it also skips CLAUDE.md auto-discovery)
2.1.752026-03-131M context for Opus 4.6 by default on Max, Team, and Enterprise; the old C:\ProgramData\ClaudeCode managed-settings path removed
2.1.682026-03-04Opus 4 and 4.1 removed from Claude Code on the first-party API; pinned users moved to Opus 4.6
ReleaseDateHighlights
2.1.632026-02-28HTTP hooks: POST JSON to a URL instead of running a shell command
2.1.492026-02-19--worktree (-w) starts Claude in an isolated git worktree
2.1.452026-02-17Claude Sonnet 4.6 support
2.1.322026-02-05Claude Opus 4.6; fast mode followed in 2.1.36 (2026-02-07)
2.1.72026-01-14MCP tool search on by default
2.1.32026-01-09Release channel (stable or latest) toggle in /config
2.1.02026-01-07Skill hot-reload; context: fork for skills; wildcard Bash permission rules such as Bash(npm *); hooks in agent and skill frontmatter
ReleaseDateHighlights
2.0.512025-11-24Claude Opus 4.5; Claude Code for Desktop
2.0.202025-10-16Skills support
2.0.172025-10-15Claude Haiku 4.5; the Explore subagent
2.0.122025-10-09Plugin system: commands, agents, hooks, and MCP servers from marketplaces
2.0.02025-09-29Native VS Code extension; /rewind; the Claude Code SDK renamed the Claude Agent SDK; claude config command removed
1.0.602025-07-24Custom subagents
1.0.382025-06-30Hooks
1.0.02025-05-22Claude Code generally available, with Sonnet 4 and Opus 4

The 0.2.x releases before 1.0.0 were the research preview.

What breaks after a Claude Code upgrade, and how do you recover?

Section titled “What breaks after a Claude Code upgrade, and how do you recover?”
  • Sessions open in auto mode and a teammate did not expect it. Version 2.1.283 made auto mode the starting mode everywhere it is supported, and it is on both channels since stable reached 2.1.287. Set permissions.defaultMode in user or managed settings to keep another mode. To turn it off for the organization, set permissions.disableAutoMode: "disable" in managed settings; the old environment variable does nothing.
  • A headless job approves things it used to refuse. From 2.1.285, claude -p and Python Agent SDK sessions on third-party providers or with telemetry off start in auto mode when no permission mode is configured. Pass --permission-mode in the job, or set permissions.disableAutoMode: "disable" to keep Manual.
  • A background server dies after 30 minutes. From 2.1.285, a background Bash or PowerShell command stops when its timeout runs out (default 30 minutes, maximum 2 hours). Since 2.1.288 (latest only) the limit applies only in unattended sessions. Raise the timeout, or start the process outside Claude Code.
  • A scripted --bare call lost its tools. From 2.1.286, --bare connects only the MCP servers named on the command line. Name each server the call needs.
  • Costs or run times jump with no config change. The default model moved (Opus 5.5 from 2.1.280). Pin --model in CI, compare a week of /usage numbers, and move the pin only after your evals pass. The new-model playbook covers that evaluation.
  • A checked-in bypass or auto setting stops applying. Project settings can no longer grant bypassPermissions (2.1.257) or auto. That is deliberate: a cloned repository should not raise its own permissions. Move the setting to user or managed settings on a disposable, network-restricted sandbox only.
  • Claude follows instructions nobody wrote for it. Since 2.1.277 a repository with AGENTS.md and no CLAUDE.md loads AGENTS.md. Ask Claude in a fresh session to list the project instructions it loaded; a surprising rule shows up in the first answer. Fix the file or turn the behaviour off under “Project instructions” in /config.
  • A hook stops firing. Check its matcher against removed tools (TaskOutput in 2.1.277) and renamed events, then run claude doctor. The hooks guide shows how to test a hook in isolation.
  • An MCP server that worked last week fails to connect. From 2.1.274 every install, including Bedrock, Google Cloud, Foundry, and telemetry-off installs, negotiates MCP 2026-07-28 with direct HTTP servers, and an older server may not answer that negotiation. From 2.1.292 (latest only on 2026-10-12), local (stdio) servers negotiate it on every install too. Confirm with claude --version and /mcp, set MCP_PROTOCOL_NEGOTIATION=legacy or MCP_SDK_GENERATION=v1 on the affected machine as a stopgap, and upgrade the server. A server on the 2025-11-25 protocol that stopped connecting after 2.1.287 may need "bareElicitationCapability": true, as the changelog’s 2.1.287 entry says.
  • A model name fails on an older CLI. Haiku 5.5 needs 2.1.293, Sonnet 5.5 needs 2.1.284, Opus 5.5 needs 2.1.280, Fable 5.1 needs 2.1.257, and Sonnet 5 needs 2.1.197. Haiku 5.5 is on latest only on 2026-10-12. Upgrade the CLI first; do not work around it by running a model the team has not evaluated.

When the fix is not obvious within the hour, revert the pin and debug on a branch. The troubleshooting guide covers installation and authentication failures.

Where to go next after a Claude Code upgrade

Section titled “Where to go next after a Claude Code upgrade”

The sibling changelogs track the other two tools the same way: Codex version history and Cursor version history. For every line of every release, read Anthropic’s Claude Code changelog.