Claude Code가 최신 버전으로 업데이트되지 않을 때 해결하는 방법

Claude Code를 사용하다 보면 최신 기능이 적용되지 않거나, claude update를 실행했는데도 버전이 그대로인 경우가 있다. 특히 macOS에서 Homebrew로 설치했거나, 예전에 npm으로 설치한 뒤 나중에 Native Installer로 다시 설치한 경우에는 설치 경로가 꼬여 업데이트가 제대로 반영되지 않을 수 있다.
핵심은 claude update만 반복해서 실행하는 것이 아니다. 먼저 현재 실행 중인 claude가 어디에 있는지 확인하고, 어떤 설치 방식으로 들어온 실행 파일인지 파악해야 한다.
이 글은 Anthropic의 Claude Code Advanced setup, CLI reference, Settings, Troubleshooting 문서를 기준으로 2026년 6월 10일에 다시 확인해 정리했다.
먼저 결론
Claude Code가 최신 버전으로 업데이트되지 않는다면 다음 순서로 확인한다.
| 확인 항목 | 명령어 또는 위치 | 의미 |
|---|---|---|
| 현재 버전 | claude --version | 실제 실행되는 Claude Code 버전 |
| 실행 경로 | which -a claude | PATH에서 어떤 claude가 먼저 잡히는지 확인 |
| 설치 상태 | claude doctor | 설치, 설정, 최근 업데이트 시도 상태 점검 |
| 수동 업데이트 | claude update | Native Installer 또는 auto-update 경로의 즉시 업데이트 |
| 설치 방식 | Native Installer, Homebrew, npm, WinGet | 설치 방식에 따라 업데이트 방법이 다름 |
| 업데이트 채널 | autoUpdatesChannel, Homebrew cask 이름 | latest인지 stable인지 확인 |
대부분의 문제는 설치 방식이 섞였거나, PATH가 예전 실행 파일을 먼저 참조하거나, Homebrew/WinGet/npm처럼 별도 업데이트가 필요한 방식으로 설치되어 있어서 발생한다.
현재 버전과 실행 경로 확인하기
먼저 현재 설치된 Claude Code 버전을 확인한다.
claude --version
그 다음 실제 실행 파일 위치를 확인한다.
which -a claude
which claude는 첫 번째로 잡히는 실행 파일만 보여주지만, which -a claude는 PATH에 잡힌 후보를 여러 개 보여준다. 설치가 꼬였는지 확인할 때는 -a를 붙이는 편이 더 유용하다.
예를 들어 다음과 같은 경로가 나올 수 있다.
/Users/you/.local/bin/claude
/opt/homebrew/bin/claude
/usr/local/bin/claude
이 결과를 보면 Native Installer, Homebrew, npm 중 어떤 실행 파일이 우선되는지 추정할 수 있다. 업데이트했는데도 버전이 그대로라면, 새 버전은 설치되었지만 터미널이 여전히 오래된 claude를 실행하고 있을 가능성이 크다.
Windows에서는 다음 명령어로 후보 경로를 확인한다.
where.exe claude
가장 먼저 실행해볼 명령어
Claude Code에는 설치와 설정 상태를 점검하는 진단 명령이 있다.
claude doctor
공식 문서도 Claude Code가 실행되지 않거나 설치 상태가 의심될 때 shell에서 claude doctor를 실행하라고 안내한다. 자동 업데이트가 최근에 실패했는지, npm 글로벌 디렉터리 권한 문제가 있는지 같은 힌트를 얻을 수 있다.
즉시 업데이트를 시도하려면 다음 명령어를 사용한다.
claude update
다만 이 명령어가 모든 설치 방식에서 같은 의미로 동작하는 것은 아니다. Native Installer와 Claude Code의 auto-update 경로에서는 핵심 명령이지만, Homebrew, WinGet, Linux package manager 설치는 기본적으로 각 package manager의 upgrade 명령을 사용해야 한다.
Native Installer로 설치한 경우
Anthropic 문서는 Claude Code 설치 방식으로 Native Install을 추천한다. macOS, Linux, WSL에서는 다음 명령어를 사용한다.
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell에서는 다음 명령어를 사용한다.
irm https://claude.ai/install.ps1 | iex
Native Installer로 설치한 Claude Code는 백그라운드 자동 업데이트를 지원한다. Claude Code는 시작 시점과 실행 중 주기적으로 업데이트를 확인하고, 업데이트는 다음 시작 시 적용된다.
수동으로 바로 반영하고 싶다면 다음 명령을 실행한다.
claude update
그래도 버전이 그대로라면 설치 자체보다 PATH 문제일 가능성이 높다. 다시 확인한다.
which -a claude
claude --version
Homebrew로 설치한 경우
macOS에서 Homebrew로 설치했다면 Claude Code 자체 자동 업데이트가 아니라 Homebrew 업그레이드 흐름을 따라야 한다.
stable cask를 설치했다면:
brew upgrade claude-code
latest cask를 설치했다면:
brew upgrade claude-code@latest
공식 문서에 따르면 Homebrew에는 두 cask가 있다.
| cask | 채널 | 특징 |
|---|---|---|
claude-code | stable | 보통 약 일주일 늦고, 큰 회귀가 있는 릴리스는 건너뜀 |
claude-code@latest | latest | 새 버전이 나오면 더 빨리 받음 |
중요한 점은 Homebrew 설치에서는 settings.json의 autoUpdatesChannel보다 cask 이름이 채널을 결정한다는 것이다. 최신 기능을 바로 받고 싶다면 claude-code@latest cask를 설치해야 한다.
stable에서 latest로 바꾸려면 다음처럼 정리할 수 있다.
brew uninstall --cask claude-code
brew install --cask claude-code@latest
업그레이드 후에는 다음도 가끔 실행해 디스크를 정리한다.
brew cleanup
npm으로 설치한 경우
예전에 Claude Code를 npm으로 설치했다면 다음 명령어로 업데이트할 수 있다.
npm install -g @anthropic-ai/claude-code@latest
다만 npm 글로벌 설치는 Node 버전 관리자, 전역 prefix, 권한 문제 때문에 꼬이기 쉽다. 특히 과거에 sudo npm install -g로 설치한 적이 있다면 auto-update나 글로벌 패키지 업데이트가 권한 문제에 막힐 수 있다.
먼저 npm 글로벌 prefix와 실행 경로를 확인한다.
npm config get prefix
which -a claude
which -a claude 결과에서 npm 글로벌 경로가 Native Installer나 Homebrew보다 앞에 있다면, 터미널은 npm으로 설치된 오래된 Claude Code를 먼저 실행하고 있을 수 있다.
여러 설치 방식이 섞여 있다면 장기적으로는 하나만 남기는 편이 좋다. 특별한 이유가 없다면 Native Installer로 통일하는 것이 가장 단순하다.
Windows와 WinGet으로 설치한 경우
Windows에서 Native Installer를 사용할 때 PowerShell 명령은 다음과 같다.
irm https://claude.ai/install.ps1 | iex
WinGet으로 설치했다면 다음 명령어로 업그레이드한다.
winget upgrade Anthropic.ClaudeCode
공식 문서에 따르면 WinGet 설치는 기본적으로 Claude Code가 자동 업데이트하지 않는다. 또한 Windows에서는 Claude Code가 실행 중일 때 실행 파일이 잠겨 업그레이드가 실패할 수 있다. 이 경우 Claude Code를 종료한 뒤 WinGet 명령을 다시 실행한다.
설치 후에는 버전과 경로를 확인한다.
claude --version
where.exe claude
업데이트 채널 확인하기
Claude Code가 최신 기능을 받지 못하는 이유가 업데이트 채널 때문일 수도 있다.
Native Installer와 claude update는 autoUpdatesChannel 설정을 따른다. 공식 문서 기준으로 주요 값은 다음과 같다.
| 값 | 의미 |
|---|---|
latest | 기본값. 새 기능을 가장 빨리 받음 |
stable | 보통 약 일주일 늦고, 큰 회귀가 있는 릴리스를 피함 |
설정은 /config의 Auto-update channel에서 바꾸거나 settings.json에 직접 넣을 수 있다.
{
"autoUpdatesChannel": "latest"
}
안정성을 우선한다면 다음처럼 둘 수 있다.
{
"autoUpdatesChannel": "stable"
}
다시 강조하면 Homebrew 설치에서는 이 설정이 아니라 cask 이름이 중요하다. claude-code는 stable, claude-code@latest는 latest를 따른다.
업데이트가 막혀 있는 설정 확인하기
설정에서 업데이트를 제한하고 있을 수도 있다. 사용자 설정 파일을 확인한다.
cat ~/.claude/settings.json
다음 설정은 백그라운드 자동 업데이트 확인을 막는다.
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
DISABLE_AUTOUPDATER는 백그라운드 업데이트만 막는다. claude update와 claude install은 여전히 동작할 수 있다.
반면 DISABLE_UPDATES는 수동 업데이트까지 막을 수 있는 더 강한 설정이다. 조직이나 회사에서 특정 버전을 강제로 유지하려고 설정했을 수 있으므로, 개인 환경이 아니라 관리형 환경이라면 함부로 제거하기 전에 팀 정책을 확인해야 한다.
Homebrew 또는 WinGet 설치에서 Claude Code가 package manager upgrade를 백그라운드로 실행하게 하려면 다음 환경 변수를 사용할 수 있다.
{
"env": {
"CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE": "1"
}
}
다만 package manager 기반 설치는 조직 정책, 권한, 실행 중 파일 잠금 같은 변수가 있으므로 수동 upgrade 명령을 알고 있는 편이 안전하다.
PATH 문제 해결하기
업데이트했는데도 버전이 바뀌지 않는 가장 흔한 원인은 PATH 충돌이다.
다음 명령으로 모든 후보를 확인한다.
which -a claude
zsh나 bash에서 shell hash cache 때문에 예전 경로가 남아 있을 수 있다. 이때는 다음 명령을 실행한다.
hash -r
그 다음 터미널을 완전히 닫았다가 다시 열고 확인한다.
claude --version
which -a claude
만약 Homebrew, npm, Native Installer 경로가 동시에 보인다면 하나만 남기는 것이 좋다. 예를 들어 Native Installer로 통일하려면 오래된 Homebrew나 npm 설치를 제거한 뒤 다시 확인한다.
brew uninstall --cask claude-code
npm uninstall -g @anthropic-ai/claude-code
which -a claude
단, 이 명령은 실제로 설치를 제거한다. 팀이나 회사 장비라면 관리 정책을 먼저 확인해야 한다.
추천 해결 순서
Claude Code가 최신 버전으로 업데이트되지 않는다면 아래 순서대로 진행한다.
claude --version
which -a claude
claude doctor
claude update
그래도 해결되지 않으면 설치 방식별로 처리한다.
Native Installer 사용자
curl -fsSL https://claude.ai/install.sh | bash
Homebrew 사용자
brew upgrade claude-code
latest cask라면:
brew upgrade claude-code@latest
npm 사용자
npm install -g @anthropic-ai/claude-code@latest
Windows WinGet 사용자
winget upgrade Anthropic.ClaudeCode
마지막으로 다시 확인한다.
claude --version
which -a claude
Windows에서는:
claude --version
where.exe claude
결론
Claude Code가 최신 버전으로 업데이트되지 않을 때 가장 중요한 것은 설치 방식을 먼저 확인하는 것이다.
claude update만 반복해서 실행하기보다, which -a claude로 실제 실행 경로를 확인하고, Native Installer, Homebrew, npm, WinGet 중 어떤 방식으로 설치되어 있는지 파악해야 한다.
특히 macOS에서는 Homebrew와 Native Installer가 동시에 설치되어 PATH가 꼬이는 경우가 많다. 이런 경우에는 하나의 설치 방식만 남기고 정리하는 것이 가장 확실하다.
정리하면 다음과 같다.
- Native Installer라면
claude update또는 설치 스크립트 재실행 - Homebrew라면
brew upgrade claude-code또는brew upgrade claude-code@latest - npm이라면
npm install -g @anthropic-ai/claude-code@latest - WinGet이라면
winget upgrade Anthropic.ClaudeCode - 업데이트 후에도 버전이 그대로라면
which -a claude또는where.exe claude로 PATH 문제 확인
Claude Code는 업데이트가 자주 이루어지는 도구다. 최신 기능을 안정적으로 사용하려면 설치 방식과 업데이트 채널을 명확히 관리하는 것이 좋다.

