GPT-6 Sol & Claude Opus 5.5 are liveGPT-6 Sol at half the price of 5.6 Sol

Claude Code 2.0: Release Date, New Features and How to Update

Claude Code 2.0 shipped in 2025. The current release is 2.1.316.

Kiki, OmniaKey COO10 min read
On this page

Claude Code 2.0 shipped on September 29, 2025 with a VS Code extension, a refreshed terminal interface and checkpoints you can return to with /rewind. It is no longer current: the 2.0 line ended at 2.0.77 on January 6, 2026, and the newest release on October 31, 2026 is 2.1.316.

VersionReleasedStatus
2.0.0Sep 29, 2025First 2.0 release
2.0.77Jan 6, 2026Last 2.0.x
2.1.0Jan 7, 2026First 2.1 release
2.1.316Oct 31, 2026Latest

To update a native install:

bash
claude update
claude --version

When was Claude Code 2.0 released?

Anthropic published 2.0.0 to npm on September 29, 2025 at 14:41 UTC, the same day as its announcement, "Enabling Claude Code to work more autonomously" (npm registry, checked October 31, 2026). The 2.0 line ran to 2.0.77 on January 6, 2026, 70 published versions in all. Version 2.0.74 came out on December 19, 2025 and 2.0.76 on December 22, 2025.

Version 2.1.0 arrived the next day, January 7, 2026, and the registry held 555 versions in all by October 31, 2026. That day the latest tag pointed at 2.1.316 and the stable tag at 2.1.309. Anthropic's setup page says the stable channel is typically about a week behind and skips releases with major regressions (checked October 31, 2026).

What was new in Claude Code 2.0?

The main changes, from Anthropic's September 29, 2025 announcement and the 2.0.0 changelog:

  • A native VS Code extension in beta, with a sidebar panel and inline diffs.
  • A refreshed terminal interface with better status visibility and searchable prompt history on Ctrl+r.
  • Checkpoints that save the code state before each change.
  • The Claude Code SDK renamed the Claude Agent SDK.
  • Claude Sonnet 4.5 as the default model.

The 2.0.0 changelog has ten items, among them "New native VS Code extension", "Fresh coat of paint throughout the whole app", "/rewind a conversation to undo code changes" and "/usage command to see plan limits".

Checkpoints still work that way today: every prompt that starts a turn creates one, a session keeps the 100 most recent, and snapshots are deleted about 30 days after the session last saved one. /rewind, or Esc twice on an empty prompt, opens a menu with four choices: restore code and conversation, restore the conversation, restore the code, or summarize. Files changed only by Bash commands are not tracked, and edits by subagents are usually not captured, so commit to git before a risky change.

What changed after 2.0?

Version 2.0.74, on December 19, 2025, added an LSP (Language Server Protocol) tool for go-to-definition, find references and hover documentation. Version 2.1.0, on January 7, 2026, carried 15 items, among them:

  • Skills reload as soon as you create or edit them, without a restart.
  • Skills can run in a forked sub-agent with context: fork.
  • A language setting picks the language Claude replies in.
  • Shift+Enter works out of the box in iTerm2, WezTerm, Ghostty and Kitty.
  • A security fix stops OAuth tokens, API keys and passwords from appearing in debug logs.

Since version 2.1.89 (March 31, 2026), release manifests are signed, and earlier versions ship checksums only. The npm package now asks for Node.js 22 or later, up from Node.js 18 for 2.0.0. The default model for Pro, Max, Ultra, Team, Enterprise and the Anthropic API is now Opus 5.5.

2.0 (2025)Now
Version2.0.02.1.316
Default modelSonnet 4.5Opus 5.5
Node for npm18+22+
CLI options4066
Commands618

The CLI options and Commands rows count the claude --help output of 2.0.76 and 2.1.316.

Compared with 2.0.76, the help output of 2.1.316 shows:

  • New commands include agents for background agents, attach, logs, stop and rm for background sessions, auth, import to bring in config from another AI coding agent, purge to delete a project's Claude Code data from the computer, and ultrareview, a cloud-hosted multi-agent code review.
  • New options, among them --worktree for a new git worktree, --effort from low to max, --bg to start in the background, --remote-control, --safe-mode to start with all customizations off, and --name.
  • --permission-mode dropped default and delegate and added auto and manual, so scripts that pass default or delegate need a new value.
  • Only one option disappeared: --mcp-debug, which 2.0.76 already marked deprecated.

