TL;DR(結論)
cursorでclaude codeを始めようと公式docからclaude をインストールしたものの、claude が置かれた ~/.local/bin に PATH が通っていないため command not found になっていた。
- 一時的に直す:
export PATH="$HOME/.local/bin:$PATH"
claude
- 恒久的に直す(zsh想定):
~/.zshrcに追記して再読み込み
export PATH="$HOME/.local/bin:$PATH"
source ~/.zshrc
command -v claude
claude
起きたこと(症状)
Claude Code を入れたつもりなのに、ターミナルで以下のエラー。
claude
zsh: command not found: claude
(ついでに)ドキュメントの例をそのまま打ってしまい、存在しないディレクトリへ cd していた。
cd your-awesome-project
cd: no such file or directory: your-awesome-project
この cd エラーは本題(claude が起動しない)とは別問題で、単に「例のプレースホルダ文字列」だった。
まず疑うべき2択
command not found は、基本この2つに分解できる。
- コマンドが存在しない(インストール失敗/未インストール)
- コマンドは存在するが、PATH が通っていない(シェルが見つけられない)
この2択を最短で切り分ける。
切り分け手順
1) まず「見つかるか」を確認
command -v claude || which claude
- パスが出る → PATH は通ってる(別の原因へ)
- 何も出ない → 「未インストール」か「PATH未設定」
2) よくある置き場所を探す
今回はここにあった(=インストール自体は成功)。
ls -la "$HOME/.local/bin" 2>/dev/null | grep -i claude || true
出力例(実際に起きていた状態):
lrwxr-xr-x@ 1 <user> staff 48 3 11 12:16 claude -> /Users/<user>/.local/share/claude/versions/2.1.72
ポイント:
-
~/.local/bin/claudeは シンボリックリンク - 実体は
~/.local/share/claude/versions/...にある - つまり「ファイルはある」のに、シェルが見つけられていない可能性が濃厚
3) PATH を可視化して答え合わせ
echo "$PATH" | tr ':' '\n'
この一覧に ~/.local/bin が 無いなら、それが原因。
原因
インストーラが ~/.local/bin/claude にコマンドを配置しても、あなたのシェル(zsh)の PATH に ~/.local/bin が含まれていないと、zsh はコマンドを検索できない。
その結果:
-
~/.local/bin/claudeは存在する - でも
claudeだけ打つと見つからない - =
zsh: command not found: claude
解決策
1) まずは一時対応(すぐ動かす)
export PATH="$HOME/.local/bin:$PATH"
claude
この方法は「今開いているシェルだけ」に効く。
2) 恒久対応(毎回有効にする)
zsh なら通常 ~/.zshrc に追記する。
export PATH="$HOME/.local/bin:$PATH"
反映:
source ~/.zshrc
command -v claude
claude
つまずきポイント
学び1: command not found は「存在」か「PATH」かで切れる
-
存在確認:
ls -la <dir> | grep <name>で実ファイル確認 -
PATH確認:
command -v <name>とecho $PATHで検索経路確認
このセットで、原因究明が速くなる。
学び2: ~/.local/bin は “置かれがち” だが、勝手に PATH に入らないことがある
Python/CLIツール/インストーラ系で ~/.local/bin を使うケースは多い。
だからこそ、PATH に入っているかは最初に確認したい。
学び3: curl | bash は便利だが、ログが残りにくい
次回からは「一旦ファイルに落としてから実行」すると、失敗時に追いやすい。
curl -fsSL https://claude.ai/install.sh -o /tmp/claude_install.sh
bash -x /tmp/claude_install.sh
(-x は実行トレースで、どこで失敗したか追いやすい)
再発防止チェックリスト
-
command -v <cmd>で「見える/見えない」を最初に確認 -
置き場所(例:
~/.local/bin)に実ファイルがあるか確認 -
echo "$PATH" | tr ':' '\n'で PATH を行表示して見落としを防ぐ -
恒久対応は
~/.zshrc(または~/.zprofile)に PATH を追記 - GUIアプリ内ターミナル(Cursor等)でだけダメなら「アプリ再起動」も疑う