AI · · 3分で読めます

Claude Code command not found 解決法

この記事の目次
  1. まず解決方法から
  2. Zsh環境(macOSのデフォルト)
  3. Bash環境(Linuxのデフォルト)
  4. Windowsと何が違うの?
  5. シェル(Shell)って何?
  6. なぜcommand not foundが出るのか
  7. 自分のシェルを確認する方法
  8. コマンドを一つずつ分解してみる
  9. ターミナルコマンドの構造(おまけ)
  10. おわりに

Claude Codeをインストールして、ワクワクしながらclaudeって打ったらcommand not foundが出た?インストールが壊れてるわけじゃないです。システムが実行ファイルの場所を知らないだけ。PATHを登録すればすぐ解決します。

まず解決方法から

使ってるシェルに合わせて1行打つだけです。

Zsh環境(macOSのデフォルト)

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

Bash環境(Linuxのデフォルト)

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

これでclaudeを打ってみてください。動くはずです。

ここまでが解決方法で、以下は「なんでこうなるの?」が気になる人向けの説明です。


Windowsと何が違うの?

Windowsはインストーラーが環境変数を自動で設定してくれますよね。だから何も考えずに使えるわけです。

でもMacとLinuxは考え方が違います。「自分の環境は自分で管理しろ」というスタンスなんです。システム設定が個人設定に触れないように分離されてる。セキュリティと効率性のための設計なんですが、Windowsから来た人には正直ちょっと戸惑いますよね。

シェル(Shell)って何?

ターミナルを使ってると「シェル」って言葉がよく出てきますよね。簡単に言うと、ユーザーとOSの間の通訳みたいなものです。

ターミナルでclaudeと打つと、シェルがそれを受け取ってOSに「これ実行して」と伝えるんです。黒い画面そのものがシェルじゃなくて、その中でコマンドを処理するソフトウェアがシェルです。

代表的なのはZshとBashで、それぞれ設定ファイルが違います。だから自分が何を使ってるか知っておくのが大事です。

なぜcommand not foundが出るのか

ターミナルでコマンドを打つと、シェルは「この名前のプログラムはどこにある?」と、事前に登録されたフォルダ一覧を探します。この一覧がPATHという環境変数です。

問題はここです。Claude Codeは~/.local/binにインストールされるんですが、ほとんどのシステムでこのパスがPATHに入ってないんです。インストールスクリプトが登録を試みますが、環境によっては漏れたり、今のターミナルにすぐ反映されないことがあります。

だから自分で登録するわけです。

自分のシェルを確認する方法

ターミナルでこれを打ってください。

echo $SHELL
  • /bin/zshが出たら → ~/.zshrcに設定
  • /bin/bashが出たら → ~/.bashrcに設定

Bashは状況によって~/.bash_profileや~/.profileを読むこともあります。

ファイルがなくても心配しないでください。>>演算子はファイルがなければ自動で新規作成してくれます。

コマンドを一つずつ分解してみる

上で入力したコマンドが実際に何をしてるか知っておくと、次に別のツールをインストールする時にも役立ちます。

echoと>> — テキストを出力してファイルの末尾に追加します。「設定ファイルの一番下に1行追加しろ」という意味です。

export PATH="..." — 既存のPATHの前に~/.local/binを追加します。先頭に付けるので、同じ名前のプログラムが複数あれば、指定したフォルダのものが優先的に実行されます。

source — シェル設定ファイルは本来ターミナルを開いた時しか読み込まれません。sourceは「今すぐ読み直せ」と強制するコマンドです。これをしないとターミナルを閉じて開き直す必要があります。

ターミナルコマンドの構造(おまけ)

ターミナルコマンドは基本的に**[誰に] [何を] [どうやって]**という構造です。

[実行ファイル] [サブコマンド/動詞] [オプションと引数]
  • 誰に: コマンドを出すプログラム名(例: claude, npm, git)
  • 何を: 具体的な動作(例: config, install, commit)
  • どうやって: 追加情報や詳細設定(例: --help, -v, ファイル名)

この構造さえ知っていれば、初めて見るコマンドでもだいたい読めるようになります。

おわりに

これからは何をインストールしてもcommand not foundが出たら慌てる必要はありません。「あ、PATHの登録だな」と思って対処すれば大丈夫です。

1 / 1