How do I check my version and update Claude Code?

Run claude --version to see which version you have: it prints the number followed by "(Claude Code)", for example 2.1.316 (Claude Code). Then update the same way you installed it.

bash
# Native installer
claude update
bash
# Homebrew, stable channel
brew upgrade claude-code
# Homebrew, latest channel
brew upgrade claude-code@latest
bash
# WinGet
winget upgrade Anthropic.ClaudeCode
bash
# npm
npm install -g @anthropic-ai/claude-code@latest

Native installs update themselves in the background, checking at startup and while running, and the new version takes effect the next time you start Claude Code. Homebrew, WinGet and Linux package installs (apt, dnf, apk) need a manual update. On a native install, claude update prints one of the first two lines below, and on a Homebrew, WinGet or apk install it prints the third.

text
Successfully updated from <old version> to version <new version>
Claude Code is up to date (<version>)
Claude is up to date!

claude doctor shows the result of the last update attempt and whether auto-updates are on. The VS Code extension's version number is the Claude Code version it bundles.

On npm, avoid npm update -g: it keeps the version range of the original install and may not reach the newest release. Do not use sudo npm install -g either.

What happens when you update an old 2.0 install?

On October 31, 2026 we ran five fresh installs on a Mac with Node.js 26.12.1, each in an empty home folder, and pointed them at Claude models through the OmniaKey API.

InstallStarted?After update
Native 2.0.0Yes2.1.308
Native 2.0.76Yes2.1.314
npm 2.0.76YesFailed
npm 2.0.0CrashedNot run

Both native installs started, and claude update moved each one to 2.1.x. Installing 2.0.0 took 36.6 seconds and its update 35.6 seconds, and installing 2.0.76 took 51.6 seconds and its update 29.6 seconds.

text
Successfully updated from 2.0.0 to version 2.1.308
Successfully updated from 2.0.76 to version 2.1.314

Neither landed on 2.1.316, the newest version on npm that hour, so check claude --version after an update.

The npm 2.0.76 install started and then failed to update:

text
New version available: 2.1.316 (current: 2.0.76)
Error: Failed to install update
Or consider using native installation with: claude install

The version stayed 2.0.76. The npm 2.0.0 build never got that far: it crashed at startup on Node.js 26.12.1 with exit code 1.

text
TypeError: Cannot read properties of undefined (reading 'prototype')

The native 2.0.0 binary started fine on the same machine, so that crash belongs to the npm build of 2.0.0 on this Node version. The npm 2.1.316 install started and printed 2.1.316 (Claude Code). With an npm install, update with the npm command above, or, as the message suggests, move to the native installer with claude install.

After a native update, both versions stay under ~/.local/share/claude/versions/ and the launcher points at the new one. The binaries we measured were 74 MB for 2.0.0, 182 MB for 2.0.76, 275 MB for 2.1.308 and 279 MB for 2.1.314, so each update left the old binary on disk.

Can I pin a version, roll back or slow down updates?

Install a specific version with the same script and a version number:

bash
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89
powershell
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89

Use stable in place of the number to start on the stable channel. Whichever channel you pick at install becomes the default for auto-updates, and you can change it later in settings.json:

json
{"autoUpdatesChannel": "stable"}

latest, the default, installs new releases as they appear. stable is typically about a week old and skips releases with major regressions, and the same switch sits in /config. A newly launched model can need a version newer than the stable channel serves, so switch to latest to run it at once.

minimumVersion sets a floor, and auto-updates plus claude update then refuse to install anything older:

json
{"minimumVersion": "2.1.143"}

DISABLE_AUTOUPDATER set to 1 in the env key of settings.json stops only the background check, and claude update still works. DISABLE_UPDATES blocks every path, manual ones included.

Two users' bug reports on GitHub show the rough edges. On February 12, 2026, one user reported: "When running curl -fsSL https://claude.ai/install.sh | bash -s <version> to install a specific version, the script downloads the new binary but fails to update the symlink, leaving the user on the old version" (issue #25165, closed).