When using Claude Code, you may sometimes notice that new features are missing or that the version stays the same even after running claude update. This often happens on macOS when Claude Code was installed with Homebrew, or when an old npm installation remains after switching to the Native Installer.
The key is not to run claude update repeatedly. First, find out which claude executable your shell is actually running and how that executable was installed.
This guide was checked on June 10, 2026 against Anthropic's official Claude Code Advanced setup, CLI reference, Settings, and Troubleshooting docs.
Start with the Short Version
If Claude Code is not updating to the latest version, check these in order.
| Check | Command or location | Meaning |
|---|---|---|
| Current version | claude --version |
The Claude Code version that actually runs |
| Executable path | which -a claude |
Which claude is found first in PATH |
| Install health | claude doctor |
Checks installation, settings, and recent update attempts |
| Manual update | claude update |
Immediate update for the native/auto-update path |
| Install method | Native Installer, Homebrew, npm, WinGet | Each method updates differently |
| Release channel | autoUpdatesChannel, Homebrew cask name |
Whether you are on latest or stable |
Most update problems come from mixed install methods, old binaries earlier in PATH, or package-manager installs that need their own upgrade command.
Check the Current Version and Executable Path
First, check the installed Claude Code version.
claude --version
Then check the actual executable path.
which -a claude
which claude shows only the first executable. which -a claude shows multiple candidates from PATH, which is more useful when installs are mixed.
You may see paths such as:
/Users/you/.local/bin/claude
/opt/homebrew/bin/claude
/usr/local/bin/claude
This helps you infer whether the active binary came from the Native Installer, Homebrew, or npm. If the version does not change after an update, a new version may have been installed while your terminal is still running an older claude.
On Windows, check candidate paths with:
where.exe claude
Commands to Try First
Claude Code includes a diagnostic command for checking installation and configuration state.
claude doctor
Anthropic's docs also recommend running claude doctor from the shell if Claude Code will not start. It can reveal recent update failures, npm global directory permission issues, and other environment problems.
To attempt an immediate update:
claude update
This command does not mean the same thing for every install method. It is central for the Native Installer and Claude Code's auto-update path, but Homebrew, WinGet, and Linux package manager installations normally need the package manager's own upgrade command.
If You Installed with the Native Installer
Anthropic recommends Native Install for Claude Code. On macOS, Linux, and WSL, use:
curl -fsSL https://claude.ai/install.sh | bash
On Windows PowerShell, use:
irm https://claude.ai/install.ps1 | iex
Claude Code installed this way supports background auto-updates. It checks for updates at startup and periodically while running, then applies updates the next time it starts.
To apply an update immediately:
claude update
If the version still does not change, suspect PATH first.
which -a claude
claude --version
If You Installed with Homebrew
If you installed Claude Code with Homebrew on macOS, use Homebrew's upgrade flow instead of relying on Claude Code's auto-update path.
For the stable cask:
brew upgrade claude-code
For the latest cask:
brew upgrade claude-code@latest
Anthropic documents two Homebrew casks.
| cask | Channel | Behavior |
|---|---|---|
claude-code |
stable | Usually about a week behind and skips releases with major regressions |
claude-code@latest |
latest | Receives new versions as soon as they ship |
For Homebrew installs, the cask name determines the channel. autoUpdatesChannel in settings.json is not the deciding factor.
To switch from stable to latest:
brew uninstall --cask claude-code
brew install --cask claude-code@latest
After upgrades, occasionally reclaim old versions:
brew cleanup
If You Installed with npm
If you previously installed Claude Code through npm, update it with:
npm install -g @anthropic-ai/claude-code@latest
Global npm installs can get messy because of Node version managers, global prefixes, and permissions. If you ever used sudo npm install -g, auto-updates or package updates may fail because of ownership problems.
Check the npm global prefix and active executable path.
npm config get prefix
which -a claude
If the npm global path appears before Native Installer or Homebrew paths, your shell may still be running the npm-installed version.
When multiple install methods are mixed, keep only one. Unless you have a specific reason to stay on npm, the Native Installer is usually the simplest long-term option.
Windows and WinGet
For Native Installer on Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
If you installed with WinGet, upgrade with:
winget upgrade Anthropic.ClaudeCode
Anthropic's docs note that WinGet installs do not auto-update by default. Windows may also lock the executable while Claude Code is running, so close Claude Code and retry the WinGet command if the upgrade fails.
After installation, check version and path.
claude --version
where.exe claude
Check the Release Channel
Sometimes Claude Code is updating correctly, but you are on a delayed release channel.
For Native Installer and claude update, the autoUpdatesChannel setting controls the channel.
| Value | Meaning |
|---|---|
latest |
Default. Receives new features fastest |
stable |
Usually about a week behind and avoids releases with major regressions |
You can change it in /config under Auto-update channel, or edit settings.json.
{
"autoUpdatesChannel": "latest"
}
If you prefer stability:
{
"autoUpdatesChannel": "stable"
}
Again, Homebrew is different: claude-code tracks stable and claude-code@latest tracks latest.
Check Whether Updates Are Disabled
Updates may be blocked by settings. Check the user settings file.
cat ~/.claude/settings.json
This setting disables background auto-update checks.
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
DISABLE_AUTOUPDATER only stops background checks. claude update and claude install can still work.
DISABLE_UPDATES is stronger and can block manual update paths too. In managed company environments, this may be intentional, so check team policy before removing it.
For Homebrew or WinGet installs, Claude Code can run the package-manager upgrade command in the background if this environment variable is set:
{
"env": {
"CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE": "1"
}
}
Even then, it is safer to know the manual package-manager command because permissions and file locks can still matter.
Fix PATH Conflicts
The most common reason an update appears to fail is a PATH conflict.
Check every candidate executable.
which -a claude
If zsh or bash has cached an old path, reset the shell hash cache.
hash -r
Then close and reopen the terminal and check again.
claude --version
which -a claude
If Homebrew, npm, and Native Installer paths all appear, keep only one install method. For example, to standardize on the Native Installer, remove the old Homebrew or npm install and recheck.
brew uninstall --cask claude-code
npm uninstall -g @anthropic-ai/claude-code
which -a claude
Those commands remove installed software. On company-managed machines, check policy first.
Recommended Troubleshooting Order
Use this sequence first.
claude --version
which -a claude
claude doctor
claude update
If that does not solve it, handle the install method directly.
Native Installer
curl -fsSL https://claude.ai/install.sh | bash
Homebrew
brew upgrade claude-code
For the latest cask:
brew upgrade claude-code@latest
npm
npm install -g @anthropic-ai/claude-code@latest
Windows WinGet
winget upgrade Anthropic.ClaudeCode
Finally, check again.
claude --version
which -a claude
On Windows:
claude --version
where.exe claude
Final Thoughts
When Claude Code does not update to the latest version, first identify the install method.
Instead of repeating claude update, check the active executable with which -a claude and decide whether it came from Native Installer, Homebrew, npm, or WinGet.
On macOS especially, Homebrew and Native Installer can coexist and create PATH confusion. In that case, the most reliable fix is to keep one install method and remove the stale one.
In short:
- Native Installer: use
claude updateor rerun the install script - Homebrew: use
brew upgrade claude-codeorbrew upgrade claude-code@latest - npm: use
npm install -g @anthropic-ai/claude-code@latest - WinGet: use
winget upgrade Anthropic.ClaudeCode - If the version still does not change, check PATH with
which -a claudeorwhere.exe claude
Claude Code changes frequently. To use new features reliably, keep the install method and release channel explicit.

