コンテンツにスキップ

Claude Code 完全ガイド

Claude Code「認識されない」エラーの解決法

対象 / ポイント

対象: Claude Codeをインストールしたのに claude コマンドが動かないユーザー

ポイント:

  • 多くの場合、原因は PATH が通っていないこと
  • OS・シェル別の確認手順と修正コマンドをまとめている
  • 公式インストーラーを使うと、PATH設定まで自動で処理されることが多い

claude と入力してエラーが返ってきた。インストールは成功したはずなのに、ターミナルが「知らない」と言っている。この記事はそのエラーを最短で消すためのガイドだ。

Windows PowerShellのcmdletエラーだけを直したい場合

PowerShellで claude がcmdletとして認識されないなら、まず Claude Code Windowsネイティブインストール を見る。Windowsの公式インストーラー、%USERPROFILE%\.local\bin、Git Bash / PowerShell toolの使い分けまで絞って確認できる。

あなたのエラーはどれ?

まず、表示されたエラーメッセージを確認してほしい。エラーの見た目は違っていても、この種の症状ではPATHが原因であることが多い。つまり、シェルが claude バイナリの場所を見つけられていない状態だ。

シェルエラーメッセージ
PowerShellclaude がcmdletとして認識されない
CMDclaude が内部/外部コマンドとして認識されない
bash / zshclaude: command not found

もちろん、インストール自体の失敗や、Windows / WSL の取り違え、npm のグローバルパス設定など別要因のこともある。だが、最初に疑うべきなのはPATH である。

まず1分で確認する

時間がないなら、まずはこの順で確認すればよい。

  1. claude --version を実行する
  2. 失敗したら、where claude(Windows)または which claude(macOS / Linux)を実行する
  3. 見つからないなら、公式インストーラーで再インストールする
  4. 見つかるのに実行できないなら、PATH反映漏れやシェル再起動漏れを疑う
  5. WSLを使っているなら、どの環境にインストールしてどの環境で実行しているかを確認する

多くのケースでは、やることはシンプルだ。claude バイナリの場所を確認し、必要ならPATHに追加する。 ただし、そもそもインストールが壊れている場合は、PATHを直すより公式インストーラーで入れ直したほうが早い

なぜPATHの問題で claude が見つからなくなるのか

ターミナルは、コマンドを実行するときに PATH環境変数に登録されたディレクトリを順番に探す。 つまり、claude 本体がPC内に存在していても、その場所がPATHに入っていなければ、シェルは「そのコマンドを知らない」と判断する。

このため、実際の原因は大きく2パターンに分かれる。

  • claude は入っているが、PATHに入っていない
  • そもそも期待した場所に正しくインストールされていない

この記事では、この2つを切り分けながら直していく。

解決法1: 公式インストーラーで再インストール(最速)

手動でPATHを直す前に、まず公式インストーラーでの再インストールを試すのが早い。 理由は単純で、インストーラーが 実行ファイルの配置・PATH設定・更新済みバージョンへの揃え込み をまとめて処理してくれることが多いからだ。

Windows

PowerShellを開いて以下を実行する。

irm https://claude.ai/install.ps1 | iex

CMDを使っている場合

irm はPowerShellのコマンドだ。CMDで irm が認識されない場合は、PowerShellに切り替えるか、以下のCMD用コマンドを使う。

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

macOS / Linux

ターミナルで以下を実行する。

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

インストール完了後、必ずターミナルを閉じて新しく開き直す。PATHの変更は新しいシェルセッションで反映される。

# 新しいターミナルで確認
claude --version

これで解決したなら、以下は読まなくていい。まだエラーが出る場合は次に進む。

解決法2: PATHを手動で設定する

公式インストーラーを使えない環境や、npmでインストールした場合はPATHを手動で通す必要がある。

claudeバイナリの場所を確認する

まず、claude がどこにインストールされたか確認する。

# macOS / Linux
which claude 2>/dev/null || find ~/.local/bin ~/.npm-global/bin ~/bin -name "claude" 2>/dev/null
# Windows PowerShell
Get-Command claude -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Source
# 見つからない場合、直接確認
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

よくあるインストール先の例は以下の通り。 ただし、実際の配置先はOS・シェル・インストール方法・バージョンによって異なることがある。表は探索の起点として使ってほしい。

インストール方法典型的な場所の例
公式インストーラー~/.local/bin/claude など
npm グローバルインストール$(npm config get prefix)/bin/claude など
Windows環境%USERPROFILE%\.local\bin\claude.exe など

Windows: PowerShell / CMD

以下はユーザー環境変数のPATHに追加する手順だ。すでに同じパスが登録されている場合は、重複して追加しないよう先に確認してから進めるとよい。

# 1. ユーザーPATHを確認(永続設定として登録済みか)
[Environment]::GetEnvironmentVariable("PATH", [EnvironmentVariableTarget]::User) -split ";" |
  Where-Object { $_ -like "*.local*" }

# 2. 現在のセッションPATHも確認
$env:PATH -split ";" | Where-Object {$_ -like "*.local*"}