On May 17, 2026, a Windows user reported that after installing 2.1.143 on the stable channel, the auto-updater put back 2.1.133, the stable build at the time. Setting autoUpdatesChannel: "latest" together with minimumVersion: "2.1.143" "stopped the revert" (issue #60065, closed).

After pinning, run claude --version and confirm the number you expected.

Will an old Claude Code version still work?

Anthropic publishes no cut-off date for old builds, and none of its pages we checked says 2.0.x is refused. The API can still reject a request with a 400 claude_code_version_too_old when the model you selected needs a newer build, or when your organization's policy requires one (Anthropic errors page, checked October 31, 2026).

Behind a gateway, an old install's built-in default model can break it. Started with no model set, 2.0.76 asked for claude-sonnet-4-5-20250929, its built-in default, and the request failed because our gateway does not serve that model. 2.1.316 asked for claude-opus-5-5 and answered.

Set the model yourself with --model or the ANTHROPIC_MODEL environment variable. Given --model claude-sonnet-5-5, 2.0.76 did the bug fix below without trouble.

Early 2.0 builds had their own problems too: a user reported on October 1, 2025 that Claude Code 2.0.0 and 2.0.1 kept freezing in Emacs and in a shell on Linux (issue #8657, closed).

So update unless you have a reason to stay. If you stay on 2.0, name the model in every session.

Is the new version better on the same task?

We ran one bug-fix task on 2.0.76 and 2.1.316, non-interactively, both with --model claude-sonnet-5-5.

Task:

The tests in test_wordcount.py fail. Find the bug in wordcount.py, fix it, and run python3 test_wordcount.py to confirm. Do not change the test file.

The bug was a case-sensitive word count.

2.0.762.1.316
FixSame lineSame line
Tests afterPassPass
Time25.8 s15.9 s
Turns55
CLI cost estimate$0.129$0.055
Cache read50,54734,306

Both versions made the same one-line fix, lowercasing the text with text.lower() before counting, and left the test file alone. The tests passed on both, and the two diffs are byte-identical, so the newer build changed the time taken, not the answer.

Version 2.1.316 finished in 15.9 seconds against 25.8 seconds, 38% less time, and its Claude Code cost estimate was $0.055 against $0.129, mostly because it read and wrote fewer cached tokens. Those two dollar figures are Claude Code's own cost estimate, not what we paid. One task, one run on each version, is a small sample.

How do I use Claude Code with an API key instead of a subscription?

Claude Code needs a Pro, Max, Ultra, Team, Enterprise or Console account, and the free claude.ai plan does not include it. A gateway takes two variables: ANTHROPIC_BASE_URL for where requests go, and a credential, where ANTHROPIC_AUTH_TOKEN is sent as Authorization: Bearer and ANTHROPIC_API_KEY as x-api-key. The base URL changes where requests go, not which model answers, so name the model as well.

bash
export ANTHROPIC_BASE_URL="https://api.omniakey.com"
export ANTHROPIC_AUTH_TOKEN="your-omniakey-api-key"
claude --model claude-sonnet-5-5

Our tests above ran this way, with an OmniaKey key in ANTHROPIC_AUTH_TOKEN.

The Claude Code API key guide covers the variables and Windows setup. For the longer walkthrough, read our setup guide and Claude Code without a subscription. The Claude Opus 5.5 and Claude Sonnet 5.5 model pages show what each one is for, and plan prices sit in our Claude Code pricing guide.

Common questions

Is Claude Code 2.0 the latest version?

No. The 2.0 line ended at 2.0.77 on January 6, 2026, and the newest release on October 31, 2026 is 2.1.316. Run claude --version to see yours.

When was Claude Code 2.0 released?

Claude Code 2.0 was released on September 29, 2025, when version 2.0.0 reached npm on the same day as Anthropic's announcement. The 2.1 line started on January 7, 2026.

How do I update Claude Code?

On a native install, run claude update, or let it update itself in the background. Homebrew uses brew upgrade claude-code or brew upgrade claude-code@latest, WinGet uses winget upgrade Anthropic.ClaudeCode, and npm uses npm install -g @anthropic-ai/claude-code@latest. Then check the result with claude --version.

How do I install an older version of Claude Code?

Pass the version to the install script: curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89 on macOS, Linux or WSL, or & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89 in PowerShell.

Does Claude Code work on the free plan?

No. The free claude.ai plan does not include Claude Code, which needs a Pro, Max, Ultra, Team, Enterprise or Console account. The other way in is an API key, from the Anthropic Console or from a gateway, billed by usage.

Sources checked

Claude CodeClaude Code 2.0release notesupdate guideAnthropic

Related articles

Recent posts