MF Blogs Tools
ターミナルのエラー画面と診断ツールを組み合わせたトラブルシュートの抽象イラスト

Article

Claude Codeが起動しないときの原因と対処法:command not found/PATH/Git Bash/権限エラーを切り分ける

`claude`と入力しても反応がない、command not foundになる、Windowsでgit-bash関連のエラーが出る——Claude Codeが起動しないときに見るポイントを、公式トラブルシューティングに基づいて整理します。macOS/Linux/Windows/WSL別に切り分けチャートと具体的コマンドをまとめます。

0:00 0:00

This article is not published in this language yet, so the Japanese version is shown instead.

結論:まずclaude doctorで切り分ける。PATH・Git Bash・権限の3点を順に見る

Claude Codeが起動しないときの症状はいくつかありますが、公式のトラブルシューティングに沿って見るべき観点はほぼ共通です。大きく次の3つに分けると切り分けが早くなります。

  1. PATHが通っていないcommand not found系)
  2. インストールが壊れている/重複している(npm版とネイティブ版が混在)
  3. 環境側の前提が足りない(WindowsのGit Bash、ディレクトリ権限、プロキシなど)

この記事では、症状→確認コマンド→対処の順で、macOS/Linux/Windows/WSLごとに切り分けていきます。インストール自体をやり直すケースは、OS別の手順としてmacOS向けインストール記事Windows向けインストール記事にまとめてあります。

いちばん最初にやること:claude doctorclaude --version

どの症状でも、最初に状況を把握するために次の2つを試します。

claude --version
claude doctor

--versionがバージョン番号を返すなら、少なくともバイナリは起動できています。返ってこない/command not foundが出るなら、PATHかインストールの問題です。claude doctorは、インストール種別・自動更新状況・検索ツール(ripgrep)・設定ファイルの問題・MCPの問題・プラグイン/エージェントの読み込み失敗などを一括でチェックしてくれます。

claude doctorが起動すらしない場合は、以降のPATHチェックから順に追ってください。

症状1:command not found: claude / 'claude' is not recognized

もっとも多いのがこの症状です。公式の一覧では、macOSではzsh: command not found: claude、LinuxでBashならbash: claude: command not found、Windows CMDでは'claude' is not recognized as an internal or external command、PowerShellではclaude : The term 'claude' is not recognized as the name of a cmdletのように表示されます。

原因は「インストール先のディレクトリがPATHに入っていない」ことです。ネイティブインストーラー(公式のcurl ... install.shirm ... install.ps1)は、macOS/Linuxでは~/.local/bin/claudeに、Windowsでは%USERPROFILE%\.local\bin\claude.exeにバイナリを置きます。

macOS/Linuxの確認と修正

PATHにlocal/binが含まれているか確認します。

echo $PATH | tr ':' '\\n' | grep local/bin

何も出力されなければ、シェル設定にPATHを追記します。Zsh(macOSの既定)なら次の通りです。

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

Bashの場合は~/.bashrcに対して同じ操作を行います。追記後、ターミナルを開き直すかsourceで反映させ、claude --versionで確認します。

Windows PowerShellの確認と修正

PowerShellでは、ユーザー環境変数のPATHを直接更新します。

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

何も出なければ、ユーザーPATHに追加します。

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

変更後、ターミナルを開き直してからclaude --versionを試します。これらの手順は公式トラブルシューティングの「Verify your PATH」節に準拠しています。

症状2:WindowsでClaude Code on Windows requires git-bash

Windowsネイティブ(WSLではない)でClaude Codeを動かすには、Git for Windowsに含まれるGit Bashが必須です。

Gitが未インストールの場合は、公式ページからインストーラーを取得し、セットアップ中に「Add to PATH」を選んでからターミナルを再起動します。Gitが入っているのに認識されない場合は、settings.jsonに明示的にパスを書きます。

{
  "env": {
    "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
  }
}

別の場所にGitを入れている場合は、PowerShellで次を実行し、出てきたディレクトリのbin\bash.exeを指定します。

where.exe git

関連する症状としては、'bash' is not recognized as the name of a cmdlet(macOS/Linux向けインストーラーをWindowsで実行してしまった)や、irm is not recognized(PowerShell向けコマンドをCMDで実行した)があります。どちらもOSとシェルの組み合わせが合っていないことが原因なので、Windows向けインストール記事のコマンド分岐にそって入れ直してください。

症状3:32ビットのPowerShellで起動している

Windowsのスタートメニューには「Windows PowerShell」と「Windows PowerShell (x86)」の2つがあり、(x86)のほうで起動するとClaude Code does not support 32-bit Windowsが出ます。自分のOSが64ビットかどうかは、エラーが出たのと同じ画面で確認できます。

[Environment]::Is64BitOperatingSystem

TrueならOSは64ビットなので、(x86)の付かないほうの「Windows PowerShell」で開き直してください。Falseなら32ビットのWindowsであり、Claude Codeは対応していません。

症状4:インストールが重複している

