Skip to content
InnovateTechie
Claude Code

How to Update Claude Code to the Latest Version

InnovateTechieBy InnovateTechie8 min read
Share
How to Update Claude Code to the Latest Version

Part ofWhat Is Claude Code? The Complete Guide

Quick answer

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.

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.

Step 1: Check your current Claude Code version

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

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. 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.

How to update Claude Code — running the claude update command in the terminal and seeing the new version

Step 3: Verify Claude Code updated to the latest version

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

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

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 viaUpdate command
Native installerclaude update
npmnpm 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)

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:

SettingEffect
DISABLE_AUTOUPDATER=1Stops background update checks only — claude update and claude install still work
DISABLE_UPDATES=1Blocks 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.

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.

Claude Code update methods by installation type — native installer, npm, and package managers

When and why to update Claude Code

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 4.8, 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 update before 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

You now know how to update Claude Code the normal way; when the version stubbornly won't move, work through these in order:

  1. You didn't restart. Updates apply on the next launch. Quit Claude Code completely (close the terminal session) and reopen it.
  2. Auto-updates are disabled. Check your settings.json for DISABLE_AUTOUPDATER or DISABLE_UPDATES and remove them, then run claude update.
  3. Wrong install method. A package-manager install ignores claude update — use brew upgrade, winget upgrade, or the relevant manager command from the table above.
  4. 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. For the full command reference — every flag and config option — see our Claude Code CLI documentation.

Frequently Asked Questions

Run claude update in your terminal — it downloads and installs the latest version in seconds, then applies it on the next launch. On npm installs, run npm install -g @anthropic-ai/claude-code@latest instead. Check the result with claude --version.

Run claude --version in any terminal to print the installed version number, or type /status inside an interactive Claude Code session to see the version alongside your active model and account details. Compare it before and after updating to confirm the change.

Yes — the native install checks for updates on startup and periodically while running, then installs them in the background for the next launch. Package-manager installs (Homebrew, WinGet, apt, dnf, apk) are the exception and must be updated manually with the manager's command.

Run npm install -g @anthropic-ai/claude-code@latest. The @latest tag forces npm to fetch the newest published package. If you get a permissions error, fix your Node global install path so you don't need sudo for global packages.

Set DISABLEAUTOUPDATER=1 in the env section of your settings.json to stop background checks while keeping manual claude update working. To block every update path, including manual ones, set DISABLEUPDATES=1 instead.

The most common cause is not restarting — updates apply on the next launch, so quit and relaunch. Also check that auto-updates aren't disabled in settings.json, confirm you're using the right command for your install method, and fix any npm global-install permission errors.

No. claude update (or the npm/package-manager command for your install) updates in place without a reinstall. A full reinstall is only needed if the install is corrupted or you're switching install methods — for example, moving from an npm install to the native installer.
InnovateTechie

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 →