Claude Codeで「command not found: claude」——インストールは成功してるのに動かない理由

Claude Codeで「command not found: claude」——インストールは成功してるのに動かない理由

Claude Codeをインストールしたのに「command not found: claude」「is not recognized」と出る原因をPATH・複数インストールの競合・VS Code拡張機能の落とし穴に分けて解説。macOS/Linux/Windows別のコマンド付き。

エンジニアのゆとです。

Claude Codeのインストーラーを実行して、エラーもなく終わったはずなのにclaudeコマンドを打つと見つからない、という症状はよくある。「インストールに失敗した」と思ってインストーラーを何度も実行し直す人がいるけど、大抵の場合インストール自体は成功していて、原因は別のところにある。

結論 — 9割はPATHが通っていないだけ

先に結論を書く。command not found: claude(Windowsだとis not recognized)が出る一番の原因は、インストール先のディレクトリがシェルのPATH(コマンドを探しに行く場所のリスト)に入っていないことだ。インストール自体は失敗していないので、再インストールしても直らない。

エラーメッセージは環境によって表記が変わるが、意味はどれも同じだ。

プラットフォームエラーメッセージ
macOSzsh: command not found: claude
Linuxbash: claude: command not found
Windows CMD'claude' is not recognized as an internal or external command
PowerShellclaude : The term 'claude' is not recognized as the name of a cmdlet
code.claude.com
Troubleshoot installation and login - Claude Code Docs command not found、PATH、権限、ネットワーク、認証エラーなどインストール・ログイン周りのエラーを症状別に整理した公式ページ。

PATHを確認する

インストーラーはネイティブインストールの場合、claudeをmacOS/Linuxでは~/.local/bin/claudeに、Windowsでは%USERPROFILE%\.local\bin\claude.exeに配置する。ここがPATHに入っていないと、シェルはclaudeというコマンドの存在に気づけない。

macOS/Linux

PATHに含まれているか確認する。

echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

/Users/you/.local/bin/home/you/.local/binが表示されればPATHは通っている。何も表示されない場合は、シェルの設定ファイルに追記する。

macOSのデフォルトシェルであるZshの場合:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

多くのLinuxディストリビューションのデフォルトであるBashの場合:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

反映後、ターミナルを開き直すかsourceコマンドで即座に反映して、動作確認する。

claude --version

fishやNushellなど他のシェルを使っている場合は、それぞれの設定ファイルの書式で~/.local/binを追加し、ターミナルを再起動すればいい。

Windows PowerShell

$env:PATH -split ';' | Select-String '\.local\\bin'

何も表示されなければ、ユーザーPATHに追加する。

$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

設定を反映させるにはターミナルの再起動が必要になる。

Windows CMD

echo %PATH% | findstr /i "local\bin"

何も表示されない場合は、システム設定 → 環境変数から、ユーザーPATH変数に%USERPROFILE%\.local\binを追加してターミナルを再起動する。

VS Code拡張機能を入れただけではclaudeコマンドは使えない

これは見落としやすい罠なので独立の見出しにしておく。VS Code拡張機能をインストールしただけでは、claudeコマンドはPATHに追加されない。

拡張機能は、拡張機能自身のチャットパネル用にCLIのコピーを内部に持っているだけで、~/.local/binclaudeを配置する処理はしない。つまり拡張機能だけを入れた状態だと、~/.local/bin/claudeはそもそも存在しない。

ターミナルからclaudeコマンドを使いたい場合は、拡張機能とは別に、以下のスタンドアロンインストーラーを実行する必要がある。

curl -fsSL https://claude.ai/install.sh | bash

「拡張機能は入れたのにコマンドが見つからない」で悩んでいる場合、まずこの前提を疑ってほしい。VS Code / Cursorでの実務的な使い分けについては別記事にまとめてある。

Claude Code × VSCode 完全ガイド 2026 — CLI経験者が生産性を3倍にする実務ワークフロー
Claude Code × VSCode 完全ガイド 2026 — CLI経験者が生産性を3倍にする実務ワークフローClaude Code VSCode拡張機能のインストールから実務活用まで。CLI版との違い、Subagent並列処理、MCP連携、Plan Modeでのコスト最適化を徹底解説。読む →

複数のインストールが競合していないか確認する

PATHは通っているのにclaude --versionが古いバージョンを表示する、あるいは挙動がおかしい場合、複数のclaudeインストールが競合している可能性がある。

claudeバイナリが来る可能性のある場所は主に3つある。ネイティブインストーラーが作る~/.local/bin/claude、古いバージョンのClaude Codeが作っていたレガシーなローカルnpmインストールの~/.claude/local/、そしてnpm install -gによるグローバルインストールだ。

macOS/Linuxでは、PATH上に見つかるclaudeバイナリを全て列挙できる。

which -a claude

