How to Update Claude Code (and Choose Between the Latest and Stable Channels)
Native installs of Claude Code update themselves; Homebrew, WinGet, apt and npm installs don't. How to check your version, update with each method, pick the latest or stable release channel, and turn auto-updates off when you need a fixed version.
Claude Code ships new versions often — sometimes several a week. Staying current gets you new features and security fixes. How you update depends on how you installed it.
Check your version first
claude --version
Inside a session, /status also shows it.
Native installer: it updates itself
If you installed with the recommended native installer (the curl ... | bash or PowerShell one-liner), Claude Code updates automatically in the background. You don't need to do anything.
To force an update right now:
claude update
It reports either Successfully updated from X to version Y or Claude Code is up to date.
Homebrew
Homebrew installs don't auto-update. Run:
brew upgrade claude-code
# or, if you installed the latest cask:
brew upgrade claude-code@latest
Homebrew keeps old versions around, so run brew cleanup now and then to free disk space.
WinGet (Windows)
winget upgrade Anthropic.ClaudeCode
If it fails, close any running Claude Code sessions first — Windows locks the file while it's in use.
apt, dnf, apk (Linux packages)
Update like any other package:
sudo apt update && sudo apt upgrade claude-code # Debian/Ubuntu
sudo dnf upgrade claude-code # Fedora/RHEL
npm
npm install -g @anthropic-ai/claude-code@latest
Use install ...@latest, not npm update -g — the latter respects the version range from your original install and may not move you to the newest release. The npm package needs Node.js 22 or newer.
Let Homebrew or WinGet update automatically
If you prefer a package manager but want automatic updates, set this environment variable:
// ~/.claude/settings.json
{
"env": { "CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE": "1" }
}
Claude Code then runs the upgrade in the background and asks you to restart when it's done.
Latest vs stable: pick a release channel
There are two channels:
- latest (default) — every release as soon as it ships.
- stable — a version that's typically about a week old, skipping releases that had major problems.
If you'd rather not be the first to hit a new bug, use stable:
{
"autoUpdatesChannel": "stable"
}
You can also switch in /config. Homebrew picks the channel by cask name instead: claude-code is stable, claude-code@latest is latest.
Turning auto-updates off
Sometimes you want a fixed version — say, on a shared machine or in CI:
{
"env": { "DISABLE_AUTOUPDATER": "1" }
}
That stops the background updates; claude update still works when you choose to run it. To block all updates, including manual ones, use DISABLE_UPDATES instead.
When an update seems not to work
claude --versionshows the old number. You probably have two installs, and the old one comes first on your PATH. Runwhich -a claudeand remove the extra one. (How to uninstall Claude Code)- "Permission denied" on an npm install. Your npm global folder isn't writable. Don't fix it with
sudo— switch to the native installer. (npm EACCES errors) - Anything else odd. Run
claude doctor; it checks for duplicate installs, PATH problems and whether auto-updates are enabled.
The summary
- Native install: updates itself;
claude updateto force it. - Homebrew/WinGet/apt/npm: update manually with your package manager.
- Use the stable channel if you'd rather wait a week for new releases.
- Old version still showing? Look for a second install with
which -a claude.
EasySpawn keeps Claude Code installed and current on your server, so the version question never comes up — you open a terminal and it's ready. See how it works or join the waitlist.
Related: How to Install Claude Code · How to Uninstall Claude Code · Claude Code Settings Explained · Claude Code Not Working?
Keep reading
How to Uninstall Claude Code (Mac, Windows, Linux, npm, Homebrew)
Removing Claude Code depends on how you installed it: native installer, Homebrew, WinGet, apt/dnf, or npm. The exact commands for each, how to remove settings and history too, and what to do if claude still runs afterwards.
The GitHub MCP Server: Setup With Claude Code and What It Can Do
GitHub's official MCP server lets AI tools read and act on your repositories: issues, pull requests, Actions runs, code search and security alerts. How to connect it to Claude Code (remote or Docker), choose toolsets, use read-only mode, and keep your token safe.