使用 Claude Code 时,有时会遇到新功能没有出现,或者运行 claude update 后版本仍然不变的情况。这在 macOS 上尤其常见:例如曾经用 Homebrew 安装过,后来又改用 Native Installer;或者旧的 npm 全局安装仍然留在 PATH 前面。
关键不是反复运行 claude update。首先要确认 shell 实际运行的是哪个 claude,以及这个执行文件是通过哪种方式安装的。
本文在 2026 年 6 月 10 日依据 Anthropic 官方 Claude Code Advanced setup、CLI reference、Settings、Troubleshooting 文档重新核对整理。
先看结论
如果 Claude Code 无法更新到最新版,按下面顺序检查。
| 检查项 | 命令或位置 | 含义 |
|---|---|---|
| 当前版本 | claude --version |
实际运行的 Claude Code 版本 |
| 执行路径 | which -a claude |
PATH 中哪个 claude 被优先找到 |
| 安装状态 | claude doctor |
检查安装、设置和最近的更新尝试 |
| 手动更新 | claude update |
对 native/auto-update 路径立即更新 |
| 安装方式 | Native Installer、Homebrew、npm、WinGet | 不同安装方式有不同更新方法 |
| 发布通道 | autoUpdatesChannel、Homebrew cask 名称 |
确认是 latest 还是 stable |
大多数问题来自安装方式混用、PATH 中旧执行文件优先,或使用了需要通过 package manager 单独升级的安装方式。
确认当前版本和执行路径
先查看当前 Claude Code 版本。
claude --version
然后确认实际执行文件路径。
which -a claude
which claude 只显示第一个执行文件。which -a claude 会显示 PATH 中的多个候选,在排查混合安装时更有用。
你可能看到类似路径:
/Users/you/.local/bin/claude
/opt/homebrew/bin/claude
/usr/local/bin/claude
这有助于判断当前运行的是 Native Installer、Homebrew 还是 npm 安装的版本。如果更新后版本仍然不变,可能是新版本已经安装,但终端仍在执行旧的 claude。
Windows 上用下面命令查看候选路径。
where.exe claude
最先尝试的命令
Claude Code 提供了检查安装和配置状态的诊断命令。
claude doctor
官方文档也建议在 Claude Code 无法启动时,从 shell 运行 claude doctor。它可以提示最近的更新失败、npm 全局目录权限问题等环境问题。
如果要立即尝试更新,运行:
claude update
但这个命令在所有安装方式中含义并不完全相同。它对 Native Installer 和 Claude Code auto-update 路径很关键;但 Homebrew、WinGet、Linux package manager 安装通常需要使用各自 package manager 的 upgrade 命令。
Native Installer 安装的情况
Anthropic 推荐使用 Native Install。macOS、Linux、WSL 使用:
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell 使用:
irm https://claude.ai/install.ps1 | iex
用这种方式安装的 Claude Code 支持后台自动更新。它会在启动时和运行中定期检查更新,并在下次启动时应用更新。
如果想立即应用更新:
claude update
如果版本仍然没变,优先怀疑 PATH。
which -a claude
claude --version
Homebrew 安装的情况
如果在 macOS 上用 Homebrew 安装了 Claude Code,应使用 Homebrew 的升级流程,而不是依赖 Claude Code 的 auto-update 路径。
stable cask:
brew upgrade claude-code
latest cask:
brew upgrade claude-code@latest
Anthropic 文档列出了两个 Homebrew cask。
| cask | 通道 | 特点 |
|---|---|---|
claude-code |
stable | 通常约晚一周,跳过有重大回归的版本 |
claude-code@latest |
latest | 新版本发布后尽快收到 |
对于 Homebrew 安装,cask 名称决定通道。settings.json 中的 autoUpdatesChannel 不是决定因素。
从 stable 切到 latest 可以这样处理:
brew uninstall --cask claude-code
brew install --cask claude-code@latest
升级后偶尔清理旧版本:
brew cleanup
npm 安装的情况
如果以前通过 npm 安装 Claude Code,可以这样更新:
npm install -g @anthropic-ai/claude-code@latest
npm 全局安装容易因为 Node 版本管理器、全局 prefix 和权限问题变复杂。如果曾经使用 sudo npm install -g,auto-update 或全局包更新可能被权限问题卡住。
先查看 npm 全局 prefix 和执行路径。
npm config get prefix
which -a claude
如果 npm 全局路径排在 Native Installer 或 Homebrew 路径之前,shell 可能仍在运行 npm 安装的版本。
当多种安装方式混在一起时,最好只保留一种。除非有特别原因继续使用 npm,否则 Native Installer 通常是长期维护最简单的选择。
Windows 和 WinGet
Windows PowerShell 的 Native Installer 命令:
irm https://claude.ai/install.ps1 | iex
如果用 WinGet 安装,升级命令是:
winget upgrade Anthropic.ClaudeCode
Anthropic 文档说明,WinGet 安装默认不会自动更新。Windows 也可能在 Claude Code 运行时锁定执行文件,导致升级失败。如果失败,先关闭 Claude Code,再重新运行 WinGet 命令。
安装后确认版本和路径。
claude --version
where.exe claude
检查发布通道
有时 Claude Code 其实正常更新,只是你使用的是延迟发布通道。
Native Installer 和 claude update 会遵循 autoUpdatesChannel 设置。
| 值 | 含义 |
|---|---|
latest |
默认值。最快收到新功能 |
stable |
通常约晚一周,避开有重大回归的版本 |
可以在 /config 的 Auto-update channel 中修改,也可以编辑 settings.json。
{
"autoUpdatesChannel": "latest"
}
如果更重视稳定性:
{
"autoUpdatesChannel": "stable"
}
再次提醒,Homebrew 不同:claude-code 跟随 stable,claude-code@latest 跟随 latest。
检查是否禁用了更新
设置可能阻止更新。先检查用户设置文件。
cat ~/.claude/settings.json
下面设置会禁用后台自动更新检查。
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
DISABLE_AUTOUPDATER 只停止后台检查。claude update 和 claude install 仍可能工作。
DISABLE_UPDATES 更强,也可能阻止手动更新路径。在公司管理环境中,这可能是有意设置的,所以删除前应确认团队策略。
对于 Homebrew 或 WinGet 安装,如果设置下面环境变量,Claude Code 可以在后台运行 package manager 的升级命令:
{
"env": {
"CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE": "1"
}
}
即便如此,手动升级命令仍然应该知道,因为权限和文件锁仍可能影响更新。
解决 PATH 冲突
更新看似失败的最常见原因是 PATH 冲突。
查看所有候选执行文件:
which -a claude
如果 zsh 或 bash 缓存了旧路径,重置 shell hash cache。
hash -r
然后完全关闭并重新打开终端,再检查:
claude --version
which -a claude
如果 Homebrew、npm、Native Installer 路径同时出现,建议只保留一种安装方式。例如想统一到 Native Installer,可以删除旧的 Homebrew 或 npm 安装后再次检查。
brew uninstall --cask claude-code
npm uninstall -g @anthropic-ai/claude-code
which -a claude
这些命令会实际删除已安装软件。在公司管理设备上,先确认策略。
推荐排查顺序
先使用这个顺序:
claude --version
which -a claude
claude doctor
claude update
如果没有解决,按安装方式处理。
Native Installer
curl -fsSL https://claude.ai/install.sh | bash
Homebrew
brew upgrade claude-code
latest cask:
brew upgrade claude-code@latest
npm
npm install -g @anthropic-ai/claude-code@latest
Windows WinGet
winget upgrade Anthropic.ClaudeCode
最后再次检查:
claude --version
which -a claude
Windows 上:
claude --version
where.exe claude
总结
当 Claude Code 无法更新到最新版时,最重要的是先确认安装方式。
不要只反复运行 claude update,而是用 which -a claude 确认实际执行路径,并判断它来自 Native Installer、Homebrew、npm 还是 WinGet。
尤其在 macOS 上,Homebrew 和 Native Installer 可能同时存在,导致 PATH 混乱。此时最可靠的做法是只保留一种安装方式,并移除旧的安装。
总结如下:
- Native Installer:使用
claude update或重新运行安装脚本 - Homebrew:使用
brew upgrade claude-code或brew upgrade claude-code@latest - npm:使用
npm install -g @anthropic-ai/claude-code@latest - WinGet:使用
winget upgrade Anthropic.ClaudeCode - 如果版本仍然不变,用
which -a claude或where.exe claude检查 PATH
Claude Code 更新频繁。想稳定使用新功能,就要明确管理安装方式和发布通道。