何も表示されない場合はまだ何もPATHに乗っていない状態なので、上のPATH設定に戻る。

3つの場所を個別に確認することもできる。

ls -la ~/.local/bin/claude
ls -la ~/.claude/local/
npm -g ls @anthropic-ai/claude-code 2>/dev/null

No such file or directoryと出るのはエラーではなく、単にそこには何もインストールされていないという意味だ。

複数見つかった場合は、ネイティブインストール(~/.local/bin/claude)を1つだけ残して、他は削除するのが推奨されている。

# npmのグローバルインストールを削除
npm uninstall -g @anthropic-ai/claude-code

# レガシーなローカルnpmインストールを削除
rm -rf ~/.claude/local

# Homebrewでインストールした場合
brew uninstall --cask claude-code

Windowsの場合、PowerShellでwhere.exe claudeを実行するとPATH上のバイナリを列挙できる。WinGetでインストールした場合はwinget uninstall Anthropic.ClaudeCodeで削除できる。

ディレクトリの権限を確認する

PATHは正しいのにインストーラー自体がエラーで止まる場合、書き込み権限が原因のこともある。インストーラーは~/.local/bin/~/.claude/への書き込み権限を必要とする(Windowsでは%USERPROFILE%配下がデフォルトでユーザー書き込み可能なので、この問題はほぼ起きない)。

書き込み可能かを確認する。

test -w ~/.local/bin && echo "writable" || echo "not writable"
test -w ~/.claude && echo "writable" || echo "not writable"

どちらかが書き込み不可の場合、ディレクトリを作成して所有者を自分のユーザーに変更する。

sudo mkdir -p ~/.local/bin
sudo chown -R $(whoami) ~/.local

npmインストール後に「native binary not installed」と出る場合

npmで@anthropic-ai/claude-codeをインストールした場合、パッケージはOSごとのネイティブバイナリを別パッケージ(例:@anthropic-ai/claude-code-darwin-arm64)としてダウンロードし、postinstallスクリプトがそれをclaudeコマンドとして配置する。この一連の流れがどこかで止まると、claudeはプレースホルダーのままになり、実行すると次のようなエラーが出る。

Error: claude native binary not installed.

Either postinstall did not run (--ignore-scripts, some pnpm configs)
or the platform-native optional dependency was not downloaded
(--omit=optional).

このエラーが出たら、以下を順番に確認する。

  • npm install--omit=optional、pnpmの--no-optional、yarnの--ignore-optionalを付けていないか、.npmrcoptional=falseになっていないか
  • --ignore-scriptsでpostinstallをスキップしていないか。その場合はメッセージの指示通り手動でpostinstallを実行する
node node_modules/@anthropic-ai/claude-code/install.cjs
  • 対応プラットフォーム(darwin-arm64darwin-x64linux-x64linux-arm64linux-x64-musllinux-arm64-muslwin32-x64win32-arm64)以外を使っていないか
  • 社内npmミラーを使っている場合、8つの@anthropic-ai/claude-code-*プラットフォームパッケージ全てがミラーされているか

npm経由のインストールでトラブルが多い場合は、そもそもネイティブインストーラーに切り替えるのが手っ取り早い解決になることが多い。

curl -fsSL https://claude.ai/install.sh | bash

FAQ

claude --versionは動くのに、コマンドを実行すると固まる・クラッシュする

PATHの問題ではなく、バイナリ自体の実行に問題がある可能性が高い。バイナリが実行可能な状態か確認する。

ls -la "$(command -v claude)"

Linuxで共有ライブラリが不足していないか確認するにはldd "$(command -v claude)" | grep "not found"を使う。Alpine LinuxなどmuslベースのディストリビューションではAlpine Linux向けのセットアップ手順が別途必要になる。

WSL環境でexec: node: not foundと出る

WSL側のnpm/nodeではなく、Windows側のNode.jsインストールを参照してしまっている可能性がある。which npmwhich nodeを実行し、パスが/mnt/c/から始まっていればWindows側のバイナリを掴んでいる。Linuxディストリビューションのパッケージマネージャかnvm経由でNode.jsをWSL内に入れ直すのが対処法になる。

何度再インストールしても直らない

再インストールで直らない場合、ほぼ確実に原因はPATH設定か複数インストールの競合のどちらかだ。インストーラー自体を疑う前に、この記事のPATH確認と競合チェックを先に済ませてほしい。

まとめ

command not found: claudeは「インストールに失敗した」ように見えて、実際にはインストール自体は成功しているケースが大半だ。PATHが通っているか、複数のインストールが競合していないか、VS Code拡張機能とスタンドアロン版を混同していないか——この3点を順番に確認すれば、大抵は再インストールなしで解決する。

github.com
anthropics/claude-code Issues 同じ症状の報告を検索したり、再現しない不具合を報告するならここ。
← 記事一覧に戻る