目次
Claude Code をインストールしたのに、ターミナルで claude を叩くとこう出る——そんな経験はないだろうか:
zsh: command not found: claude # macOS
bash: claude: command not found # Linux
'claude' is not recognized as an internal or external command # Windows CMD
claude : The term 'claude' is not recognized as the name of a cmdlet # PowerShell
これは 「claude という実行ファイルが見つからない」というエラーで、原因の大半は 「インストール先のフォルダが PATH に入っていない」こと。インストール自体は成功していて、ただシェルが場所を知らないだけのことが多い。本記事では、インストール方法と置き場所・PATHの直し方・複数インストールの衝突・Windows特有の罠・更新系までを、2026年9月29日時点の公式ドキュメントと照らして整理する。
先に要点。① command not found はほぼ「PATH に ~/.local/bin(インストール先)が無い」だけ——追加して端末を再起動すれば直る。② npm の権限エラー(EACCES)は sudo せず、ネイティブインストーラに切り替えるのが正解。③ 困ったら claude doctor——インストール状態・設定・更新結果をまとめて点検してくれる。具体的なコマンドや既定値はバージョンで変わるため、最新は公式で確認を。
出ているメッセージから探す
| 表示されている文言 | 出る場所 | 見る節 |
|---|---|---|
zsh: command not found: claudebash: claude: command not found | macOS / Linux | §3 |
'claude' is not recognized as an internal or external commandclaude : The term 'claude' is not recognized as the name of a cmdlet | Windows の CMD / PowerShell | §3・§4 |
Native installation exists but ~/.local/bin is not in your PATH | claude doctor、入力欄の下 | §3 |
Failed to run Claude Code: Error: Could not locate the Claude CLI on PATH | Windows の VS Code | §4 |
更新の直後に 'claude' is not recognized | Windows | §4 |
Auto-update failed · Run claude doctor | 起動中のセッションの表示欄 | §5 |
入っているのに、見つからない
— インストール先が PATH に無いだけ
バイナリは ちゃんと存在する。シェルが探す PATH にその場所が無いだけ。
だから直し方は 「PATH に1行足す」——たいてい数十秒で終わる。
1. このエラーは何を言っているのか
シェル(zsh / bash / PowerShell)は、コマンドを打つと PATH という環境変数に並んだフォルダを順に探して、その名前の実行ファイルを見つけたら動かす。command not found: claude は、その PATH のどのフォルダにも claude が無かったという意味だ。
ここで大事なのは 「インストール失敗とは限らない」こと。ネイティブインストーラは claude を ~/.local/bin(Windows は %USERPROFILE%\.local\bin)に置くが、このフォルダが PATH に入っていないと、実体はあるのにシェルが見つけられない。だから 多くのケースは「PATH に1行足して端末を再起動」で直る。失敗を疑う前に、まず ls ~/.local/bin/claude で実体があるかを確認しよう。
なお Windows では、インストールコマンドの“シェル取り違え”(PowerShell用を CMD で実行する等)で別のエラーが出る。これは §4 で扱う。まずは正しいインストール方法と置き場所を押さえる。
2. インストール方法と置き場所
2026年9月29日時点で公式のセットアップのページに載っているインストール方法と、バイナリの置き場所はこうだ(推奨はネイティブインストーラ)。
| 方法 | コマンド(概形) | 置き場所 / 注意 |
|---|---|---|
| ネイティブ(推奨)mac/Linux/WSL | curl -fsSL https://claude.ai/install.sh | bash | ~/.local/bin/claude(自動更新あり) |
| ネイティブ(推奨)Windows の PowerShell | irm https://claude.ai/install.ps1 | iex | %USERPROFILE%\.local\bin\claude.exe(自動更新あり) |
| ネイティブ(推奨)Windows の CMD | curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd | 置き場所は PowerShell と同じ |
| npm | npm install -g @anthropic-ai/claude-code | Node.js 22 以上(v2.1.198 から)で、同じネイティブバイナリを導入 |
| Homebrew(mac) | brew install --cask claude-code | 自動更新なし → brew upgrade claude-code(毎回の版を追う claude-code@latest もある) |
| WinGet(Windows) | winget install Anthropic.ClaudeCode | 自動更新なし → winget upgrade Anthropic.ClaudeCode |
| apt / dnf / apk(Linux) | Debian・Fedora・RHEL・Alpine 向けの署名付きリポジトリ | 自動更新なし → パッケージマネージャで更新 |
ポイントは 「公式はネイティブインストーラを推奨」していること。npm 版も同じネイティブバイナリを入れる。npm のパッケージは v2.1.198 から Node.js 22 以上を求めるが、古い Node.js でも npm が EBADENGINE の警告を出すだけでインストールは完了する(バイナリは動作に Node を使わない)。npm 経由は権限・PATH のトラブルが起きやすいので、これから入れるなら迷わずネイティブが無難だ。なお VS Code 拡張だけを入れた場合は、拡張内に専用CLIが同梱され claude は PATH に追加されない——ターミナルで claude を使いたいなら別途インストールが必要だ。
3. 繋がらない主な原因と対処
command not found と、その周辺でハマりやすい原因を対処とセットで挙げる。
インストール・PATHの主因
~/.local/bin が PATH 外。~/.zshrc/~/.bashrc に export PATH="$HOME/.local/bin:$PATH" を足して端末再起動。sudo npm はしない(公式が非推奨)。ネイティブインストーラに切り替えるのが最短で安全。EBADENGINE の警告が出るだけ。claude が見つからない原因にはならない——先に PATH を見る。which -a claude(Win:where.exe claude)で確認し、ネイティブ1本に絞る。Error: claude native binary not installed. は、optional 依存か postinstall が飛ばされたときに出る。--omit=optional / --ignore-scripts を外して入れ直す。
迷ったら 「ネイティブインストーラで入れ直す」が大半を解決する。
権限・Node・衝突の問題をまとめて回避できる。
PATH追加の具体例(mac の zsh):echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc の後 source ~/.zshrc。Linux の bash なら ~/.bashrc に同様に。mac で bash を使っているなら ~/.bash_profile に書く(ターミナルは bash をログインシェルとして起動し、~/.bashrc を読まない)。Windows の PowerShell なら [Environment]::SetEnvironmentVariable('PATH', "$([Environment]::GetEnvironmentVariable('PATH', 'User'));$env:USERPROFILE\.local\bin", 'User') でユーザーの PATH に足す。変更後は新しい端末を開き、claude --version で確かめる。
「Native installation exists but ~/.local/bin is not in your PATH」
この警告は claude doctor の出力(Installation warnings の欄)と入力欄の下に出る。公式の GitHub の issue に利用者が貼った文面はこうだ。
Native installation exists but ~/.local/bin is not in your PATH
Run: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc then open a new terminal or run: source ~/.zshrc
意味は 「ネイティブ版は ~/.local/bin に入っているが、そのフォルダが Claude Code から見た PATH に無い」。直し方は上と同じで、シェルの設定ファイルに1行足して新しい端末を開く。新しい端末で echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin" がフォルダを表示するのに警告が消えない場合は、GitHub で報告されている例にあたる(#63695:PATH を ~/.zshenv だけに書き、VS Code の端末から起動/#75431:claude を別の場所に入れている)。どちらも2026年9月29日時点で修正されないまま閉じられている。新しい端末で claude --version が動くなら、インストール自体は問題ない。
4. Windows特有の罠
Windows では、インストールコマンドを“別のシェル”で実行して失敗するのが定番だ。出るエラーで取り違えが分かる。
シェル取り違えの見分け方
| エラー | 意味と対処 |
|---|---|
'irm' is not recognized as an internal or external command | CMDでPowerShell用を実行 → PowerShellを開いて irm https://claude.ai/install.ps1 | iex、または CMD 用のインストーラへ |
The token '&&' is not a valid statement separator | PowerShellでCMD用を実行 → PowerShellインストーラへ |
A parameter cannot be found that matches parameter name 'fsSL' | PowerShellで mac/Linux 用の curl を実行(PowerShell の curl は Invoke-WebRequest の別名)→ PowerShellインストーラへ |
'bash' is not recognized as the name of a cmdlet | WindowsでLinux用を実行 → PowerShellインストーラへ |
その他の Windows の注意点:① インストール後は端末を再起動(PATH変更は新しい端末から反映)。② 古い Claude Desktop が WindowsApps\Claude.exe を登録していると、claude が CLIではなくデスクトップアプリを起動してしまう——Claude Desktop を更新する。③ Git for Windows は任意で、無ければ Claude Code は PowerShell ツールでコマンドを動かす。Git を入れたのに Git Bash が見つからない場合は、設定の CLAUDE_CODE_GIT_BASH_PATH で bash.exe を指定。WSL を使う手もある。
VS Code の「Could not locate the Claude CLI on PATH」
Windows の VS Code 拡張で、統合ターミナル(シェルは PowerShell)から Claude Code を開いたとき、インストール済みの claude が PATH に見つからないと出る。文面の書き出しはこうだ。
Failed to run Claude Code: Error: Could not locate the Claude CLI on PATH.
PowerShell で claude を名前だけで起動すると、インストール済みの CLI ではなく開いているフォルダの claude を動かしかねないため、拡張が起動を止めている。① VS Code の外で新しい PowerShell を開き where.exe claude を実行。何も出なければ §3 のとおり PATH にインストール先を足す。② PATH は PowerShell のプロファイルだけでなく、ユーザーかシステムの環境変数に入れる(拡張はプロファイルを読まない)。③ PATH は起動時にしか読まれないので VS Code を再起動する。
更新の直後に「'claude' is not recognized」
Windows での更新では、今の claude.exe を claude.exe.old.+時刻という名前に退避してから新しい版を置く。置き換えに失敗して名前も戻せないと、%USERPROFILE%\.local\bin に退避分だけが残り claude.exe が無くなる。PowerShell で最新の退避分を戻す。
Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe
そのあと claude --version で確かめる。claude.exe.old.* が無ければ irm https://claude.ai/install.ps1 | iex で入れ直す。v2.1.281 からは、更新に失敗すると退避した実行ファイルが自動で戻される。
5. 自動更新と更新系
ネイティブインストールは バックグラウンドで自動更新され、次回起動時に反映される。手動で最新化したいときは claude update、特定バージョンの再インストール/固定は claude install <version>(stable / latest 等も指定可)。直近の更新の結果は claude doctor で確認できる。Homebrew・WinGet・apt・dnf・apk は既定では自動更新されない。Homebrew と WinGet は CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 を設定すると、Claude Code が更新コマンドを代わりに実行する。
npm版で自動更新が効かないとき
npm グローバルのフォルダに書き込み権限が無いと自動更新が失敗する。claude doctor が修正候補を出すので、それに従ってネイティブインストールへ移行するのが根本解決。自動更新を止めたいだけなら設定の env に DISABLE_AUTOUPDATER(手動更新は残る)、すべての更新を止めるなら DISABLE_UPDATES。
「Auto-update failed · Run claude doctor」
バックグラウンドの更新に失敗すると、起動中のセッションの表示欄にこれが出る。GitHub の issue に貼られた文面は2通りで、v2.1.220〜v2.1.278 では Auto-update failed · Run claude doctor、それより前の npm 版では Auto-update failed · Try claude doctor or npm i -g @anthropic-ai/claude-code。次の順で対処する。
- 端末で
claude doctorを実行——直近の更新の結果とインストールの警告が出る。 claude updateを実行して今すぐ更新する。更新されればSuccessfully updated from <old version> to version <new version>、待ちが無ければClaude Code is up to date (<version>)と出る。- すでに最新なら、失敗は一時的なもの(ネットワークの瞬断など)。GitHub の issue(#89286・#96038)では、セッションを再起動するまで表示が残ると報告されている。
- npm グローバルで、そのフォルダに書き込めないなら自動更新は動かない——ネイティブへ移る(上の枠)。
- 社内ネットワークで失敗が続くなら、
downloads.claude.aiに届くかを確かめる。
6. 切り分けワークフロー
原因が分からないときは、上から順に。ほとんどはステップ3までで解決する。
上から順に切り分ける
claude doctor(起動しないならシェルから)でインストール健全性を点検。which -a claude / where.exe claude でどこに何本あるかを確認(衝突の有無)。~/.local/bin を追加して端末再起動。
鉄則:「実体があるか → PATHにあるか → 衝突していないか」の順。
詰まったら最後はネイティブ入れ直しが確実。
まとめ
Claude Code の 「command not found: claude」は、多くが 「インストール先(~/.local/bin)が PATH に入っていない」だけだ。実体は存在するので、PATH に1行足して端末を再起動すれば直る。インストールは ネイティブインストーラが推奨(npm 版は Node.js 22 以上を求め、権限・PATHの罠が多い)。npm の EACCES は sudo せず、ネイティブに切り替えるのが正解だ。
切り分けは ① claude doctor → ② which -a claude / where.exe claude で衝突確認 → ③ PATH に ~/.local/bin 追加 → ④ 余計な版を削除 → ⑤ ネイティブで入れ直し。Windowsはシェル取り違え(irm を CMD で等)と端末再起動、古い Claude Desktop の Claude.exe 衝突に注意。更新は claude update / claude install、自動更新の停止は DISABLE_AUTOUPDATER。困ったら最後はネイティブ入れ直しが確実だ。関連:Claude Codeエラー集、認証・ログインエラー。
FAQ
Q. インストールしたのに command not found: claude が出ます。
A. ほぼ確実に インストール先が PATH に入っていないだけです。まず ls ~/.local/bin/claude(Windowsは %USERPROFILE%\.local\bin)で実体があるか確認し、あれば ~/.zshrc/~/.bashrc に export PATH="$HOME/.local/bin:$PATH" を追加して新しい端末を開いてください。インストール自体は成功していることが多いです。
Q. npm install -g で権限エラー(EACCES)になります。
A. sudo npm は使わないでください(公式が非推奨で、権限・セキュリティの問題を招きます)。最短で安全なのは ネイティブインストーラに切り替えること(mac/Linux:curl -fsSL https://claude.ai/install.sh | bash)。ネイティブ版は権限の罠が無く、Node も不要です。npm のグローバル prefix をユーザー領域に変える方法もありますが、公式の推奨はネイティブ移行です。
Q. 複数の claude が入っていて、古いバージョンが動きます。
A. which -a claude(Windowsは where.exe claude)でPATH上のすべての claudeを確認してください。npm グローバル・Homebrew・WinGet・ネイティブが混在していることがあります。ネイティブ(~/.local/bin)を残し、他を削除(npm uninstall -g @anthropic-ai/claude-code など)して1本に絞るのが確実です。
Q. Windowsで claude を打つとデスクトップアプリが開いてしまいます。
A. 古い Claude Desktop が WindowsApps\Claude.exe を登録しており、それが PATH 上でCLIより優先されているのが原因です。Claude Desktop を最新版に更新すると解消します。また、PowerShellインストーラ実行後に見つからない/古い場合は、端末を再起動して PATH を反映させてください。
Q. 更新がうまくいきません/更新を止めたいです。
A. ネイティブ版はバックグラウンドで自動更新され、次回起動時に反映されます。手動なら claude update、再インストール/固定は claude install <version>。Auto-update failed · Run claude doctor が出たら、claude doctor のあと claude update を実行し、最新だと出ればセッションの再起動で表示は消えます。npm グローバルで自動更新が失敗する場合は書き込み権限の問題なので、claude doctor の案内に従いネイティブへ移行を。自動更新を止めるなら設定の env に DISABLE_AUTOUPDATER、すべての更新を止めるなら DISABLE_UPDATES を設定します。