Claude Codeを使っていると、新機能が反映されない、またはclaude updateを実行してもバージョンが変わらないことがあります。特にmacOSでHomebrewから入れた場合や、以前npmで入れたあとNative Installerへ切り替えた場合、古い実行ファイルがPATHの先頭に残っていることがあります。
重要なのは、claude updateを何度も繰り返すことではありません。まず、shellが実際に実行しているclaudeがどこにあり、どの方法でインストールされたものかを確認します。
この記事は、2026年6月10日時点でAnthropic公式のClaude Code Advanced setup、CLI reference、Settings、Troubleshootingを確認して整理しています。
まず結論
Claude Codeが最新版に更新されない場合は、次の順で確認します。
| 確認項目 | コマンドまたは場所 | 意味 |
|---|---|---|
| 現在のバージョン | claude --version |
実際に起動しているClaude Codeのバージョン |
| 実行パス | which -a claude |
PATHでどのclaudeが先に見つかるか |
| インストール状態 | claude doctor |
インストール、設定、最近の更新試行を確認 |
| 手動更新 | claude update |
native/auto-update経路の即時更新 |
| インストール方式 | Native Installer、Homebrew、npm、WinGet | 方式ごとに更新方法が異なる |
| リリースチャンネル | autoUpdatesChannel、Homebrew cask名 |
latestかstableかを確認 |
多くの問題は、インストール方式が混在している、PATHで古い実行ファイルが先に見つかる、またはpackage manager経由のインストールで別途upgradeが必要なことによって起こります。
現在のバージョンと実行パスを確認する
まずClaude Codeのバージョンを確認します。
claude --version
次に実際の実行ファイルの場所を確認します。
which -a claude
which claudeは最初の実行ファイルだけを表示します。which -a claudeはPATH上の候補を複数表示するため、インストールが混在しているときに便利です。
たとえば次のようなパスが出ることがあります。
/Users/you/.local/bin/claude
/opt/homebrew/bin/claude
/usr/local/bin/claude
この結果から、現在の実行ファイルがNative Installer、Homebrew、npmのどれに由来するかを推測できます。更新後もバージョンが変わらない場合、新しいバージョンは入っていても、terminalが古いclaudeを実行している可能性があります。
Windowsでは次で候補パスを確認します。
where.exe claude
最初に試すコマンド
Claude Codeには、インストールと設定状態を確認する診断コマンドがあります。
claude doctor
公式文書でも、Claude Codeが起動しない場合はshellからclaude doctorを実行するよう案内されています。最近の更新失敗、npmグローバルディレクトリの権限問題、環境の問題を確認できます。
すぐに更新を試すには次を実行します。
claude update
ただし、このコマンドはすべてのインストール方式で同じ意味ではありません。Native InstallerとClaude Codeのauto-update経路では重要ですが、Homebrew、WinGet、Linux package managerインストールでは通常、それぞれのpackage managerのupgradeコマンドを使います。
Native Installerでインストールした場合
AnthropicはClaude Codeのインストール方式としてNative Installを推奨しています。macOS、Linux、WSLでは次を使います。
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShellでは次を使います。
irm https://claude.ai/install.ps1 | iex
この方式で入れたClaude Codeはバックグラウンド自動更新に対応します。起動時と実行中に定期的に更新を確認し、次回起動時に反映されます。
すぐ反映したい場合:
claude update
それでもバージョンが変わらない場合は、まずPATHを疑います。
which -a claude
claude --version
Homebrewでインストールした場合
macOSでHomebrewからClaude Codeを入れた場合、Claude Codeのauto-update経路ではなくHomebrewのupgradeを使います。
stable caskの場合:
brew upgrade claude-code
latest caskの場合:
brew upgrade claude-code@latest
Anthropic文書では2つのHomebrew caskが説明されています。
| cask | チャンネル | 特徴 |
|---|---|---|
claude-code |
stable | 通常約1週間遅れ、重大な回帰があるリリースを避ける |
claude-code@latest |
latest | 新バージョンが出るとすぐ受け取る |
Homebrewインストールでは、cask名がチャンネルを決めます。settings.jsonのautoUpdatesChannelが決定要因ではありません。
stableからlatestへ切り替えるには:
brew uninstall --cask claude-code
brew install --cask claude-code@latest
アップグレード後は、古いバージョンをときどき掃除します。
brew cleanup
npmでインストールした場合
以前npmでClaude Codeを入れた場合は、次で更新できます。
npm install -g @anthropic-ai/claude-code@latest
npmのグローバルインストールは、Nodeバージョン管理、global prefix、権限問題で複雑になりがちです。過去にsudo npm install -gを使った場合、auto-updateやパッケージ更新が所有権の問題で失敗することがあります。
npm global prefixと実行パスを確認します。
npm config get prefix
which -a claude
npmのグローバルパスがNative InstallerやHomebrewより前に出るなら、shellはnpm版を実行している可能性があります。
複数のインストール方式が混在しているなら、ひとつだけ残すのが安全です。特別な理由がなければ、長期的にはNative Installerに寄せるのが最も単純です。
WindowsとWinGet
Windows PowerShellでNative Installerを使う場合:
irm https://claude.ai/install.ps1 | iex
WinGetでインストールした場合のアップグレード:
winget upgrade Anthropic.ClaudeCode
Anthropic文書によると、WinGetインストールはデフォルトで自動更新されません。またWindowsではClaude Code実行中に実行ファイルがロックされ、アップグレードに失敗することがあります。その場合はClaude Codeを終了してからWinGetコマンドを再実行します。
インストール後はバージョンとパスを確認します。
claude --version
where.exe claude
更新チャンネルを確認する
Claude Codeは正しく更新されているが、遅延チャンネルにいるだけの場合もあります。
Native Installerとclaude updateはautoUpdatesChannel設定に従います。
| 値 | 意味 |
|---|---|
latest |
デフォルト。新機能を最も早く受け取る |
stable |
通常約1週間遅れ、重大な回帰を避ける |
/configのAuto-update channelで変更するか、settings.jsonを編集します。
{
"autoUpdatesChannel": "latest"
}
安定性を優先するなら:
{
"autoUpdatesChannel": "stable"
}
繰り返しますが、Homebrewは別です。claude-codeはstable、claude-code@latestはlatestです。
更新が無効化されていないか確認する
設定によって更新がブロックされている可能性もあります。ユーザー設定ファイルを確認します。
cat ~/.claude/settings.json
次の設定は、バックグラウンド自動更新チェックを止めます。
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
DISABLE_AUTOUPDATERはバックグラウンドチェックだけを止めます。claude updateとclaude installは動作する可能性があります。
DISABLE_UPDATESはより強く、手動更新経路もブロックできます。会社管理の環境では意図的に設定されていることがあるため、削除前にチームポリシーを確認します。
HomebrewまたはWinGetインストールで、Claude Codeにpackage managerのupgradeコマンドをバックグラウンド実行させたい場合は次を使えます。
{
"env": {
"CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE": "1"
}
}
それでも、権限やファイルロックが影響するため、手動のupgradeコマンドを知っておく方が安全です。
PATH競合を解決する
更新が失敗したように見える最も多い原因はPATH競合です。
すべての候補を確認します。
which -a claude
zshやbashが古いパスをキャッシュしている場合は、shell hash cacheをリセットします。
hash -r
その後terminalを完全に閉じて開き直し、再確認します。
claude --version
which -a claude
Homebrew、npm、Native Installerのパスが同時に出るなら、インストール方式をひとつに絞ります。たとえばNative Installerに統一するなら、古いHomebrewやnpm版を削除して確認します。
brew uninstall --cask claude-code
npm uninstall -g @anthropic-ai/claude-code
which -a claude
これらのコマンドは実際にソフトウェアを削除します。会社管理端末では先にポリシーを確認してください。
おすすめの確認順
まずこの順で実行します。
claude --version
which -a claude
claude doctor
claude update
解決しなければ、インストール方式ごとに対応します。
Native Installer
curl -fsSL https://claude.ai/install.sh | bash
Homebrew
brew upgrade claude-code
latest caskなら:
brew upgrade claude-code@latest
npm
npm install -g @anthropic-ai/claude-code@latest
Windows WinGet
winget upgrade Anthropic.ClaudeCode
最後に再確認します。
claude --version
which -a claude
Windowsでは:
claude --version
where.exe claude
まとめ
Claude Codeが最新版に更新されないとき、最初に確認すべきなのはインストール方式です。
claude updateを繰り返すのではなく、which -a claudeで実行パスを確認し、Native Installer、Homebrew、npm、WinGetのどれから来ているかを判断します。
特にmacOSでは、HomebrewとNative Installerが共存してPATHが混乱しやすいです。その場合は、インストール方式をひとつだけ残して古いものを削除するのが最も確実です。
要点は次のとおりです。
- Native Installerなら
claude updateまたはインストールスクリプト再実行 - Homebrewなら
brew upgrade claude-codeまたはbrew upgrade claude-code@latest - npmなら
npm install -g @anthropic-ai/claude-code@latest - WinGetなら
winget upgrade Anthropic.ClaudeCode - それでもバージョンが変わらないなら
which -a claudeまたはwhere.exe claudeでPATHを確認
Claude Codeは頻繁に更新されるツールです。新機能を安定して使うには、インストール方式とリリースチャンネルを明確に管理することが重要です。

