Claude Code をインストールしたのに、ターミナルで claude と打つと command not found になる、あるいはインストーラが Native installation exists but ~/.local/bin is not in your PATH と警告したときの手順です。原因はほぼ「claude の置き場所 ~/.local/bin が PATH に入っていない」ことで、zsh なら ~/.zshrc に 1 行足して読み込み直せば直ります。
確認環境は Claude Code 2.1.322、macOS 26.6.2、2026-11-13 です。
症状
claude を実行すると、シェルごとに次のように返ります。公式の表では、環境別に次の文言が挙がっています。
zsh: command not found: claude
bash: claude: command not found
'claude' is not recognized as an internal or external command
claude : The term 'claude' is not recognized as the name of a cmdlet
上から順に macOS(zsh)、Linux(bash)、Windows のコマンドプロンプト、PowerShell です。
インストーラの出力の Setup notes: には、次の警告が出ます。
Native installation exists but ~/.local/bin is not in your PATH.
警告には、あわせて次の形の実行コマンドが示されます(<rc> は使っているシェルの設定ファイル)。
Run: echo 'export PATH="$HOME/.local/bin:$PATH"' >> <rc>
結論
- インストール自体は成功しています。ネイティブ版の
claudeは~/.local/bin/claudeに置かれますが、そのフォルダがシェルの検索対象(PATH)に入っていません。 - zsh(macOS の標準)なら、次の 2 行で直ります。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
- 公式によると、インストーラは警告と修正コマンドを表示するだけで、PATH 自体は書き換えません。
原因
シェルは claude のようなコマンド名を、PATH に並んだフォルダを順に探して見つけます。ネイティブインストーラは claude を ~/.local/bin に置きますが、PATH への追加は行いません。このフォルダが PATH に入っていなければ、ファイルがあっても見つからず command not found になります。
手元で確かめた結果
PATH に ~/.local/bin を含まない状態を env -i で作って、同じ現象を再現しました。この Mac の ~/.local/bin/claude は実在します(claude --version が通る環境です)。シェルの設定ファイルは読み込ませていません(zsh は -f、bash は --noprofile --norc)。
zsh で、PATH を /usr/bin:/bin だけにした場合です。
$ env -i PATH=/usr/bin:/bin /bin/zsh -f -c 'claude --version; echo "exit=$?"'
zsh:1: command not found: claude
exit=127
zsh:1: の 1 は -c で実行した 1 行目という意味です。対話シェルでは zsh: command not found: claude と出ます。終了コードは 127 です。
bash でも同じです。
$ env -i PATH=/usr/bin:/bin /bin/bash --noprofile --norc -c 'claude --version; echo "exit=$?"'
/bin/bash: claude: command not found
exit=127
公式が案内する PATH の確認コマンドは、入っていないと何も出力せず、終了コードが 1 になります。
$ echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"
(出力なし)
grep exit=1
そこで公式の 1 行を足した状態を同じ条件で試すと、フォルダが PATH に現れ、claude が動きました。
~/.local/bin
2.1.322 (Claude Code)
直し方
1. claude 本体があるか確かめる
ls -la ~/.local/bin/claude
- 一覧が出れば、本体はあります。次の手順へ進みます。
-
No such file or directoryなら、ネイティブ版が入っていません。公式の setup のインストールからやり直します。npm や Homebrew で入れた場合は、複数インストールの確認(下の「直らないとき」)を見てください。
なお、公式によると VS Code 拡張は自前の CLI をフォルダ内に持つだけで、PATH にも ~/.local/bin/claude にも置きません。拡張だけ入れた状態では、ターミナルの claude は使えません。標準のインストールを別に行います。
2. PATH に入っているか確かめる
echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"
/Users/あなた/.local/bin(Linux なら /home/あなた/.local/bin)が出れば PATH には入っています。何も出なければ、次で足します。
3. 使っているシェルに合わせて追記する
公式の手順を、シェル別にまとめます。echo は成功すると何も表示しません。
zsh(macOS の標準):
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Linux の bash:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
macOS の bash は、~/.bashrc ではなく ~/.bash_profile に書きます。公式によると、macOS のターミナルは bash をログインシェルとして起動し、~/.bash_profile、~/.bash_login、~/.profile のうち最初に存在するものだけを読むためです。~/.bash_login か ~/.profile がすでにあって ~/.bash_profile が無い場合は、新しく作らずそのファイルに書きます。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
fish や Nushell は、そのシェル自身の書き方で ~/.local/bin を PATH に足してから、ターミナルを開き直します。
使っているシェルが分からないときは echo $0 で確かめます。
4. 確かめる
claude --version
2.1.322 (Claude Code) のようにバージョンが出れば完了です。
直らないとき
公式が挙げている原因は次の 3 つです。
- 変更前に開いたターミナルは、古い PATH のままです。新しいウィンドウを開くか、エディタ内蔵のターミナルならエディタを一度終了して開き直します。エディタ内のターミナルは、PATH をエディタから引き継ぎます。
- 追記が保存されていません。次で確かめます(使っているシェルのファイル名に置き換えます)。何も出なければ、手順 3 をやり直します。
grep -n '.local/bin' ~/.zshrc
- 別のシェルのファイルに書いています。
echo $0で今のシェルを確認し、そのシェル用のコマンドを実行します。
echo の段階で permission denied が出る場合は、設定ファイルへ書き込めておらず、何も保存されていません。公式の案内は次のとおりです。
ls -l ~/.zshrc
3 番目の項目が所有者です。root など他のユーザなら sudo chown $(whoami) ~/.zshrc で自分のものにします(管理者権限が必要です)。自分が所有者なら読み取り専用なので chmod u+w ~/.zshrc で書けるようにします。そのうえで手順 3 をやり直します。
複数のインストールが混ざっていないか
ネイティブ版以外(npm、Homebrew、旧 ~/.claude/local/)が混在していると、意図しない claude が呼ばれることがあります。公式は次の 3 か所を確認し、残すのはネイティブ版 1 つだけにするよう案内しています。
which -a claude
ls -la ~/.local/bin/claude
ls -la ~/.claude/local/
npm -g ls @anthropic-ai/claude-code 2>/dev/null
which -a claude はPATH上にある claude を全部並べます。~/.local/bin/claude はネイティブ版、~/.claude/local/ は古い版の Claude Code が作った npm 版、最後の行は npm のグローバルインストールです。No such file or directory は、その場所に何も入っていないという意味でエラーではありません。~/.local/bin/claude はあるのに which -a claude の一覧に出ないなら、フォルダが PATH に入っていない状態で、手順 2 以降に戻ります。
PATH に入っているのに警告が出続けるとき
issue では、~/.local/bin が PATH に入っているのに Native installation exists but ~/.local/bin is not in your PATH が出続ける報告もあります(#65532、#104403)。これらの報告では、Claude Code が自分のインストール先を見ているシェルの PATH と、普段使っているシェルの PATH が食い違っているようです(原因はこの記事の筆者の推測を含みます)。which claude で claude が見つかり、claude --version が通るなら、実害はないので警告は無視してかまいません。
同じ原因で出る別のメッセージ
Windows の 'claude' is not recognized as an internal or external command や claude : The term 'claude' is not recognized as the name of a cmdlet も、考え方は同じです。インストール先は %USERPROFILE%\.local\bin\claude.exe で、そのフォルダが PATH に入っていません。確認コマンドと追加方法は、公式の Verify your PATH の Windows の節にあります。更新の直後から出始めた場合は、claude.exe のバックアップから戻す節が別にあります。
Claude Code で出るほかの英文エラーと、それぞれの対処は、早見表にまとめています。
参考
- 公式 Troubleshoot installation and login(command not found: claude after installation): https://code.claude.com/docs/en/troubleshoot-install#command-not-found-claude-after-installation
- 公式 Troubleshoot installation and login(Verify your PATH): https://code.claude.com/docs/en/troubleshoot-install#verify-your-path
- 公式 Troubleshoot installation and login(permission denied when adding to your PATH): https://code.claude.com/docs/en/troubleshoot-install#permission-denied-when-adding-to-your-path
- issue #65532(PATH に入っているのに警告が出る): https://github.com/anthropics/claude-code/issues/65532
- issue #104403: https://github.com/anthropics/claude-code/issues/104403