Part ofWhat Is Claude Code? The Complete Guide
In This Article
8 sectionsQuick answer
Run claude update to get the latest Claude Code in seconds. Full steps for the native installer, npm, and package managers — plus how to control auto-updates.
The fastest way to update Claude Code is to run claude update in your terminal — it fetches the latest version and installs it in seconds. Check your current build first with claude --version. Because Claude Code auto-updates in the background on startup, you're usually already current; this guide covers how to update Claude Code manually, by npm, and by package manager for the times you're not.
Update commands and auto-update settings verified 31 July 2026 against Anthropic's Claude Code setup guide.
We update Claude Code constantly — new models and features ship weekly, and staying current is the difference between using last month's agent and today's. The good news: it's almost always a single command. Below is exactly how to update Claude Code on every install method, how the built-in auto-updater works, and what to do when an update refuses to apply. Anthropic's Claude Code documentation is the canonical reference for the CLI. Everything below was tested by hand, so you are following a path we have actually walked rather than a theory.
Key takeaway
Claude Code updates with a single command, claude update, which fetches and installs the newest release in under 30 seconds; because the native installer also auto-updates on startup, its five install methods and two auto-update settings only matter when you need to force or freeze a version.
Step 1: Check your current Claude Code version
Run claude --version in any terminal, or type /status inside a session, and note the number. You need that baseline to confirm afterwards that the new build actually replaced the old one.
Before you update, see what you're running so you can confirm the change afterward. In any terminal, run:
claude --version
That prints the installed version number. You can also type /status inside an interactive Claude Code session to see the version alongside your model and account. Note it down — in Step 3 you'll compare against it to prove the update landed. If the command isn't found at all, Claude Code isn't installed yet, and you want our what is Claude Code explainer instead of this update guide.
Step 2: Run the claude update command
claude update does everything on a native install: it downloads the newest release, swaps it in, and reports the new version, usually in under thirty seconds. No npm or package manager is involved.
For the standard (native) installation, one command does everything:
claude update
This applies an update immediately instead of waiting for the next background check. It downloads the latest release, swaps it in, and reports the new version — on a normal connection the whole thing is usually done in under 30 seconds. This is the single most important thing to know about how to update Claude Code — the built-in updater handles the download, install, and cleanup for you, so you rarely need npm or a package manager at all.
Step 3: Verify Claude Code updated to the latest version
Run claude --version again and check the number rose. If a session was already open, quit it completely and relaunch — updates take effect on the next start, never mid-session.
Confirm the update actually applied. Run the version command again:
claude --version
The number should now be higher than what you saw in Step 1. If Claude Code was already running, fully quit and relaunch it — updates take effect on the next start, not mid-session. Once the version bumps, you're done: that's the complete path for how to update Claude Code on a default install.
How to update Claude Code installed with npm
Run npm install -g @anthropic-ai/claude-code@latest. The @latest tag forces npm past its cache. A permissions error on the global install points at your Node global path, not at Claude Code itself.
If you installed Claude Code through Node's package manager, update it the npm way. This is the answer to the common "npm update Claude Code" question:
npm install -g @anthropic-ai/claude-code@latest
Using @latest forces npm to pull the newest published package rather than a cached one. If you hit a permissions error on the global install, that usually points to a Node setup issue — our guide on Node.js for Claude Code walks through fixing the global install path so update Claude Code npm commands run cleanly without sudo.
How to update Claude Code from a package manager
Homebrew, WinGet, apt, dnf, and apk installs never auto-update and ignore claude update. Use brew upgrade claude-code, winget upgrade Anthropic.ClaudeCode, or your distribution's upgrade command for the claude-code package.
Package-manager installs are the exception to auto-updates — Homebrew, WinGet, apt, dnf, and apk do not update Claude Code automatically. You upgrade them with the manager's own command:
| Installed via | Update command |
|---|---|
| Native installer | claude update |
| npm | npm install -g @anthropic-ai/claude-code@latest |
| Homebrew (macOS) | brew upgrade claude-code |
| WinGet (Windows) | winget upgrade Anthropic.ClaudeCode |
| apt / dnf / apk (Linux) | your manager's upgrade command for the claude-code package |
If you're not sure which method you used, claude update is safe to try first — on a package-manager install it will simply tell you to use the manager instead.
How Claude Code auto-updates (and how to turn it off)
The native build checks on startup and periodically while running, installing in the background for the next launch. DISABLE_AUTOUPDATER=1 stops background checks only; DISABLE_UPDATES=1 blocks every update path, including manual ones.
Most of the time you never think about updates because Claude Code checks for them on startup and periodically while running, then downloads and installs in the background. The new version takes effect the next time you launch. That's why claude --version sometimes jumps without you doing anything.
You can control that behavior in your settings.json env block:
| Setting | Effect |
|---|---|
DISABLE_AUTOUPDATER=1 | Stops background update checks only — claude update and claude install still work |
DISABLE_UPDATES=1 | Blocks all update paths, including manual ones |
Reach for DISABLE_AUTOUPDATER on a metered connection or when you want to pin a version for a workday but still update on demand. Use DISABLE_UPDATES only when you distribute Claude Code through your own channel and need everyone on a fixed build. Anthropic documents both in the Claude Code setup guide.
One thing that repeatedly bites us on our own native-Windows setup: the background updater downloads the new build happily, but it only swaps in on a genuinely fresh launch, and a PowerShell window we'd left open for days was still running the old one. The giveaway was a just-announced model that refused to appear in the picker until we fully closed the terminal and reopened it — nothing was broken, the update simply hadn't taken effect in that stale session. Now, right after any model announcement, we close every open Claude Code window and reopen a clean one before assuming we're current, then confirm with claude --version rather than simply trusting that the background updater has already finished the swap for us.
If you originally installed through npm and want the smoother hands-off experience, you can migrate to the self-updating native build by running claude install. After that, background updates and claude update take over — it's the cleanest long-term answer to how to update Claude Code without thinking about it again.
When and why to update Claude Code
Releases land near-weekly with new model support, tool improvements, and fixes. Let auto-update handle daily use, update deliberately before a large refactor, and always update after a model announcement so the new option appears.
Claude Code ships updates on a near-weekly cadence — new model support, tool and slash-command improvements, and bug fixes — and you can see exactly what changed in the official Claude Code changelog. Staying current matters more here than with most CLI tools: when Anthropic releases a new model like Claude Opus 5, an up-to-date Claude Code is what lets you actually select it in the model picker.
A practical rhythm keeps you current without fuss:
- Let auto-update do its job day to day. On a native install you're usually already on the latest without lifting a finger.
- Run
claude updatebefore anything big. A large refactor or a long agentic session is exactly when you want the newest reasoning and fixes. - Update after any Anthropic model or feature announcement. New capabilities often need a fresh build to appear as a model or command.
- Pin a version only with a reason. If a workflow depends on specific behavior, disable auto-updates and move deliberately.
Knowing how to update Claude Code on demand — rather than only trusting the background updater — is what keeps that cadence in your hands.
Troubleshooting a Claude Code update that won't apply
Four causes cover nearly all of them: you did not fully restart, auto-updates are disabled in settings.json, you used the wrong command for your install method, or an npm permissions error blocked the global write.
You now know how to update Claude Code the normal way; when the version stubbornly won't move, work through these in order:
- You didn't restart. Updates apply on the next launch. Quit Claude Code completely (close the terminal session) and reopen it.
- Auto-updates are disabled. Check your
settings.jsonforDISABLE_AUTOUPDATERorDISABLE_UPDATESand remove them, then runclaude update. - Wrong install method. A package-manager install ignores
claude update— usebrew upgrade,winget upgrade, or the relevant manager command from the table above. - Permissions or a stale npm cache. For npm installs, a failed global write blocks the update. Fix the Node global path (see the Node.js guide linked above) and re-run with
@latest.
Almost every "update won't work" case is one of those four. If none of them shift the version, a clean teardown and rebuild is the last resort — our guide to uninstalling Claude Code covers clearing the stale state that a reinstall alone leaves in place. For the full command reference — every flag and config option — see our Claude Code CLI documentation.
Frequently Asked Questions

Written by
InnovateTechie
Writing about Claude and the Anthropic toolkit — models, Claude Code, pricing, features, and fixes, in clear, practical, hands-on guides tested by daily use.
View all posts →


