# Claude Code how to update: claude update and other methods

> Run claude update, or use brew, winget, apt, dnf, apk or npm. Plus release channels, turning auto-updates off and fixes for failed updates.

URL: https://claudegpt.si/news/claude-code-how-to-update  
Published: 2026-10-29T02:50:04.874Z  
Author: ClaudeGPT Si Newsroom  
Section: Guides  
Topics: Claude Code, Anthropic, Installation, Command line  
Publisher: ClaudeGPT Si

## Key takeaways

- Running claude update applies the newest Claude Code version immediately, and native installs also update in the background.
- Homebrew, WinGet, apt, dnf, apk and npm installs do not auto-update and need their own upgrade command.
- The autoUpdatesChannel setting picks latest or stable, DISABLE_AUTOUPDATER stops background updates, and claude doctor shows the last update attempt.

Claude Code how to update, in short: run `claude update` in your terminal. It applies the newest version at once. Native installs also update themselves in the background, but Homebrew, WinGet, npm and Linux package installs need their own upgrade command. This guide follows Anthropic's [advanced setup page](https://code.claude.com/docs/en/setup#update-claude-code), as read on October 29, 2026.

If you haven't installed it yet, start with our guide on [how to install Claude Code](https://claudegpt.si/news/claude-code-how-to-install).

## Check which version you have

Run this in your shell:

```bash
claude --version
```

It prints a number such as `2.1.211 (Claude Code)`. For more detail, run `claude doctor`. It prints read-only diagnostics without starting a session, including the result of the last update attempt and whether auto-updates are on.

## How to update Claude Code with claude update

```bash
claude update
```

If an update installs, the command prints `Successfully updated from <old version> to version <new version>`. If you are current, it prints `Claude Code is up to date (<version>)`. Installs managed by Homebrew, WinGet or apk print `Claude is up to date!` instead.

A new version takes effect the next time you start Claude Code, so restart any open session.

## Update by installation method

How you update depends on how you installed. The docs list these commands:

| Installed with | Auto-updates? | Update command |
| --- | --- | --- |
| Native installer | Yes, in the background | `claude update` |
| Homebrew (stable cask) | No | `brew upgrade claude-code` |
| Homebrew (latest cask) | No | `brew upgrade claude-code@latest` |
| WinGet | No | `winget upgrade Anthropic.ClaudeCode` |
| apt (Debian, Ubuntu) | No | `sudo apt update && sudo apt upgrade claude-code` |
| dnf (Fedora, RHEL) | No | `sudo dnf upgrade claude-code` |
| apk (Alpine) | No | `apk update && apk upgrade claude-code` |
| npm | See below | `npm install -g @anthropic-ai/claude-code@latest` |

For npm, Anthropic says to avoid `npm update -g`. It respects the version range from the original install and may not reach the newest release. Do not use `sudo` with npm global installs either.

Anthropic also notes a known issue: Claude Code can announce an update before the new version reaches Homebrew, WinGet or the Linux repositories. If the upgrade fails, wait and try again later. Homebrew keeps old versions on disk, so run `brew cleanup` now and then to free space.

## How auto-updates work

On native installs, Claude Code checks for updates on startup and while it runs. It downloads and installs them in the background, and they apply the next time you start it.

Homebrew and WinGet users can opt in. Set the environment variable `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` to `1`, and Claude Code runs the upgrade for you and shows a restart prompt. On WinGet this can fail while Claude Code is running, because Windows locks the executable. apt, dnf and apk always need a manual upgrade, because those commands need elevated privileges.

## Choose the stable or latest channel

Two release channels exist:

- `latest`, the default. New versions arrive as soon as they ship.
- `stable`. A version that is typically about a week old, which skips releases with major regressions.

Set it in `/config` under Auto-update channel, or in your `settings.json`:

```json
{
  "autoUpdatesChannel": "stable"
}
```

One catch from the docs: a newly launched model can need a Claude Code version newer than the stable channel serves. If a model isn't available to you, move to `latest`. Homebrew picks the channel by cask name (`claude-code` is stable, `claude-code@latest` is latest), and apt, dnf and apk pick it by repository.

To avoid being moved backwards, use `minimumVersion`. Auto-updates and `claude update` refuse to install anything below it:

```json
{
  "autoUpdatesChannel": "stable",
  "minimumVersion": "2.1.100"
}
```

## How to turn off Claude Code auto-updates

Set `DISABLE_AUTOUPDATER` to `"1"` in the `env` key of `settings.json`:

```json
{
  "env": {
    "DISABLE_AUTOUPDATER": "1"
  }
}
```

Run `claude doctor` to confirm. The Auto-updates line should read `disabled (set by env: DISABLE_AUTOUPDATER)`. This only stops the background check. `claude update` and `claude install` still work. To block every update path, set `DISABLE_UPDATES` instead. Anthropic suggests that for teams who distribute Claude Code through their own tooling.

## Install a specific version

The native installer accepts a version number or a channel name. On macOS, Linux and WSL:

```bash
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89
curl -fsSL https://claude.ai/install.sh | bash -s stable
```

In Windows PowerShell, the docs use `& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89`. Run `claude --version` afterward to confirm.

## When the update fails

- **`Auto-update failed · Run claude doctor` in the footer.** The background update didn't install, and you can keep working. Run `claude update` in your shell to finish it or to see the error.
- **`The connection dropped while downloading the update`.** Claude Code retries up to three times. Run `claude update` again. If you are behind a proxy, set `HTTPS_PROXY` first. A download that stalls for 10 minutes fails with a timeout and is not retried.
- **`Release verification failed for Claude Code`.** Nothing was installed and your current version still works. If the reason starts with `sidecar_fetch_`, run the command again. Otherwise try again later, and report the problem if it repeats.
- **npm install can't update.** If the npm global directory isn't writable, Claude Code shows a notice at startup and `claude doctor` lists fixes.
- **Custom launcher on macOS or Linux.** If you replaced `~/.local/bin/claude` with your own script or symlink, updates install new versions but leave your launcher alone. Remove the file and run `claude update` to hand control back.

Anthropic's docs also say that updating Claude Code to v2.1.301 or later removes stray `>0q` characters some older terminals print at startup. For anything else, `/doctor` inside Claude Code runs an automated check.

## Frequently asked questions

### How do I check my Claude Code version?

Run claude --version, which prints a number such as 2.1.211 (Claude Code). Run claude doctor for more detail, including the result of the last update attempt.

### Does Claude Code update automatically?

Native installations update in the background and apply the update the next time you start Claude Code. Homebrew, WinGet, apt, dnf, apk and npm installs need a manual upgrade by default.

### How do I turn off Claude Code auto-updates?

Set DISABLE_AUTOUPDATER to "1" in the env key of settings.json. This stops only the background check, so claude update still works. Set DISABLE_UPDATES to block every update path.

### What is the difference between the stable and latest channels?

Latest, the default, gets new versions as soon as they ship. Stable is typically about a week behind and skips releases with major regressions. Set autoUpdatesChannel in settings.json or use /config.

## Sources

- [Advanced setup: Update Claude Code](https://code.claude.com/docs/en/setup#update-claude-code), Anthropic
- [Troubleshoot installation and login](https://code.claude.com/docs/en/troubleshoot-install), Anthropic
- [Troubleshooting](https://code.claude.com/docs/en/troubleshooting), Anthropic