Al usar Claude Code, puede ocurrir que no aparezcan las funciones nuevas o que la versión no cambie aunque ejecutes claude update. Esto suele pasar en macOS cuando Claude Code se instaló con Homebrew, o cuando una instalación antigua por npm sigue presente después de cambiar al Native Installer.
La clave no es repetir claude update. Primero hay que saber qué ejecutable claude está usando realmente la shell y cómo fue instalado.
Esta guía fue revisada el 10 de junio de 2026 con la documentación oficial de Anthropic: Claude Code Advanced setup, CLI reference, Settings y Troubleshooting.
Resumen rápido
Si Claude Code no se actualiza a la última versión, revisa esto en orden.
| Comprobación | Comando o ubicación | Significado |
|---|---|---|
| Versión actual | claude --version |
La versión de Claude Code que realmente se ejecuta |
| Ruta del ejecutable | which -a claude |
Qué claude aparece primero en PATH |
| Estado de instalación | claude doctor |
Revisa instalación, ajustes e intentos recientes de actualización |
| Actualización manual | claude update |
Actualización inmediata para la ruta native/auto-update |
| Método de instalación | Native Installer, Homebrew, npm, WinGet | Cada método se actualiza de forma distinta |
| Canal de release | autoUpdatesChannel, nombre del cask de Homebrew |
Si estás en latest o stable |
La mayoría de problemas viene de métodos de instalación mezclados, binarios antiguos antes en PATH o instalaciones por package manager que necesitan su propio comando de upgrade.
Comprueba la versión actual y la ruta ejecutable
Primero comprueba la versión instalada.
claude --version
Después comprueba la ruta del ejecutable real.
which -a claude
which claude solo muestra el primer ejecutable. which -a claude muestra varios candidatos de PATH, algo más útil cuando hay instalaciones mezcladas.
Puedes ver rutas como:
/Users/you/.local/bin/claude
/opt/homebrew/bin/claude
/usr/local/bin/claude
Esto ayuda a inferir si el binario activo viene del Native Installer, Homebrew o npm. Si la versión no cambia después de actualizar, puede que la versión nueva esté instalada pero el terminal siga ejecutando un claude antiguo.
En Windows, comprueba las rutas candidatas con:
where.exe claude
Comandos para probar primero
Claude Code incluye un comando de diagnóstico para revisar instalación y configuración.
claude doctor
La documentación de Anthropic también recomienda ejecutar claude doctor desde la shell si Claude Code no arranca. Puede revelar fallos recientes de actualización, problemas de permisos en el directorio global de npm y otros problemas de entorno.
Para intentar una actualización inmediata:
claude update
Este comando no significa lo mismo para todos los métodos de instalación. Es central para Native Installer y la ruta de auto-update de Claude Code, pero Homebrew, WinGet y los package managers de Linux normalmente requieren el comando de upgrade del package manager.
Si instalaste con Native Installer
Anthropic recomienda Native Install para Claude Code. En macOS, Linux y WSL:
curl -fsSL https://claude.ai/install.sh | bash
En Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
Claude Code instalado de esta forma admite auto-updates en segundo plano. Revisa actualizaciones al iniciar y periódicamente mientras se ejecuta, y las aplica la siguiente vez que se inicia.
Para aplicar una actualización de inmediato:
claude update
Si la versión sigue sin cambiar, sospecha primero de PATH.
which -a claude
claude --version
Si instalaste con Homebrew
Si instalaste Claude Code con Homebrew en macOS, usa el flujo de upgrade de Homebrew en lugar de depender de la ruta de auto-update de Claude Code.
Para el cask stable:
brew upgrade claude-code
Para el cask latest:
brew upgrade claude-code@latest
Anthropic documenta dos casks de Homebrew.
| cask | Canal | Comportamiento |
|---|---|---|
claude-code |
stable | Suele ir aproximadamente una semana por detrás y evita releases con regresiones graves |
claude-code@latest |
latest | Recibe versiones nuevas tan pronto como salen |
En instalaciones con Homebrew, el nombre del cask decide el canal. autoUpdatesChannel en settings.json no es el factor decisivo.
Para pasar de stable a latest:
brew uninstall --cask claude-code
brew install --cask claude-code@latest
Después de actualizar, conviene limpiar versiones antiguas de vez en cuando:
brew cleanup
Si instalaste con npm
Si antes instalaste Claude Code mediante npm, actualízalo con:
npm install -g @anthropic-ai/claude-code@latest
Las instalaciones globales de npm pueden complicarse por gestores de versiones de Node, global prefixes y permisos. Si alguna vez usaste sudo npm install -g, las actualizaciones automáticas o de paquetes pueden fallar por problemas de propiedad.
Comprueba el prefix global de npm y la ruta ejecutable activa.
npm config get prefix
which -a claude
Si la ruta global de npm aparece antes que Native Installer o Homebrew, la shell puede seguir ejecutando la versión instalada por npm.
Cuando hay varios métodos mezclados, conserva solo uno. Salvo que tengas una razón específica para seguir con npm, Native Installer suele ser la opción más simple a largo plazo.
Windows y WinGet
Para Native Installer en Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
Si instalaste con WinGet:
winget upgrade Anthropic.ClaudeCode
La documentación de Anthropic indica que las instalaciones por WinGet no se actualizan automáticamente por defecto. Windows también puede bloquear el ejecutable mientras Claude Code está en ejecución, así que cierra Claude Code y vuelve a intentar el comando si falla.
Después de instalar, comprueba versión y ruta.
claude --version
where.exe claude
Comprueba el canal de release
A veces Claude Code sí se actualiza correctamente, pero estás en un canal con retraso.
Para Native Installer y claude update, el ajuste autoUpdatesChannel controla el canal.
| Valor | Significado |
|---|---|
latest |
Valor predeterminado. Recibe funciones nuevas más rápido |
stable |
Suele ir aproximadamente una semana por detrás y evita releases con regresiones graves |
Puedes cambiarlo en /config bajo Auto-update channel o editar settings.json.
{
"autoUpdatesChannel": "latest"
}
Si prefieres estabilidad:
{
"autoUpdatesChannel": "stable"
}
De nuevo, Homebrew es distinto: claude-code sigue stable y claude-code@latest sigue latest.
Comprueba si las actualizaciones están desactivadas
Los ajustes pueden bloquear actualizaciones. Revisa el archivo de usuario.
cat ~/.claude/settings.json
Este ajuste desactiva las comprobaciones de auto-update en segundo plano.
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
DISABLE_AUTOUPDATER solo detiene las comprobaciones en segundo plano. claude update y claude install pueden seguir funcionando.
DISABLE_UPDATES es más fuerte y puede bloquear también las rutas manuales de actualización. En entornos corporativos gestionados, puede estar ahí a propósito, así que revisa la política del equipo antes de eliminarlo.
Para instalaciones con Homebrew o WinGet, Claude Code puede ejecutar el comando de upgrade del package manager en segundo plano si se define esta variable:
{
"env": {
"CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE": "1"
}
}
Aun así, conviene conocer el comando manual porque permisos y bloqueos de archivo pueden seguir importando.
Resuelve conflictos de PATH
La razón más común por la que una actualización parece fallar es un conflicto de PATH.
Comprueba todos los ejecutables candidatos.
which -a claude
Si zsh o bash tiene cacheada una ruta antigua, reinicia la cache de hash de la shell.
hash -r
Luego cierra y vuelve a abrir el terminal y revisa otra vez.
claude --version
which -a claude
Si aparecen rutas de Homebrew, npm y Native Installer al mismo tiempo, conserva un solo método. Por ejemplo, para estandarizar en Native Installer, elimina las instalaciones antiguas de Homebrew o npm y vuelve a comprobar.
brew uninstall --cask claude-code
npm uninstall -g @anthropic-ai/claude-code
which -a claude
Estos comandos eliminan software instalado. En equipos gestionados por una empresa, revisa la política antes.
Orden recomendado de diagnóstico
Empieza con esta secuencia.
claude --version
which -a claude
claude doctor
claude update
Si no lo resuelve, actúa según el método de instalación.
Native Installer
curl -fsSL https://claude.ai/install.sh | bash
Homebrew
brew upgrade claude-code
Para el cask latest:
brew upgrade claude-code@latest
npm
npm install -g @anthropic-ai/claude-code@latest
Windows WinGet
winget upgrade Anthropic.ClaudeCode
Finalmente, comprueba otra vez.
claude --version
which -a claude
En Windows:
claude --version
where.exe claude
Conclusión
Cuando Claude Code no se actualiza a la última versión, lo más importante es identificar primero el método de instalación.
En lugar de repetir claude update, usa which -a claude para comprobar el ejecutable activo y decide si viene de Native Installer, Homebrew, npm o WinGet.
En macOS especialmente, Homebrew y Native Installer pueden coexistir y crear confusión en PATH. En ese caso, la solución más fiable es conservar un solo método de instalación y eliminar el antiguo.
En resumen:
- Native Installer: usa
claude updateo vuelve a ejecutar el script de instalación - Homebrew: usa
brew upgrade claude-codeobrew upgrade claude-code@latest - npm: usa
npm install -g @anthropic-ai/claude-code@latest - WinGet: usa
winget upgrade Anthropic.ClaudeCode - Si la versión sigue sin cambiar, revisa PATH con
which -a claudeowhere.exe claude
Claude Code cambia con frecuencia. Para usar funciones nuevas de forma fiable, mantén explícitos el método de instalación y el canal de release.