# 3. 出力が空なら、PATHに追加(永続設定)
[Environment]::SetEnvironmentVariable(
    "PATH",
    "$env:PATH;$env:USERPROFILE\.local\bin",
    [EnvironmentVariableTarget]::User
)

# 4. 現在のセッションにも即時反映
$env:PATH = "$env:PATH;$env:USERPROFILE\.local\bin"

# 5. 確認
claude --version

npmでインストールした場合

npm グローバルインストールでは、claude の配置先は .local\bin ではなく、npm のグローバルプレフィックス配下になることがある。

まずは以下でプレフィックスを確認する。

npm config get prefix

そのうえで、必要に応じてそのディレクトリ、またはその配下の実行ファイル配置先をPATHに追加する。

ただし、npmインストールはadvanced installation optionsとしてサポートされている位置づけだ2。Windowsの新規導入や再設定では、公式ネイティブインストーラーへ寄せたほうが短い。

macOS(zsh)

# 1. PATHに .local/bin が含まれているか確認
echo $PATH | tr ':' '\n' | grep local

# 2. 含まれていなければ .zshrc に追加
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

# 3. 現在のセッションに反映
source ~/.zshrc

# 4. 確認
claude --version

Linux(bash)

# 1. PATHに .local/bin が含まれているか確認
echo $PATH | tr ':' '\n' | grep local

# 2. 含まれていなければ .bashrc に追加
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

# 3. 現在のセッションに反映
source ~/.bashrc

# 4. 確認
claude --version

npmのPATH問題(macOS / Linux共通)

npmでグローバルインストールして command not found が出る場合、npmのプレフィックス配下の bin ディレクトリがPATHに含まれていない可能性がある。

まずは以下でプレフィックスを確認する。

npm config get prefix

そのうえで、必要なら $(npm config get prefix)/bin をPATHに追加する。

# bashの場合
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

解決法3: npxで一時的に実行する

PATHの設定が面倒な場合、npx を使えばインストールなしで直接実行できる。

npx @anthropic-ai/claude-code

これはPATH設定不要で動くが、毎回起動が遅くなる。恒久的に使うなら解決法1か2を適用すべきだ。

claude doctor で診断する

Claude Codeには組み込みの診断コマンドがある。claude 自体は動くがおかしな挙動がある場合に使う。

claude doctor

環境やバージョンによって表示内容は異なるが、claude doctorインストール状態や一般的な設定問題を確認するための診断コマンドとして使える。

たとえば、次のような情報の確認に役立つ。

  • インストールの種類(ネイティブ / npm)
  • バージョン情報
  • 一般的な設定上の問題

よくある落とし穴

ターミナルを再起動していない

最も多い見落とし。 インストーラーがPATHを設定しても、既に開いているターミナルには反映されない。必ず新しいターミナルウィンドウを開くこと。

WindowsでCMDとPowerShellを混同している

公式インストールコマンド irm https://claude.ai/install.ps1 | iex はPowerShell専用だ。CMD(コマンドプロンプト)で実行すると irm は認識されません というエラーが出る。

WSL内とWindows側の混同

WSL2を使っている場合、WSL内のLinux環境とWindows側は別のPATHを持つ。WSL内でインストールしたら、WSL内で claude を使う。Windows側のPowerShellでは認識されない。逆も同様だ。

自動アップデートでPATHがずれる

GitHub Issues では、Windowsで自動アップデート後にPATHまわりの不整合が起きたという報告もある1。 同じ症状が出ている場合は、PATHを手で追いかけるより、公式インストーラーで再インストールしたほうが早く直ることがある。

まだ解決しない場合

上記をすべて試してもエラーが消えない場合は、以下を確認してほしい。

  • npm版を使っている場合のNode.jsバージョン: npmインストールでは、必要なNode.jsバージョンを満たしていないと正常に動かないことがある3
  • ディスク容量: インストールや更新に必要な空き容量が不足していないか
  • OSの境界: Windows本体・WSL・リモート環境のどこに入れたかを取り違えていないか
  • GitHub Issues: anthropics/claude-code で同様の症状が報告されていないか確認する

エラーメッセージは怖く見えるが、この種の症状は ターミナルの再起動・PATHの反映・再インストール で解決することが多い。 まずは公式インストーラーで入れ直し、それでも直らなければPATHを確認する、という順番で見れば、遠回りしにくい。

まとめ

claude が認識されない場合、まずPATHと実行環境の境界を疑う。Windowsではネイティブインストーラーの配置先とターミナル再起動を確認し、WSL・macOS・LinuxではシェルごとのPATHを見る。壊れたグローバルパッケージ設定を追うより、公式インストーラーで入れ直すほうが早いことが多い。

関連記事


  1. GitHub Issue #32583 - Claude Desktop auto-update breaks PATH on Windows 

  2. Claude Code Docs - Advanced setup — npmインストールはadvanced installation optionsとしてサポートされている 

  3. Claude Code Docs - Advanced setup — npmインストールではNode.js 18以降が必要