npmで入れた古い版とネイティブ版が混在していると、どちらが走っているか分からず不安定になります。

macOS/Linuxでは次の順に確認します。

which -a claude
npm -g ls @anthropic-ai/claude-code 2>/dev/null

Windows PowerShellではwhere.exe claudeで確認できます。複数見つかる場合は、公式の推奨であるネイティブインストール(~/.local/bin/claude)に寄せ、不要なものを削除します。

npm uninstall -g @anthropic-ai/claude-code

Homebrewで入れたものを削除したい場合は次です。

brew uninstall --cask claude-code

削除後、ネイティブインストーラーで入れ直してからclaude --versionで最終確認します。

症状5:インストール途中でKilledや権限エラー

curl ... install.sh | bashの途中でKilledと表示される場合は、メモリ不足です。Claude Codeは公式システム要件で少なくとも4GBのRAMが必要とされています。VPSで動かす場合は、スワップを足してから再実行する対処が公式に案内されています。

sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile

権限エラーで止まる場合は、インストール先ディレクトリの書き込み権限を確認します。

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

書き込めないと表示される場合は、所有者を自分に戻します。

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

症状6:WSLでexec: node: not foundやPATHがWindows側を参照する

WSL環境では、WindowsのNode.jsやnpmがPATH先頭に来てしまい、WSL側のバイナリを上書きする問題がよく知られています。which npmwhich nodeの結果が/mnt/c/...から始まっていたら、Windows側のものが使われているサインです。

公式の推奨は、シェル設定ファイル(~/.bashrc~/.zshrc)にnvmのロードを追加し、Linux側のNodeを優先させる方法です。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

appendWindowsPath = falseでWindowsのPATHインポートごと切る方法は、WSLからWindowsの実行ファイルを呼べなくなるため公式では非推奨です。

症状7:ログインはできるがAPI Error: 403 / OAuth error

claude自体は起動するが、セッションに入った直後にエラーが出るパターンです。厳密には「起動しない」問題ではありませんが、起動直後の赤い画面で見分けづらいのでここに入れておきます。

  • API Error: 403 "Request not allowed": Claude Pro/Maxのサブスクリプションが有効かをclaude.ai/settingsで確認します。Consoleユーザーは「Claude Code」または「Developer」ロールが割り当てられているかを管理者に確認します。
  • OAuth error: Invalid code: 認証コードをコピーする前にタイムアウトしたか、一部が欠けた可能性があります。ブラウザが開かない場合は、ターミナルでcを押してURLをコピーし、手元のブラウザに貼り付けます。
  • This organization has been disabled: シェルプロファイルに古いANTHROPIC_API_KEYが残っていて、現在のサブスクリプションではなくそちらで認証されています。unset ANTHROPIC_API_KEYを試し、~/.zshrcなどから該当行を削除します。

認証全般の切り分けは認証記事にまとめてあります。

それでも直らないときの切り分けチェックリスト

  • claude --versionはバージョンを返すか
  • claude doctorは起動するか。問題が指摘されているか
  • ~/.local/binがPATHに入っているか(Windowsなら%USERPROFILE%\.local\bin
  • インストールが重複していないか(which -a claude / where.exe claude
  • Windowsネイティブの場合、Git Bashが存在しCLAUDE_CODE_GIT_BASH_PATHが正しいか
  • シェルを開き直したか(PATH変更後に反映されているか)
  • プロキシ環境の場合、HTTPS_PROXYHTTP_PROXYが設定されているか
  • /statusで見たときに期待した認証方式(OAuth/APIキー)になっているか

設定をリセットして入れ直すと解決しやすい

重複インストールや設定ファイルの不整合が原因の場合、ユーザー設定をリセットして入れ直すのが早いです。次のコマンドはすべての設定・MCP構成・セッション履歴が消えます。実行前に必要な設定を控えてください。

rm ~/.claude.json
rm -rf ~/.claude/

プロジェクトごとの設定(.claude/settings.local.jsonなど)は消したくない場合、あえてホームディレクトリ側だけ消してからインストーラーを再実行するのが安全です。インストーラーの選択(ネイティブ/HomebrewWinGet)はmacOS向けインストール記事Windows向けインストール記事の分岐を見てください。

まとめ:9割は「PATH」「Git Bash」「重複インストール」で決着する

Claude Codeが起動しない原因は、複雑そうに見えて実は3系統に集約されます。

  • PATH不通: ~/.local/bin(Windowsは.local\bin)を通す
  • Windowsネイティブ固有: Git Bashの存在とCLAUDE_CODE_GIT_BASH_PATH、PowerShellのビット数
  • インストール重複: npm版/Homebrew版/ネイティブ版を1つに寄せる

これでも直らない場合は、claude doctorの結果と、which -a claude(Windowsはwhere.exe claude)の出力を手元に残したうえで、GitHubのIssueに報告すると原因特定が早まります。

次のステップとしては、認証まわりで詰まったときのために認証記事、インストールを入れ直す場合はmacOS向けWindows向けの手順記事を手元に置いておくと安心です。