How to Update Claude Code to the Latest Version

Claude Code updates frequently — new features, bug fixes, and model improvements ship regularly. If you installed it a while ago and haven’t updated, you might be missing something useful.

This guide covers how to update Claude Code for every installation method, how to check your current version, and how to fix common update problems.

This is part of our complete Claude Code Beginner’s Guide.


TL;DR

  • Native installer (recommended):** Updates automatically in the background — you usually don’t need to do anything
  • Manual update**: Run claude update to force an immediate update
  • Homebrew**: Run brew upgrade claude-code (auto-updates disabled by default)
  • WinGet**: Run winget upgrade Anthropic.ClaudeCode
  • apt (Ubuntu/Debian)**: Run sudo apt update && sudo apt upgrade claude-code
  • npm**: Run npm install -g @anthropic-ai/claude-code@latest

Step 1: Check Your Current Version

Before updating, check what version you have:


# Print the currently installed Claude Code version
claude --version

You’ll see output like:


2.1.211 (Claude Code)

The version number is what matters. If you want to compare it to the latest release, you can run claude update — it will tell you if you’re already current.


Step 2: Update Based on Your Install Method

Native Installer (Most Common)

If you installed Claude Code using the native installer (curl -fsSL https://claude.ai/install.sh | bash on Mac/Linux, or the PowerShell command on Windows), updates happen automatically.

Claude Code checks for updates when you start it and periodically during sessions. New versions download and install in the background, then take effect the next time you launch Claude Code.

You don’t need to do anything for routine updates.

To force an immediate update, run:


# Manually trigger a Claude Code update check and install
claude update

If an update is available, you’ll see:


Successfully updated from 2.1.200 to version 2.1.211

If you’re already on the latest version:


Claude Code is up to date (2.1.211)

Homebrew (Mac)

Homebrew installs do not auto-update. You need to run the upgrade command manually.


# Update Claude Code installed via the stable Homebrew cask
brew upgrade claude-code

If you installed the latest cask:


# Update Claude Code installed via the latest Homebrew cask
brew upgrade claude-code@latest

💡 Pro Tip: Homebrew keeps old versions on disk after upgrading. Run brew cleanup periodically to free up the space.

WinGet (Windows)

WinGet installs don’t auto-update by default. Run:


# Update Claude Code installed via WinGet
winget upgrade Anthropic.ClaudeCode

⚠️ Warning: The WinGet upgrade may fail while Claude Code is currently running, because Windows locks the executable. Close any active Claude Code sessions first, then run the upgrade.

apt (Ubuntu and Debian)


# Refresh the package list and upgrade Claude Code
sudo apt update && sudo apt upgrade claude-code

dnf (Fedora and RHEL)


# Upgrade Claude Code via dnf
sudo dnf upgrade claude-code

apk (Alpine Linux)


# Update Claude Code via apk
apk update && apk upgrade claude-code

npm

If you installed Claude Code via npm, use this to update it:


# Update the Claude Code npm package to the latest version
npm install -g @anthropic-ai/claude-code@latest

⚠️ Warning: Don’t use npm update -g to update Claude Code. That command respects semver ranges from your original install and may not pull the newest release. Always use @latest explicitly.


Choosing a Release Channel

The native installer offers two release channels you can switch between:

latest (default): Receive new features as soon as they ship. You’ll always be on the newest version.

stable: Receive versions that are typically about one week old, skipping any releases with major regressions. Good if you prefer stability over being on the cutting edge.

To switch channels, run /config inside a Claude Code session and look for Auto-update channel. Or add this to your ~/.claude/settings.json file:


{
  "autoUpdatesChannel": "stable"
}

To switch back to latest:


{
  "autoUpdatesChannel": "latest"
}

How to Disable Auto-Updates

If you need to stay on a specific version — for example, in a team environment where everyone needs to be on the same version — you can disable auto-updates:


{
  "env": {
    "DISABLE_AUTOUPDATER": "1"
  }
}

Add this to your ~/.claude/settings.json file. With this set, claude update still works — it just won’t update automatically in the background.


Common Update Problems and Fixes

claude update says “up to date” but you expected a new version

You may be on the stable channel, which lags behind by about a week. Switch to the latest channel via /config if you want immediate access to new releases.

Homebrew update fails with “already installed” or nothing happens

Run brew update first (which updates Homebrew’s package list), then try brew upgrade claude-code again:


# Update Homebrew's package list first, then upgrade Claude Code
brew update && brew upgrade claude-code

WinGet upgrade fails because Claude Code is running

Close all Claude Code sessions and terminal windows that are running Claude Code, then try the WinGet upgrade again.

npm install -g @anthropic-ai/claude-code@latest still shows old version

Check which claude binary is in your PATH:


# Find out which claude binary your terminal is using
which claude

If it points to a different location than expected, you may have multiple installations. Run claude --version to confirm what you’re actually running after the npm update.

Auto-update installed a new version but Claude Code looks the same

Auto-updates take effect the next time you start Claude Code — not in a running session. Close your current session and reopen it.


Key Takeaways

  • Native installs auto-update** — you don’t need to do anything for most updates
  • Run claude update** to force an immediate update check
  • Package manager installs** (Homebrew, WinGet, apt, dnf, apk) require manual update commands
  • Don’t use npm update -g** for npm installs — use npm install -g @anthropic-ai/claude-code@latest instead
  • Auto-updates only take effect when you start a new session, not in a running one

Next Steps

Return to the Claude Code Beginner’s Guide for the full learning path.