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 updateto 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 cleanupperiodically 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 -gto update Claude Code. That command respects semver ranges from your original install and may not pull the newest release. Always use@latestexplicitly.
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 — usenpm install -g @anthropic-ai/claude-code@latestinstead - Auto-updates only take effect when you start a new session, not in a running one
Next Steps
- Something broken after an update?**: Claude Code Login Problems — How to Fix Them
- Want to remove Claude Code entirely?**: How to Uninstall Claude Code
- Check your install is healthy**: run
claude doctorin your terminal
Return to the Claude Code Beginner’s Guide for the full learning path.