開発・技術

Claude Code エラー一覧と対処法70種超|表示文から原因と直し方を逆引き【2026年10月】

Claude Code のエラーを表示文から逆引き。Login expired・Not logged in、429・使用量の上限、Unable to connect、command not found など70種超の原因と直し方を /doctor の切り分けとあわせて解説。

Claude Code エラー一覧と対処法70種超|表示文から原因と直し方を逆引き【2026年10月】

Claude Code のエラーは、表示文の書き出しを見れば「認証」「使用量」「接続」「会話の長さ」「インストール」のどれが原因かを先に絞り込めます。たとえば Login expired や Not logged in で始まれば認証、You've hit your や 429 なら使用量、Unable to connect や SSL certificate なら接続です。原因の系統が分かれば、試す手順は数個に減ります。

表示文が手元にあるなら逆引きインデックス、表示文が出ていない(重い・雑になった・反応しない)なら症状逆引き表から入ってください。どちらにも当てはまらないときは、Claude Code の中で /doctor、起動しないときはシェルで claude doctor を実行します。

本記事の情報について: 表示文と対処は、Anthropic 公式のエラーリファレンス・インストールとログインのトラブルシューティング・ランタイムのトラブルシューティングと、CHANGELOG の v2.1.286 までの記載で2026年10月1日に確認しています。表示文はバージョンで変わることがあるため、古いバージョンだけに出る表示は「旧版」と書き分けています。

この記事を読むとわかること

  • 表示文の書き出しから原因の系統を見分ける方法(図解つき)
  • 表示文70種超を逆引きできる一覧と、表示文が出ない症状からの逆引き表
  • /doctor と claude doctor で分かること
  • 認証(Login expired / Not logged in / organization disabled / Your account is on hold など)の直し方
  • 使用量(session limit / 429 / 529 / spend limit / Credit balance)と接続(Unable to connect / SSL / Request timed out)の直し方
  • 会話の長さ(Prompt is too long / Autocompact is thrashing / Request too large)とインストール(command not found / Illegal instruction / WSL1)の直し方
  • VS Code 拡張・JetBrains・MCP サーバーが反応しないときの確認順
  • 1つのエラーを詳しく解説した個別ページへの案内

表示文の書き出しで原因を絞る — 切り分けフロー

Claude Code のエラーは、表示文の書き出しで「認証」「使用量」「接続」「会話の長さ」「インストール」のどれかに絞れます。どれにも当てはまらないものは、モデル・MCP・IDE のように使っている機能ごとに見ます。

Claude Code が動かないときに、起動しない・表示文が出た・表示文は出ないの3つで読み始める場所を分け、表示文の書き出しから原因の系統と最初の一手を示した分岐図

上の図のとおり、まず「起動しない」「エラーの表示文が出た」「表示文は出ないが、重い・雑・反応しない」のどれかを見ます。表示文が出たときは、書き出し(Login expired、You've hit your、Unable to connect、Prompt is too long、EACCES)から認証・使用量・接続・会話の長さ・インストールのどれかに絞り、右側の一手から試します。どれにも当てはまらない場合は /doctor から始めてください。

原因の系統表示文の書き出しの例該当セクション
認証Not logged in、Login expired、Invalid API key、This organization has been disabled、Your account is on hold認証・APIキー・組織管理エラー
使用量You've hit your session limit、Request rejected (429)、Repeated 529 Overloaded、Credit balance is too lowレート制限・使用量系エラー
接続Unable to connect to API、Connection refused、SSL certificate verification failed、x-deny-reason: host_not_allowedネットワーク・環境別トラブル
会話の長さPrompt is too long、Autocompact is thrashing、Request too large、Image was too largeコンテキスト・メモリ系エラー
インストールcommand not found、EACCES、Illegal instruction、Exec format error、dyldインストール・セットアップ系エラー
その他(モデル・MCP・IDE)model not found、thinking.type.enabled、✘ Failed to connect、No available IDEs detectedモデル選定 / MCP / IDE 統合

最短ルート: どのカテゴリかわからない場合は、/doctor を実行してください。インストールと設定はここで洗い出せます。認証の状態は /status、使用量は /usage、MCP は /mcp が担当です。

症状で即解決 — 症状逆引き表

エラー文字列を覚えていなくても大丈夫です。「いま起きている症状」に最も近い行を選び、解決セクションに直接ジャンプしてください。具体的なエラー文字列が分かる場合は、次のエラーメッセージ逆引きインデックスの方が速く到達できます。

こんな症状のとき代表的なエラー例解決セクション
そもそも起動しない・コマンドが見つからないcommand not found: claudecommand not found
インストールが完了しない・途中で止まるEACCES / Killed / Exec format errorインストール・セットアップ系エラー
ログインできない・/login ループから抜けられないNot logged in · Please run /loginNot logged in
組織・会社のアカウントで使えないYour organization has disabled Claude subscription accessorg disabled subscription
急に「雑になった」・回答品質が落ちた(明確なエラーは出ない)thinking budget
動作が重い・CPU/メモリ使用量が高い(明確なエラーは出ない。メモリ使用量の警告が出ることがある)高CPU/メモリ
使用量の上限で止まったYou've hit your session limit / 429セッション・週間制限
会話が長くなりエラーで止まるPrompt is too long / Autocompact is thrashingPrompt too long
MCP サーバーに接続できない✘ Failed to connect(claude mcp list)MCP 接続不可
API・ネットワークに繋がらない・プロキシ環境ECONNREFUSED / SSL certificate verification failedAPI 接続不可
IDE(VS Code / JetBrains)が反応しないNo available IDEs detectedIDE 統合のトラブル
改行しようとすると送信されてしまう(Shift+Enter が効かない)(明確なエラーは出ない)Claude Code で改行する方法
音声入力(/voice)が使えないUnknown command: /voice / Microphone access is deniedClaude Code の音声入力の使い方

どの症状にも当てはまらない、または原因の切り分けから始めたい場合は、まず /doctor で一括自己診断を実行してください。

エラーメッセージで即解決 — 逆引きインデックス(70項目超)

ターミナルや IDE に表示されたエラー文字列から、該当する解決セクションに直接移動できます。表示文は長いので、最初の数語(API Error: 400 の後ろの英文など)で探すと見つけやすくなります。一致するエントリが見つからない場合は、上の症状逆引き表か、後述の /doctor から切り分けてください。

カテゴリエラーメッセージ該当セクション
インストールcommand not found: claude / 'claude' is not recognizedcommand not found
インストールzsh: permission denied: claudepermission denied
インストールEACCES: permission deniedEACCES
インストールnpm WARN EBADENGINE(npm 版で Node.js が古いとき)Node version
インストールcurl: (35) TLS connect error / unable to get local issuer certificateTLS/SSL
インストールsyntax error near unexpected token `<'(HTMLが返る) / curl: (22) The requested URL returned error: 403install.sh が HTML
インストールインストール中に Killed低メモリ Killed
インストールcurl: (56) Failure writing output to destinationcurl 56
インストールFailed to fetch version from https://downloads.claude.ai/claude-code-releases/latest after 3 attempt(s)Failed to fetch version の対処
インストールIllegal instructionIllegal instruction
インストールError loading shared library libstdc++.so.6glibc/musl mismatch
インストールdyld: Symbol not found _ubrk_clone / Abort trap: 6dyld macOS
インストールcannot execute binary file: Exec format error(WSL1)WSL1 Exec format
インストール'irm' is not recognized / The token '&&' is not validWindows install command
インストールClaude Code on Windows requires either Git for Windows or PowerShellGit for Windows
インストールClaude Code does not support 32-bit Windows32-bit PowerShell
インストールThe process cannot access the file (Windows install)Windows lock
インストールDocker でインストールがハングDocker hang
インストールClaude.exe が Claude Desktop を起動してしまうClaude Desktop競合
インストールApp unavailable in region対応国外
認証Not logged in · Please run /loginNot logged in
認証Invalid API key · Fix external API keyInvalid API key
認証API Error: 403 Request not allowed(ログイン後)403 Forbidden
認証This organization has been disabled / Your ANTHROPIC_API_KEY belongs to a disabled organizationorganization disabled・原因の見分け方
認証Your organization has disabled Claude subscription access for Claude Codeorg disabled subscription
認証Your organization has disabled API key authenticationAPI key authentication disabled
認証API Error: 401 Invalid authentication credentials401 Invalid credentials
認証Your account is on hold and can't use Claude Codeaccount on hold
認証Claude Code access has not been granted for this accountaccess not granted
認証Remote Control is disabled by your organization's policyRemote Control 無効化の対処
認証Routines are disabled by your organization's policyRoutines disabled
認証claude.ai connectors are disabled because ANTHROPIC_API_KEY or another auth source is setclaude.ai connectors are disabled の対処
認証Authentication service was unavailable / Temporarily unable to authenticate(デスクトップアプリ・claude.ai)認証の一時障害の対処
認証Login expired · Please run /loginLogin expired
認証Could not refresh your login because another Claude Code process is refreshing it / Failed to refresh OAuth token: another Claude Code process is refreshing itログイン更新の順番待ちの対処
認証OAuth token revoked / OAuth token has expiredOAuth トークン
認証does not meet scope requirement user:profileOAuth scope
認証OAuth error: Invalid codeOAuth Invalid code
認証OAuth ログインが WSL2/SSH/コンテナで失敗WSL OAuth
認証Model '...' not found / you may not have access to itmodel not found
認証Claude Opus is not available with the Claude Pro planOpus not available
認証Could not load credentials / ChainedTokenCredentialBedrock/Vertex/Foundry
レート制限You've hit your session limit / weekly limit / Opus limit / Sonnet limitセッション・週間制限
レート制限You've hit your monthly spend limit / Usage credits required for 1M contextspend limit・1M context
レート制限Server is temporarily limiting requests (not your usage limit)Server limit
レート制限API Error: 429 Rate limit reached / Request rejected (429)API 429
レート制限API Error: Repeated 529 Overloaded errors529 Overloaded
レート制限Credit balance is too lowcredit balance
レート制限管理者によって利用量の割り当てが無効にされました / Your usage allocation has been disabled by your admin利用量の割り当てが無効の対処
レート制限組織の使用クレジットが不足しています。管理者に通知しました。 / Your org is out of usage credits組織の利用クレジット不足の対処
サーバーAPI Error: 500 Internal server error / Request timed out500・タイムアウト
サーバーConnection lost mid-response / The response above may be incomplete応答が途中で切れた
コンテキストPrompt is too long / Context limit reached · /compact or /clear to continuePrompt too long
コンテキストAutocompact is thrashing: the context refilled to the limit...Autocompact thrashing
コンテキストPrompt is too long · automatic compaction failed: / Error during compaction: <原因>自動圧縮の失敗
コンテキストRequest too large (max 32MB)Request too large
コンテキストImage was too largeImage too large
コンテキストPDF too large / PDF is password protectedPDF errors
コンテキストAuto mode classifier transcript exceeded context windowAuto mode classifier
コンテキストExtra inputs are not permittedgateway header strip
MCP✘ Failed to connect / ! Needs authentication / ⏸ Pending approval(claude mcp list の表示)MCP 接続不可
MCPMCP ツールが Claude Code 内で表示されないMCP 認識されない
モデルThere's an issue with the selected modelmodel issue
モデルthinking.type.enabled is not supported for this modelthinking enabled
モデルClaude Code X does not support this model; version Y or newer is requireddoes not support this model の対処
モデルAPI Error: <model> can't help with this. Start a new session to continue.(旧版: ...appears to violate our Usage Policy)Usage Policy
モデルmax_tokens must be greater than thinking.budget_tokensthinking budget exceeds
モデルAPI Error: 400 due to tool use concurrency issuesTool use mismatch
パフォーマンスCPU/メモリ使用量が異常に高い高CPU/メモリ
パフォーマンス応答が遅い / Worker started ログが連続出力Worker クラッシュ
パフォーマンス検索ツールがファイルを見つけられないripgrep
パフォーマンスWSL で検索結果が不完全・遅いWSL 検索
パフォーマンス<model> is temporarily unavailable, so auto mode cannot determine...Auto mode safety
パフォーマンス「Claudeが雑になった」回答品質が低いthinking budget
IDEVS Code 拡張機能が応答しないVS Code
IDE / Remote ControlClaude Code stopped responding in this tab / The bridged Claude Code process stopped responding mid-turnstopped responding の対処
IDENo available IDEs detected(JetBrains)JetBrains
ネットワークUnable to connect to API / Connection refused / Can't reach the API server / ECONNRESETAPI 接続不可・表示別の詳しい対処
ネットワークUnable to connect to Anthropic services(初回起動時)Unable to connect to Anthropic services の対処
ネットワークSSL certificate verification failed / 企業プロキシSSL(実行時)
ネットワークx-deny-reason: host_not_allowed(cloud session)host_not_allowed

1つのエラーを詳しく解説した個別ページ

次の表示文は、原因の見分け方や「よくある手順で直らないとき」の確認点まで個別ページで解説しています。この記事の該当セクションで直らなかったときに進んでください。

表示文詳しい解説
Not logged in · Please run /loginNot logged in の意味と対処法
Login expired · Please run /loginLogin expired の意味と対処法
Failed to refresh OAuth token: another Claude Code process is refreshing it / Could not refresh your login because another Claude Code process is refreshing itログイン更新の順番待ち(another Claude Code process is refreshing it)の対処法
Your organization has disabled Claude subscription accessorganization disabled subscription access の対処法
OAuth error: Invalid codeOAuth error: Invalid code の対処法
Remote Control is disabled by your organization's policyRemote Control 無効化の原因と対処法
Credit balance is too lowCredit balance is too low の対処法
管理者によって利用量の割り当てが無効にされました利用量の割り当てが無効と出るときの対処
組織の使用クレジットが不足しています。管理者に通知しました。組織の使用クレジットが不足していると出るときの対処
Prompt is too longPrompt is too long の対処法
Autocompact is thrashingAutocompact is thrashing の対処法
does not support this modeldoes not support this model の対処法
SSL certificate verification failedSSL certificate verification failed の対処法
Unable to connect to Anthropic servicesUnable to connect to Anthropic services の対処法
Could not load credentials from any providersCould not load credentials(Bedrock)の対処法
zsh: permission denied: claudepermission denied の対処法
Failed to fetch version from downloads.claude.aiFailed to fetch version の対処法
stopped responding(VS Code タブ・Remote Control)stopped responding の対処法
claude.ai connectors are disabled because ANTHROPIC_API_KEY …claude.ai connectors are disabled の対処法
Authentication service was unavailable / Temporarily unable to authenticate認証の一時障害(Authentication service was unavailable)の対処法
This organization has been disabled / Your ANTHROPIC_API_KEY belongs to a disabled organizationThis organization has been disabled の原因と対処法
Connection lost mid-response / The response above may be incompleteConnection lost mid-response(応答が途中で切れた)の意味と対処

OS別トラブル早見表

「同じ症状でもOSによって原因と対処が違う」を一目で確認できる早見表です。詳細は各セクションに進んでください。

症状macOSLinuxWSL2Windows ネイティブ
command not found~/.zshrc に export PATH="$HOME/.local/bin:$PATH"~/.bashrc に同上~/.bashrc に同上+PATH競合に注意User PATH に %USERPROFILE%\.local\bin を追加
permission deniedchmod +x ~/.local/bin/claudechmod +x ~/.local/bin/claudeNTFS属性に注意・chmod +x管理者権限不要・PATH優先順位を確認
バイナリ実行不能dyld: Symbol not found _ubrk_clone → macOS 13+へ更新Error loading shared library → glibc/musl確認cannot execute binary file: Exec format error → WSL2へ変換Claude Code does not support 32-bit Windows → 64-bit PowerShellを使う
TLS/SSL エラーKeychain更新・NODE_EXTRA_CA_CERTSca-certificates 更新・NODE_EXTRA_CA_CERTSLinux と同じCRYPT_E_NO_REVOCATION_CHECK には --ssl-revoke-best-effort
OAuth ログイン失敗Keychainロック → security unlock-keychainSSH・ヘッドレスではブラウザが開かない → c で URL をコピーして手元で開くBROWSER環境変数を設定+手動paste—
検索が遅い——クロスFS遅延 → /home/ 配置—
シェル不在———Git for Windows か PowerShell が必須
インストールハング—OOM Killed → swap追加Linux と同じThe process cannot access the file → downloads削除

読み方: 「—」の欄は、そのOSに特有の原因が少ないことを示します。症状が出た場合は、各セクションの共通手順で確認してください。

まずやるべきこと — /doctor で一括自己診断

/doctor は、Claude Code に内蔵された点検コマンドです。インストールの重複や PATH の問題、読み込めない設定ファイル、使っていない MCP サーバーやスキルによる会話枠の圧迫などを調べ、見つかった問題を先に報告してから、直してよいかを確認します(v2.1.205 以降。それより前は読み取り専用の診断画面でした)。

実行方法

Claude Code が起動できる場合は、セッション内で次を実行します。

/doctor

Claude Code が起動しない場合は、シェルから直接実行します。こちらはセッションを開始せず、インストール状態だけを読み取り専用で表示します。

claude doctor

/doctor 出力結果の項目別読み解き表

公式のコマンド一覧に書かれている点検内容と、見つかったときの次の一手は次のとおりです。

点検の対象何が分かるか見つかったときの次の一手
インストール重複・残骸のインストール、PATH の問題command not found、複数インストール混在の検出
設定ファイル読み込めない(JSON が壊れた)設定ファイル表示されたファイルの構文を直す
拡張の重さ使っていないスキル・MCP サーバー・プラグインと、それぞれが会話枠を使う量不要なものを /mcp などで無効にする
フック遅いフックフックの処理を見直す
バージョン利用中のリリースチャネルに新しい版があるかclaude update
CLAUDE.mdローカルとリポジトリの重複、大きすぎる記述提案された削減・分割を確認して適用
検索(claude doctor)同梱の ripgrep を使っているか(OK (bundled))、システムの ripgrep か検索ツールがファイルを見つけられない
macOS の Keychain(claude doctor)macOS Keychain is not writable の警告OAuth トークン の Keychain 手順

MCP サーバーの接続状態は /doctor ではなく /mcp で確認します。/doctor 以外の便利なコマンドは Claude Codeのスラッシュコマンド一覧 で紹介しています。

インストール・セットアップ系エラー

Claude Codeの導入・インストール手順で最も多いトラブルは、PATH の設定問題と権限エラーです。ネイティブ版は AVX 対応の CPU と macOS 13.0 以上が必要で、WSL1 では既知の不具合で起動できないことがあります(公式: インストールのトラブルシューティング)。条件を満たさない環境では起動の段階で止まります。

command not found: claude

エラーメッセージ:

OS表示されるメッセージ
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

原因: インストールは完了しているが、Claude Code のバイナリが配置されるディレクトリ(~/.local/bin)がシェルの PATH に含まれていません。

解決手順:

macOS(Zsh)の場合:

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

Linux(Bash)の場合:

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

Windows PowerShell の場合:

$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
# ターミナルを再起動後に確認
claude --version

予防策: ネイティブインストーラー(curl -fsSL https://claude.ai/install.sh | bash)は PATH の設定を自動で行います。npm でグローバルインストールした場合にこの問題が起きやすいため、ネイティブインストーラーの利用を推奨します。

zsh: permission denied: claude

エラーメッセージ: zsh: permission denied: claude

原因: PATH には含まれているが、claude バイナリに実行権限(x ビット)が付与されていません。手動でファイルを移動した場合や、Windows ファイルシステムから WSL にコピーした場合、unzip で属性を保持しなかった場合に発生します。

解決手順:

# 1. バイナリの実体パスを確認
which claude

# 2. 実行権限を付与
chmod +x ~/.local/bin/claude

# 3. 確認
ls -la ~/.local/bin/claude
claude --version

ls の出力で -rwxr-xr-x のように x ビットが立っていれば正常です。

予防策: バイナリの再配置はネイティブインストーラーで行うか、cp -p で属性を維持してコピーしてください。CI/CD パイプラインでバイナリを配布する場合は tar を --preserve-permissions 付きで使うか、配布直後に chmod +x を必ず実行する手順を組み込みます。

原因の見分け方や npm 版特有のケースは「zsh: permission denied: claude」の意味と対処法で詳しく解説しています。

EACCES: permission denied

エラーメッセージ: EACCES: permission denied

原因: ~/.local/bin/ や ~/.claude/ ディレクトリへの書き込み権限がありません。過去に sudo npm install -g を実行して root 所有になっているケースが大半です。

解決手順:

# ディレクトリの書き込み権限を確認
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 ~/.claude

予防策: sudo npm install -g でのインストールは避けてください。ネイティブインストーラーを使えばこの問題は発生しません。

Node.js のバージョン警告(npm WARN EBADENGINE)

表示: npm でインストールしたときの npm WARN EBADENGINE

原因: npm パッケージ版の Claude Code は、v2.1.198 以降 Node.js 22 以上を求めています。ただし古い Node.js でもインストールは失敗せず、警告が出るだけです。npm パッケージはネイティブバイナリを取得し、claude コマンド自体は実行時に Node.js を使わないためです(公式セットアップ)。

解決手順:

# 現在のバージョンを確認
node --version

# 警告を消したい場合(nvm の例)
nvm install 22
nvm use 22

# Node.js に依存しないネイティブインストーラーへ切り替える(推奨)
curl -fsSL https://claude.ai/install.sh | bash

予防策: 新しく導入する場合はネイティブインストーラー(macOS・Linux・WSL は install.sh、Windows は install.ps1)を使えば、Node.js のバージョンを気にする必要がありません。

TLS/SSL エラー

エラーメッセージ: curl: (35) TLS connect error や unable to get local issuer certificate

原因: 企業のプロキシやファイアウォールが TLS 通信をインターセプトしているケースが大半です。Windows では CRYPT_E_NO_REVOCATION_CHECK (0x80092012) や CRYPT_E_REVOCATION_OFFLINE (0x80092013) のように、証明書失効リスト(CRL)の取得が失敗する形でも発生します。

解決手順:

# 1. CA 証明書を更新(Ubuntu/Debian)
sudo apt-get update && sudo apt-get install ca-certificates

# 2. 企業プロキシ環境の場合、CA 証明書を指定してインストール
curl --cacert /path/to/corporate-ca.pem -fsSL https://claude.ai/install.sh | bash

# 3. インストール後、Claude Code の API 通信にも同じ証明書を適用
export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem

Windows で CRL チェックが失敗する場合は次のコマンドを使います。

curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

または WinGet を利用すると curl 経由を回避できます。

winget install Anthropic.ClaudeCode

予防策: 企業環境では、IT 部門から CA 証明書ファイルを入手し、NODE_EXTRA_CA_CERTS 環境変数をシェルプロファイルに永続的に設定しておきましょう。企業環境でのClaude Code導入 も参考にしてください。

インストールスクリプトが HTML を返す

エラーメッセージ:

bash: line 1: syntax error near unexpected token `<'
bash: line 1: `<!DOCTYPE html>'

PowerShell では Invoke-Expression: Missing argument in parameter list. という形で現れます。

原因: インストール URL がスクリプトではなく HTML ページを返しています。地域制限、ネットワーク中断、または claude.ai/install.sh への一時的なルーティング異常が考えられます。通信の経路によっては、HTML の代わりに本文のない 403 で止まることもあります(公式のインストールのトラブルシューティングでは同じ節で扱っています)。

curl: (22) The requested URL returned error: 403

解決手順:

# macOS の場合は Homebrew で代替インストール
brew install --cask claude-code

# Windows の場合は WinGet で代替インストール
winget install Anthropic.ClaudeCode

# または数分後に再試行
curl -fsSL https://claude.ai/install.sh | bash

予防策: HTML に「App unavailable in region」と表示される場合、お住まいの国では Claude Code が利用できません。Anthropic の対応国リストを確認してください。

低メモリ Linux サーバーで Killed

エラーメッセージ: インストール中に Killed が表示される(新しいインストーラーでは Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.)

原因: Linux OOM Killer がメモリ不足のためプロセスを終了しました。インストールには空きメモリが約512MB必要で、Claude Code の動作要件は 4GB 以上の RAM です(公式トラブルシューティング)。

解決手順:

# スワップスペースを追加(2GB)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 再度インストール
curl -fsSL https://claude.ai/install.sh | bash

予防策: VPS やクラウドインスタンスでは、4GB 以上の RAM を持つインスタンスを使用するか、事前にスワップスペースを設定してください。

curl: (56) Failure writing output to destination

エラーメッセージ: curl: (56) Failure writing output to destination

原因: curl ... | bash の途中で接続が切れ、スクリプトが完全にダウンロードされませんでした。回線品質・ウイルス対策ソフトのスキャン・ディスクのI/O上限などが背景にあります。

解決手順:

# ダウンロードサーバーへの到達性を確認
curl -sI https://downloads.claude.ai/claude-code-releases/latest

# HTTP/2 200 が返れば一時的な障害なので再試行
curl -fsSL https://claude.ai/install.sh | bash

# 失敗が続くなら代替方法へ
brew install --cask claude-code   # macOS
winget install Anthropic.ClaudeCode   # Windows

予防策: 共有Wi-Fi など不安定な回線では、有線または安定したセルラー接続に切り替えてから再試行してください。企業環境では IT 部門に downloads.claude.ai のホワイトリスト登録を依頼します。

インストールや claude update が Failed to fetch version from https://downloads.claude.ai/claude-code-releases/latest after 3 attempt(s) で止まる場合は、Claude Code が配信サーバーに最新版の番号を聞きに行って届かなかった状態です。末尾の ECONNREFUSED・getaddrinfo ETIMEOUT・canceled・403 などで止まった場所を見分ける方法は、Failed to fetch version の対処法で解説しています。

Illegal instruction(AVX欠如)

エラーメッセージ: Illegal instruction

原因: Claude Code のネイティブバイナリは AVX 命令セットを利用します。これに対応していない古いCPU(おおむね2013年以前の Intel・AMD)や、AVX をパススルーしていない仮想マシン(VPS / VM)では起動できません。アーキテクチャ自体が一致していない場合(ARMサーバーにx86バイナリを誤配布など)も同じメッセージで現れます。

解決手順:

# Linux: CPUがAVXをサポートしているか確認
grep -m1 -ow avx /proc/cpuinfo
# 出力が空 → AVX非対応

# CPUモデル名を確認(バグ報告用)
grep -m1 "model name" /proc/cpuinfo

# macOS
sysctl -n machdep.cpu.brand_string

# アーキテクチャを確認
uname -m   # x86_64 / aarch64 / arm64 などを表示

対処: AVX非対応のVPSの場合は別ホスティングに移行するか、Claude Code on the Web(クラウド版)を利用します。アーキテクチャが一致していない場合は、uname -m(PowerShell では $env:PROCESSOR_ARCHITECTURE)の出力を添えて GitHub Issues に報告します。

予防策: Homebrew や WinGet などの別のインストール方法も同じネイティブバイナリを入れるため、この問題は解決しません。状況は公式が案内している Issue #50384 で追えます。VPS を選ぶときは、上の grep -m1 -ow avx /proc/cpuinfo で AVX が見えるかを契約前の試用環境で確かめておくと安全です。

Error loading shared library / glibc・musl 不整合

エラーメッセージ: Error loading shared library libstdc++.so.6: No such file or directory

原因: インストーラーが「musl」ライブラリの環境と誤判定し、glibc 用ではないバイナリをダウンロードしました(あるいはその逆)。glibc 系(Ubuntu/Debian/RHEL)に musl のクロスコンパイル用パッケージが入っているケースで起こりがちです。

解決手順:

# システムのlibcを確認
ldd --version 2>&1 | head -1
# 出力に GNU libc / GLIBC → glibc
# 出力に musl → musl

# Alpine(musl)の場合は依存パッケージを追加
apk add libgcc libstdc++ ripgrep

# glibc なのに musl バイナリが入った場合は一度削除して再インストール
rm -f ~/.local/bin/claude
curl -fsSL https://claude.ai/install.sh | bash

予防策: Alpine Linux などmusl系のディストロでは、Anthropic公式のAlpine Linux setupに従って libgcc libstdc++ ripgrep を追加してください。

dyld: Symbol not found / Abort trap on macOS

エラーメッセージ:

dyld: Symbol not found: _ubrk_clone
  Referenced from: claude-darwin-x64 (which was built for Mac OS X 13.0)
Abort trap: 6

原因: Claude Code のバイナリは macOS 13.0 以上を前提にビルドされています。これより古い macOS では、システムライブラリ(libicucore.A.dylib)に存在しないシンボルを参照してクラッシュします。dyld: cannot load 'claude-...' (load command 0x80000034 is unknown) も同じ原因です。

解決手順:

  1. macOSバージョンを確認: Apple メニュー → このMacについて から macOS 13.0 以上か確認
  2. macOSを更新: 古い場合はシステム設定 → 一般 → ソフトウェア・アップデートから更新
  3. Homebrew経由でも同じバイナリなので回避策にはなりません

予防策: macOS 13未満を使い続ける必要がある場合は、Claude Code on the Web を利用してください。

WSL1 で Exec format error

エラーメッセージ:

claude: cannot execute binary file: Exec format error

原因: WSL1 のローダーが、Claude Code のネイティブバイナリのプログラムヘッダー変更(Issue #38788)に対応できていません。

解決手順:

最も推奨される対処は WSL2 への変換です。

wsl --set-version <DistroName> 2

どうしても WSL1 を継続したい場合は、動的リンカー経由で呼び出します。

# ~/.bashrc に追記
claude() {
  /lib64/ld-linux-x86-64.so.2 "$(readlink -f "$HOME/.local/bin/claude")" "$@"
}
source ~/.bashrc
claude --version

予防策: WSL2 を標準にします。公式のセットアップでは、WSL1 はサンドボックスに対応しておらず、WSL2 が使えない場合の選択肢という位置づけです(公式セットアップ)。社内 IT が WSL1 を指定している場合は、この理由を添えて WSL2 への移行を相談してください。

Windows: 'irm' is not recognized / '&&' is not valid / 'bash' is not recognized

症状: インストールコマンドをコピペすると、シェル不一致のエラーが返ります。

メッセージ原因対処
'irm' is not recognizedCMD で PowerShell コマンドを実行スタートメニューから PowerShell を起動
The token '&&' is not validPowerShell で CMD コマンドを実行`irm https://claude.ai/install.ps1
'bash' is not recognizedWindows で macOS/Linux コマンドを実行PowerShell 版インストーラーを使う

解決手順(PowerShell):

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

解決手順(CMD で完結したい場合):

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

予防策: ドキュメントを参照するときは、自分のシェルがCMDかPowerShellかを必ず確認します。「Windows ターミナル(Windows Terminal)」のデフォルトプロファイルは PowerShell 7 が推奨です。

Windows: Git for Windows or PowerShell が必須

エラーメッセージ: Claude Code on Windows requires either Git for Windows (for bash) or PowerShell

原因: Claude Code は Windows ネイティブで動作するために Bash(Git for Windows 経由)か PowerShell のいずれかが必要です。両方ともインストールされていないか、PATH に通っていないと起動できません。

解決手順:

  1. Git for Windows を git-scm.com/downloads/win からインストール。セットアップ時に「Add to PATH」を選択
  2. PowerShell 7 を aka.ms/powershell からインストール
  3. Git がインストール済みだが Claude Code が見つけられない場合は ~/.claude/settings.json で明示
{
  "env": {
    "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
  }
}

where.exe git で実体パスを確認し、bin\bash.exe を指すように設定します。

Claude Code does not support 32-bit Windows

エラーメッセージ: Claude Code does not support 32-bit Windows

原因: Windows スタートメニューには「Windows PowerShell」と「Windows PowerShell (x86)」の2つが並んでいます。後者の x86 エントリは 32-bit プロセスとして動作するため、64-bit Windows でもこのエラーが出ます。

解決手順:

# 現在の PowerShell が 64-bit OS で動作しているか確認
[Environment]::Is64BitOperatingSystem
# True → OSは64-bit。エラーが出たウィンドウを閉じ、x86 が付かない PowerShell から再実行
# False → OSが32-bit。Claude Code は対応していないため、64-bit版Windowsに更新が必要

予防策: スタートメニューに 2 つの PowerShell が並んでいる場合、必ず「(x86)」が付かない方を起動してください。タスクバーにピン留めすると次回以降の事故を防げます。

Windows: The process cannot access the file

エラーメッセージ: Failed to download binary: The process cannot access the file ... because it is being used by another process

原因: 過去のインストーラーがバックグラウンドで残っているか、ウイルス対策ソフトが %USERPROFILE%\.claude\downloads 内のファイルをスキャンしてロックしています。

解決手順:

# 他の PowerShell ウィンドウを閉じる
# downloads ディレクトリを削除して再実行
Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"
irm https://claude.ai/install.ps1 | iex

予防策: ウイルス対策ソフトのリアルタイム保護で %USERPROFILE%\.claude\ を一時的に例外指定すると、再発を防げます(インストール完了後は例外を解除)。

Docker でインストールがハング

症状: Dockerfile でインストールを実行するとビルドが進まずハングする

原因: Docker のルートディレクトリ(/)から curl | bash を実行すると、インストーラーがファイルシステム全体をスキャンしてメモリを使い果たします。

解決手順:

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

Docker Desktop を使っている場合は、ビルドのコンテナが Docker Desktop の仮想マシンのメモリを共有するため、Docker Desktop の Settings > Resources でメモリの上限を上げてからビルドし直します。

予防策: Dockerfile では必ず WORKDIR を設定してから Claude Code をインストール。CI/CD では Docker メモリ予算 4GB 以上を確保してください。

Claude Desktop が claude コマンドを乗っ取る

症状: claude を実行すると Claude CLI ではなく Claude Desktop アプリが起動する

原因: 古いバージョンの Claude Desktop が Windows の WindowsApps ディレクトリに Claude.exe を登録し、Claude Code CLI より優先される PATH に配置されています。

解決手順: Claude Desktop を最新版に更新してください。最新版ではこの競合は解消されています。

予防策: where.exe claude で実体パスを確認し、Claude Code CLI が先に来るよう User PATH の順序を整えます。

App unavailable in region

症状: インストール時に HTML が返り、「App unavailable in region」と表示される

原因: お住まいの国・地域では Claude Code が公式提供されていません。

対処: Anthropic の対応国リストを確認してください。VPN 経由での回避は利用規約の観点で推奨されません。代わりにクラウド版 Claude Code(Claude Code on the Web)の対応状況を確認するのが現実的です。

認証・APIキー・組織管理エラー

認証エラーは、Claude Code が API サーバーに対して正しく身元を証明できないときに発生します。/status コマンドで現在の認証方法を確認できます。

ここで重要なのは、ANTHROPIC_API_KEY 環境変数は OAuth ログイン認証より優先されるという挙動です。古い API キーがシェルプロファイルに残っていると、Pro/Max サブスクリプションがあっても無効化された組織のキーが使われ続けます。

API キーなどが優先されていると、claude.ai のログインが残っていても claude.ai のコネクタ・Remote Control・/schedule は使えません。起動時に claude.ai connectors are disabled because ANTHROPIC_API_KEY or another auth source is set と出たら、claude.ai connectors are disabled の意味と対処法で、優先されている認証の探し方と、API キーを残したまま Claude Code だけ外す方法を確認してください。

デスクトップアプリや claude.ai で Authentication service was unavailable. You can try again. や Temporarily unable to authenticate. Please retry. と出る場合は、手元の設定ではなく Anthropic 側の認証サービスが一時的に応答していない可能性が高いです。先にステータスページを確認し、障害中はサインアウトせずに待ってください。詳しい見分け方は認証の一時障害の原因と対処で解説しています。

Not logged in · Please run /login

エラーメッセージ: Not logged in · Please run /login

原因: 現在のセッションで有効な資格情報が見つかりません。OAuthトークンが保存されておらず、ANTHROPIC_API_KEY も設定されていません。

解決手順:

/login

CI/CD で対話的なログインが不可能な場合は apiKeyHelper を設定します。

{
  "apiKeyHelper": "/path/to/get-claude-key.sh"
}

シェルから直接認証情報を確認する場合:

env | grep -i ANTHROPIC
# Claude Code を起動後、セッション内で /status を実行して認証ソースを確認

予防策: 頻繁にログインを求められる場合はシステムクロックが正確かを確認してください。macOSではKeychainのロックがトークン保存に影響することがあります。Claude Desktop アプリ(Code タブ・Cowork)では同じ状態が Authentication required · Sign in again to continue と表示され、アプリからサインインし直します。

/login 後も同じ表示に戻る場合の切り分けは「Not logged in · Please run /login」の意味と対処法で詳しく解説しています。

Invalid API Key

エラーメッセージ: Invalid API key · Fix external API key

原因: ANTHROPIC_API_KEY 環境変数に設定されたキーが無効(タイプミス、取り消し済み、古い形式、組織変更で失効)です。direnv や dotenv プラグインが .env ファイルからキーを読み込み、本人が意識しないまま設定されているケースもあります。

解決手順:

# 現在設定されているキーを確認
env | grep ANTHROPIC

# direnv / dotenv が読み込んでいる可能性をチェック
ls -la .env .envrc 2>/dev/null

# API キーをアンセットしてサブスクリプション認証に切り替え
unset ANTHROPIC_API_KEY
claude

予防策: .env ファイルやシェルプロファイルに古い API キーが残っていないか定期的に確認してください。特に direnv や dotenv プラグインが自動で読み込むケースに注意が必要です。プロジェクトを移動するときは、.envrc に unset ANTHROPIC_API_KEY を明示しておくと事故を防げます。

403 Forbidden

エラーメッセージ: ログイン後に API Error: 403 Request not allowed

原因: サブスクリプションが無効、Console アカウントに Claude Code を使うロールがない、企業プロキシがリクエストに干渉している、のいずれかです(公式: インストールとログインのトラブルシューティング)。

解決手順:

  1. Pro/Max ユーザー: claude.ai/settings でサブスクリプションがアクティブか確認
  2. Console ユーザー: アカウントに「Claude Code」または「Developer」ロールがあることを管理者に確認(管理者は Console の Settings → Members で付与します)
  3. プロキシ環境: 企業プロキシが API リクエストに干渉している可能性があるため、プロキシ設定を確認
  4. Bedrock/Vertex/Foundry: クラウド経由で利用している場合は、IAM/サービスアカウントの権限・リージョン設定を再確認

This organization has been disabled

エラーメッセージ: Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead(または API Error: 400 ... This organization has been disabled.)

原因: 無効化された組織に紐づく古い ANTHROPIC_API_KEY が、サブスクリプション認証をオーバーライドしています。ANTHROPIC_API_KEY 環境変数は OAuth 認証より優先されるため、シェルプロファイルや .env ファイルに残っている古いキーが原因です。

解決手順:

# 環境変数をアンセット
unset ANTHROPIC_API_KEY

# シェルプロファイルからも削除
# ~/.zshrc や ~/.bashrc で export ANTHROPIC_API_KEY=... の行を削除

# 再起動して確認
claude
/status

再起動後に /status を実行し、有効な認証情報が API キーではなくサブスクリプションのログインになっていれば成功です。表示の末尾が Update or unset the environment variable の場合は、代わりに使える保存済みログインがありません。キーを外して /login するか、有効な組織のキーに差し替えます。

予防策: 退職時・組織変更時には ~/.zshrc ~/.bashrc ~/.profile 内の ANTHROPIC_API_KEY 行を明示的に削除する手順を運用に組み込みます。

キーを外しても API Error: 400 ... This organization has been disabled. が続き、/status に claude.ai のログインしか出ない場合は、アカウントや所属組織そのものが停止されている可能性があります。表示の形での見分け方と、異議申し立て・サポートへの連絡の仕方は「This organization has been disabled」の原因と対処で解説しています。

Your organization has disabled Claude subscription access

エラーメッセージ: Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

Claude の組織側で、サブスクリプションログインによる Claude Code の利用が許可されていないときに出るエラーです。同じアカウントで /login をやり直しても同じエラーが返ります(公式エラーリファレンス)。

原因: Claude の組織管理側で「Claude Code でのサブスクリプションログインを禁止」設定が入っています。これはサーバーサイド設定のため、ローカルの環境変数やCLIフラグでは絶対に上書きできません。Agent SDK や非対話モード(-p)では oauth_org_not_allowed というエラーコードで返ります。

解決手順:

  1. 管理者に依頼: 組織管理者に Claude Code アクセスを有効化してもらう
  2. Console API キーで認証: 個人のサブスクリプションではなく、Anthropic Console で発行したAPIキーを使う(キーの発行手順は「Anthropic API の使い方|APIキー取得から実装まで」)
export ANTHROPIC_API_KEY=sk-ant-...
claude
  1. 管理者本人が有効化の設定を見つけられない場合: Anthropic サポートに問い合わせる(公式エラーリファレンスが案内している手順です。管理画面のどこで許可するかは公式ドキュメントに明記されていません)

予防策: 大組織導入時には、初日に「個人サブスクリプションでログインを試みた社員」がこのエラーに遭遇しやすいです。社内アナウンスで「Claude Code は Console API キー or 組織サブスクリプションで利用」と明示しておくとサポート工数を削減できます。

全員分の設定と配布手順を先に決めておきたい場合は、後述の組織で導入するときの相談先も参照してください。

管理者に何を依頼すればよいか、API キーに切り替えるときの注意点は「Your organization has disabled Claude subscription access」の意味と対処法で詳しく解説しています。

Your organization has disabled API key authentication

エラーメッセージ: Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account(· の後ろは、キーの出どころによって Unset ANTHROPIC_API_KEY ... などに変わります)

原因: 上の「subscription access」と逆向きで、Console 組織の管理者が API キー認証を止めています。v2.1.169 以降で表示されます。環境変数と apiKeyHelper は /login より優先されるため、キーが残っている間は /login だけでは直りません(公式エラーリファレンス)。

解決手順:

  1. 表示に ANTHROPIC_API_KEY とあれば、現在のシェルで unset ANTHROPIC_API_KEY し、シェルプロファイルや .env からも削除する
  2. 表示に apiKeyHelper とあれば、settings.json から apiKeyHelper 設定を外す
  3. /login で claude.ai アカウントにサインインし、/status で API キーが使われていないことを確認する
  4. 自動化で API キーが必要なら、組織の管理者に Console で API キー認証を戻してもらう

API Error: 401 Invalid authentication credentials

エラーメッセージ: Please run /login · API Error: 401 Invalid authentication credentials

原因: 認証情報の形式は正しいものの、その裏にあるアカウントや組織を API が拒否しています。認証情報の取り消し、組織の無効化やアクセス削除、アカウント自体の停止が該当し、期限切れが原因ではありません(公式エラーリファレンス)。

解決手順:

  1. /status で有効な認証情報を確認する。使用中の API キーの行があれば、そのキーがログインより優先されています。Console でキーを差し替えるか、unset ANTHROPIC_API_KEY でサブスクリプションに戻す
  2. ログインだけが表示されていれば、/login を1回実行する
  3. 同じアカウントで同じ表示に戻るなら、アカウントか組織が無効です。組織の管理者にアクセスの回復を依頼する
  4. ANTHROPIC_BASE_URL で LLM ゲートウェイを使っている場合、401 の後ろはゲートウェイ側の文言です。/login では変わらないので、ゲートウェイが求める認証情報を直す

Your account is on hold

エラーメッセージ: Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted(サインイン時は can't sign in to Claude Code)

原因: ログインではなく Claude アカウント自体が保留(停止)されています。同じアカウントで /login し直しても消えません。v2.1.235 より前は、この状態が Login expired · Please run /login と表示されていました(公式エラーリファレンス)。

解決手順:

  1. 表示されたリンクを開き、保留の詳細を確認する。必要なら異議申し立てをする
  2. 解決を待つ間は、影響を受けていない別のアカウントで /login するか、ANTHROPIC_API_KEY に API キーを設定して作業を続ける

Claude Code access has not been granted for this account

エラーメッセージ: サインイン画面に Authorization failed と Claude Code access has not been granted for this account. Contact your administrator.

原因: Claude Enterprise 組織であなたのロールが Custom になっており、所属グループに割り当てられたカスタムロールのどれにも Claude Code の権限がありません。Claude Code 側の設定では直りません(公式トラブルシューティング)。

解決手順:

  1. 組織の Owner に、Claude Code を許可するカスタムロールを所属グループへ割り当てるか、ロールを User などの標準ロールに変えてもらう(Owner は claude.ai/admin-settings/roles で管理)
  2. 変更後に claude を起動し、もう一度ログインする

Routines are disabled by your organization's policy

エラーメッセージ: Routines are disabled by your organization's policy.

原因: Team/Enterprise 組織の Owner が、組織全体で Routines(定期実行ジョブ)を無効にしています。claude.ai/code の Routines 画面でルーティンを作成・実行しようとしたときに表示されます。v2.1.227 以降は、同じ設定で CLI の /schedule も表示されなくなります。サーバー側の設定なので、手元の設定・環境変数・CLI フラグでは上書きできません(公式エラーリファレンス)。

解決手順:

  1. 組織の Owner に「Routines」トグルの有効化を依頼(claude.ai/admin-settings/claude-code から開ける。v2.1.280 の更新で設定の置き場所は Admin settings → Capabilities → Remote sessions に移った)
  2. 単発のスケジュール実行で組織ポリシーに抵触しない用途であれば、スケジュールタスク(scheduled tasks)を使う

予防策: Routines を使う予定があるチームは、導入前に Owner と「どのチームが定期実行を使うか」を決めておくと、利用開始の日にこの表示で止まるのを防げます。

Login expired · Please run /login

エラーメッセージ: Login expired · Please run /login(非対話モード -p や Agent SDK では Failed to authenticate: OAuth session expired and could not be refreshed、エラーコードは authentication_failed)

原因: 保存済みの claude.ai / Claude Console のログインを Claude Code が更新しようとしたところ、OAuth サービスがリフレッシュトークンを拒否したため、Claude Code が保存済みの認証情報を消去した状態です。以降のリクエストは API に届く前に手元で止まるため、/login 以外では復旧しません。API から拒否が返る次項の「OAuth token revoked / expired」とは別の状態です。API キー・CLAUDE_CODE_OAUTH_TOKEN・Bedrock などで認証しているセッションでは表示されません(公式エラーリファレンス)。

解決手順:

  1. /login でサインインし直す(サインインせずに再試行しても毎回同じメッセージになります)
  2. /status の Login 行が Expired — log in again になっていれば、この状態です
  3. 非対話モードで出た場合は、同じ環境で claude を起動して /login を済ませてからコマンドを再実行する。対話ログインできない CI などでは ANTHROPIC_API_KEY か claude setup-token で発行した長期トークンで認証する

予防策: 自動実行のジョブを個人のサブスクリプションログインに依存させないことです。CI やスケジュール実行は API キーか長期トークンに切り替えておくと、ログインの期限切れで夜間ジョブが止まる事故を防げます。

/login しても戻る場合や、複数のウィンドウで同時に出る場合の確認点は「Login expired · Please run /login」の意味と対処法で詳しく解説しています。

OAuth エラーとトークン期限切れ

エラーメッセージ: OAuth token revoked · Please run /login または Please run /login · API Error: 401 OAuth token has expired

原因: 保存された OAuth トークンが取り消されたか期限切れになっています。サインアウト全箇所が実行されたか、管理者がアクセス権限を削除したか、自動リフレッシュが失敗しました。

解決手順:

/login

同セッション内で再認証後もエラーが続く場合は、いったん完全ログアウトしてから再ログインしてください。

/logout
/login

頻繁にログインを求められる場合はシステムクロックが正確かを確認します。macOSではKeychainのロックも原因になります。

# macOS: Keychain アクセスを確認
claude doctor

# Keychain をアンロック
security unlock-keychain ~/Library/Keychains/login.keychain-db

予防策: チーム内で「Keychain パスワードと macOS アカウントパスワードの同期がずれている人」を定期的に確認します。Keychain Access の「Edit > Change Password for Keychain "login"」で再同期できます。

OAuth scope requirement

エラーメッセージ: OAuth token does not meet scope requirement: user:profile

原因: 保存されているトークンが、新機能で必要になった権限スコープを持っていません。/usage やステータスラインの使用量表示でよく見られます。

解決手順:

/login

/logout は不要です。/login だけで新しいスコープ付きトークンが発行されます。

予防策: Claude Code のアップデート後にこの種のエラーが出たら、まず /login で更新するのが定石です。

OAuth error: Invalid code

エラーメッセージ: OAuth error: Invalid code. Please make sure the full code was copied

原因: ログインコードの有効期限が切れたか、コピペで途中までしか貼り付けられていません。SSH接続で改行が混ざるケースが典型です。

解決手順:

  • ブラウザを開いてからログインを素早く完了する
  • ブラウザが自動で開かない場合は c を押して URL をクリップボードにコピー
  • リモート/SSH 環境では、URL を手元のブラウザで開き、コードをコピペする

予防策: SSH ターミナルの長いURL改行問題を避けるため、tmux screen の幅を90桁以上に設定するか、claude auth login の標準入力経由でコードを渡します。

コードが途中で切れる原因の見分け方は「OAuth error: Invalid code」の意味と対処法で詳しく解説しています。

OAuth login fails in WSL2 / SSH / コンテナ

症状: Claude Code が WSL2、リモートSSH、コンテナで起動するとブラウザが自動で開かない、または開いてもリダイレクトが localhost に戻らない

原因: Claude Code はローカルコールバックサーバーを起動して OAuth リダイレクトを受け取りますが、別ホストで開いたブラウザからはアクセスできません。

解決手順:

# WSL2: Windows 側のブラウザを指定
export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
claude

ブラウザが開けない場合は、対話プロンプトで c を押して URL をコピー、手元のブラウザで開きます。完了後、ログインコードを Paste code here if prompted プロンプトに貼り付けます。

ペーストが効かない場合は次のコマンドで標準入力からコードを受け取れます。

claude auth login

予防策: WSL2 の .bashrc に BROWSER を恒久設定。SSH 多用者は tmux などのバッファ管理ツールを併用すると貼り付けが安定します。

model not found / you may not have access to it

エラーメッセージ: Model 'claude-opus-9' not found のような表示、または you may not have access to it

原因: 指定したモデル名が存在しないか、使っているプランやプロバイダーでそのモデルを利用できません。ANTHROPIC_MODEL 環境変数や設定ファイルに古いモデル名が残っているケースもあります。

解決手順:

# 現在指定されているモデル名を確認
env | grep ANTHROPIC_MODEL

# 環境変数を解除し、プランの既定モデルを使う
unset ANTHROPIC_MODEL
claude
/model

予防策: モデル名はフルIDではなく sonnet などのエイリアスで指定すると、新しいモデルへの切り替えで古い名前が残りません。どのプランでどのモデルを使えるかは claude.com/pricing で確認し、料金とレート制限の考え方は Claude Codeの料金プランとレート制限 で整理しています。

Claude Opus is not available with the Claude Pro plan

エラーメッセージ: Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.

原因: 現在のサブスクリプションプランに Opus が含まれていません。最近 Max プランにアップグレードした場合でも、既存セッションは古いトークンを保持しているため反映されないことがあります。

解決手順:

/model      # 利用可能なモデルを選択
/logout
/login      # プラン情報を最新化

予防策: プランアップグレード直後は /logout → /login を必ず実行する習慣をつけます。プラン別のモデル可用性はclaude.com/pricingで確認してください。

Bedrock / Vertex / Foundry 認証情報が読み込めない

エラーメッセージ:

  • Amazon Bedrock: Could not load credentials from any providers
  • Google Vertex AI: Could not load the default credentials
  • Microsoft Foundry: ChainedTokenCredential authentication failed / CredentialUnavailableError

原因: クラウドプロバイダーのCLIが現在のシェルで認証されていません。あるいはIDE拡張機能の場合、IDEプロセスがシェル環境変数を継承していません。

解決手順:

# Amazon Bedrock
aws sts get-caller-identity   # 認証確認
aws configure                 # 未設定なら初期化

# Google Vertex AI
gcloud auth application-default login
echo "ANTHROPIC_VERTEX_PROJECT_ID=$ANTHROPIC_VERTEX_PROJECT_ID"
echo "CLOUD_ML_REGION=$CLOUD_ML_REGION"

# Microsoft Foundry
az login
test -n "$ANTHROPIC_FOUNDRY_API_KEY" && echo "Foundry credential configured"

IDE 拡張機能で失敗する場合は、IDE 自体の設定でプロバイダー環境変数を設定するか、ターミナルから IDE を起動します。

v2.1.267 以降は API Error: Could not load AWS credentials · Could not load credentials from any providers のように、どのクラウドの認証情報かが先頭に付きます。Bedrock の AWS 認証で出たときの切り分けは「Could not load credentials from any providers」の対処法で詳しく解説しています。

予防策: クラウド経由運用では ~/.aws/credentials や Application Default Credentials の更新タイミングを CI/CD のチェック対象に含めます。詳細はAmazon Bedrock、Google Vertex AI、Microsoft Foundry の各セットアップを参照してください。

レート制限・使用量系エラー

レート制限エラーは、使用量がアカウントやプランの上限に達したときに発生します。どの上限に当たったかで、待つしかないのか、モデルを替えれば続けられるのかが変わります。

制限の種類対象エラーメッセージモデルを替えれば続けられるか
セッション制限サブスクリプションYou've hit your session limit · resets 3:45pm続けられない(全モデル共通)。表示の時刻まで待つ
週間制限サブスクリプションYou've hit your weekly limit · resets Mon 12:00am続けられない(全モデル共通)
Opus / Sonnet 制限サブスクリプションYou've hit your Opus limit · resets 3:45pm続けられる(別系統のモデルへ /model)
利用額の上限利用額を設定したプラン・組織You've hit your monthly spend limit続けられない。上限を上げるか、表示の時刻まで待つ
API 制限(429)API キー・Bedrock・Google CloudRequest rejected (429)並列度を下げる、上位の階層を申請する

出典: 公式エラーリファレンス(Usage limits)

セッション・週間制限(サブスクリプション)

エラーメッセージ: You've hit your session limit · resets 3:45pm または You've hit your weekly limit または You've hit your Opus limit · resets ...

原因: Pro/Max プランには、5時間ごとにリセットされるセッション枠と全モデル共通の週次枠があり、1回のやり取りが両方を同時に減らします(出典: Use Claude Code with your Pro or Max plan - Claude Help Center、公式エラーリファレンス)。

2026年に入り、ピーク時間帯にセッション制限へ到達しやすい挙動がユーザー報告として上がっており、エラーメッセージが表示されないまま処理が止まるケースもあるようです(ユーザー報告: anthropics/claude-code Issue #38335、Anthropic 公式アナウンスではありません)。

解決手順:

  1. /usage で現在の使用状況とリセット時刻を確認
  2. セッション制限・週間制限は全モデル共通なので、モデルを替えても戻りません。表示の時刻まで待ちます。Opus や Sonnet だけの制限なら、/model で別系統のモデルに替えれば続けられます
  3. claude.ai/settings/usage のプログレスバーで5時間/週間の両方の残量を確認
  4. Pro/Max プランでは /usage-credits から追加使用量を購入可能。Team/Enterprise では同じコマンドで管理者に追加を依頼できる(出典: Extra usage for paid Claude plans - Support Center)
  5. 対話セッションでは、リセット直後に中断した作業を自動で続ける待機(Usage limit reached · continuing automatically at 3:45pm)が表示されることがあります。取り消すときは空のプロンプトで Esc を押します(v2.1.234 以降)

5時間の枠と週の枠の仕組み、プラン別の違い、保存できるリミットリセット、利用クレジットの注意点は、Claude の使用制限と使用量の確認・リセットにまとめています。

予防策: /usage(/cost は同じコマンドの別名)でプランの残量とリセット時刻を確認してから大きなタスクを始めてください。上限の手前では You've used 85% of your session limit のような予告も出ます。/compact で会話を圧縮すれば、同じ枠でより多くの作業を実行できます。

Team・Enterprise で「管理者によって利用量の割り当てが無効にされました」(Your usage allocation has been disabled by your admin)と出た場合は、プランの利用枠ではなく、管理者が設定した利用クレジットの上限で止まっています。利用量の割り当てが無効と出るときの対処を参照してください。「組織の使用クレジットが不足しています。管理者に通知しました。」(Your org is out of usage credits. We let your admin know.)と出た場合は、組織の利用クレジットの残高がなくなっています。組織の使用クレジットが不足していると出るときの対処を参照してください。

You've hit your monthly spend limit / Usage credits required for 1M context

エラーメッセージ:

You've hit your monthly spend limit · raise it at claude.ai/settings/usage
You've hit your org's monthly spend limit · visit claude.ai/admin-settings/usage to raise it
API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context

原因: 前者は、プランに含まれる使用量で足りない分を支払う追加使用量(usage credits)が、設定した利用額の上限に達した状態です。後者は上限ではなく、選んだモデルの 1M トークン版をプランでは追加使用量経由でしか使えない、という利用条件の確認です(公式エラーリファレンス)。

解決手順:

  1. Pro/Max は claude.ai の Settings > Usage で上限を上げるか /usage-credits を実行。Team/Enterprise は管理者に依頼(/usage-credits が依頼を送る)
  2. 表示にプランの枠のリセット時刻があれば、その時刻まで待つ方法もある
  3. 1M context の表示は、/usage-credits で追加使用量を有効にして Claude Code を再起動するか、/model で標準のコンテキストのモデルに替える

Server is temporarily limiting requests

エラーメッセージ: API Error: Server is temporarily limiting requests (not your usage limit)

原因: API側が一時的に短時間のスロットルを適用しています。アカウントのクォータとは無関係です。v2.1.199 以降は、どの認証方法でも自動の再試行(既定10回、CLAUDE_CODE_MAX_RETRIES で変更可)を済ませた後にこのエラーが表示されます。

解決手順:

  1. 数十秒〜数分待ってから再試行
  2. 続く場合は status.claude.com でインシデント情報を確認

API 429 Rate limit reached

エラーメッセージ: API Error: 429 Rate limit reached または Request rejected (429) · this may be a temporary capacity issue

原因: API キー、Amazon Bedrock、Google Cloud のプロジェクトに設定されたレート制限(リクエスト/分(RPM)、入力トークン/分(ITPM)、出力トークン/分(OTPM))に到達しています(公式エラーリファレンス)。

解決手順:

  1. /status で現在の認証ソースを確認。意図しない ANTHROPIC_API_KEY が低ティアキーを参照していないか
  2. /usage を実行し、現在のセッションの使用量を確認
  3. platform.claude.com でアカウントの RPM/TPM 設定とプラン階層を確認
  4. 並列度を下げる: サブエージェントの大量並列起動を避け、読み取り系ツールとサブエージェントの同時実行数(既定10)を環境変数で下げる。スクリプトで大量に回す場合は /model で小さいモデルへの切り替えも検討
# 同時実行数を下げて起動する例
export CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY=3
claude

Claude Code 自体は 429 を自動で再試行します。自前のスクリプトから API を呼ぶ場合は、指数バックオフ + ジッターで再試行してください(最初の待機は2〜4秒、その後は倍々で増加)。

指数バックオフの実装例(Node.js、自前のスクリプト用):

async function callWithRetry(fn, maxRetries = 5) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn();
    } catch (e) {
      if (e.status !== 429) throw e;
      const delay = Math.min(2 ** i * 1000 + Math.random() * 1000, 30000);
      await new Promise(r => setTimeout(r, delay));
    }
  }
  throw new Error('Max retries reached');
}

予防策: バッチ処理では並列度(concurrency)を調整し、Claude が返す retry-after ヘッダーを尊重してください。Claude API のレート制限の詳細は Rate limits - Claude API Docs に整理されています。

529 Overloaded(サーバー過負荷)

エラーメッセージ: API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.

原因: API サーバー全体が一時的に容量に達しています。529 はアカウントのクォータとは無関係です。

解決手順:

  1. status.claude.com でインシデント情報を確認
  2. 数分待ってから再試行
  3. /model で別のモデルに切り替え(モデルごとに容量が管理されているため)

Claude Code が Opus is experiencing high load, please use /model to switch to Sonnet のような切替を促すメッセージを出した場合は素直に従うのが最短ルートです。529 は使用量の上限ではなく、クォータも消費しません。

API Error: 500 Internal server error / Request timed out

エラーメッセージ:

API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check https://status.claude.com.
Request timed out

原因: 500 番台は API 内部の予期しない失敗で、プロンプト・設定・アカウントが原因ではありません。Request timed out は、混雑時や非常に長い応答の生成中に、API が接続の期限(既定10分)までに応答しなかった状態です。プロキシやゲートウェイが HTML のエラーページを返した場合は API Error: 502 Bad Gateway のように表示されます(公式エラーリファレンス)。

解決手順:

  1. status.claude.com で障害情報を確認する
  2. 1分ほど待って送り直す。元のメッセージは会話に残っているので、長いプロンプトでも try again と打てば足りる
  3. 障害情報がないのに続く場合は /feedback で報告する
  4. タイムアウトが表示文に「internet connection」を含む場合は、Unable to connect to API の手順でネットワークを確認する

Connection lost mid-response / The response above may be incomplete

エラーメッセージ: API Error: Connection lost mid-response. The response above may be incomplete.(ほかに Server error mid-response、Your computer went to sleep mid-response、The response stopped arriving など。v2.1.227 より前は Connection closed mid-response)

原因: Claude が文章やツール呼び出しを書き終えた後、応答の途中で接続が切れたかサーバーエラーが起きました。同じツール呼び出しを二重に実行しないよう、Claude Code はリクエストを丸ごとやり直さず、完成した部分を残して続きから進めます(公式エラーリファレンス)。

解決手順:

  1. 直前の応答が途中で切れていないかを読み、足りない部分は「続けて」と頼む
  2. スリープで切れた場合(went to sleep)は、長い作業中にスリープしない設定にする
  3. 頻発する場合は、プロキシやゲートウェイが応答を途中で閉じていないかを Unable to connect to API の手順で確認する

6種類の表示の違い、claude -p での続け方、待ち時間を延ばす環境変数は Connection lost mid-response の意味と対処 で詳しく解説しています。

Credit balance is too low

エラーメッセージ: Credit balance is too low

原因: API Console 組織のプリペイドクレジットが不足しています。

解決手順:

  1. Pro/Max/Team/Enterprise のプランがあるのにこの表示が出たら、まず /status で API キーの行を確認する。環境変数の ANTHROPIC_API_KEY がサブスクリプションより優先されているので、シェルとプロファイルから外して claude を起動し直す(未ログインなら /login)
  2. Console の API キーで使い続ける場合は、platform.claude.com/settings/billing でクレジットを追加。同画面で自動リロードを有効化しておくと残高ゼロ前に補充される
  3. ワークスペース単位の支出上限を Console で設定し、特定プロジェクトの暴走を防止

予防策: API Console 設定で自動リロード閾値を設定しておくと、作業中にクレジット切れで中断されることを防げます。コスト管理の詳細はManage costs effectivelyも参照してください。

このエラーの原因別の対処はCredit balance is too low の原因と直し方で詳しく解説しています。

コンテキスト・メモリ系エラー

コンテキストエラーは、会話の蓄積やファイルの添付によりモデルのコンテキストウィンドウが限界に達したときに発生します。Claude Codeのコンテキスト・メモリ管理 では /compact、/clear、サブエージェントの使い分けを詳しく解説しています。

Prompt is too long

エラーメッセージ: Prompt is too long(対話セッションでは Context limit reached · /compact or /clear to continue。Amazon Bedrock では Input is too long for requested model.)

原因: 会話履歴、システムプロンプト、ツール定義、添付ファイルの合計がモデルのコンテキストウィンドウを超えています。

解決手順:

# 1. コンテキストを要約して圧縮
/compact

# 2. 特定の情報だけ残して圧縮(推奨)
/compact keep only the plan and the diff

# 3. 完全にリセットして新しいセッションを開始
/clear

# 4. コンテキストの内訳を確認
/context

予防策:

  • 自動コンパクトはデフォルトで有効です。DISABLE_AUTO_COMPACT 環境変数を設定している場合は再度有効にしてください
  • 使用していない MCP サーバーは /mcp の一覧からサーバーを選んで Disable にし、ツール定義によるコンテキスト消費を削減してください
  • 大きなファイルはパスで参照し、内容を直接貼り付けないようにしましょう
  • CLAUDE.md メモリファイルが肥大化していないか確認。/doctor が大きすぎる記述の削減を提案します

/compact でも直らない場合(automatic compaction failed: や single exchange と表示される場合)の切り分けは「Prompt is too long」の対処法で詳しく解説しています。

Autocompact is thrashing

エラーメッセージ: Autocompact is thrashing: the context refilled to the limit...

原因: 自動コンパクションは成功したものの、大きなファイルやツール出力がコンテキストウィンドウを連続で満杯に戻しています。Claude Code は無駄な API 呼び出しを止めるために再試行を停止します(出典: Claude Code Docs - トラブルシューティング)。

解決手順:

  1. 大きなファイルを行範囲で読む: ファイル全体ではなく、特定の関数や行範囲(例: lines 200-300)に絞って読むよう指示
  2. focus 引数付きの /compact: 例 /compact keep only the plan and the diff のように、保持したい情報を明示
  3. サブエージェントに分離: 大規模ファイル処理はサブエージェントに委任すれば、別のコンテキストウィンドウで実行される
  4. /clear で新セッション: 過去の会話が不要な場合は完全リセットが最速

自動圧縮が繰り返し止まる条件や /autocompact の使い方は「Autocompact is thrashing」の意味と対処法で詳しく解説しています。

自動圧縮の失敗(automatic compaction failed)

エラーメッセージ: Prompt is too long · automatic compaction failed: <原因のエラー>(v2.1.229 より前は原因が付かず、Prompt is too long だけが表示されていました)

原因: 会話枠があふれたときの自動圧縮そのものが失敗しています。現行版は : の後ろに、モデルを使えない・認証に失敗したなどの失敗理由を表示します。その理由を先に直さないと、/compact も同じ理由で失敗します(公式エラーリファレンス)。

解決手順:

  1. automatic compaction failed: の後ろの理由を読み、この記事の該当セクション(認証・使用量など)で先に直す。Error during compaction: <原因> と表示された場合も同じく、後ろの原因を先に直す。たとえば原因が Failed to authenticate: OAuth session expired and could not be refreshed なら、Login expired の手順で先に /login を済ませる
  2. 理由が会話の大きさそのものなら、Esc を2回押して数ターン前まで戻り、/compact を再実行する
  3. それでも空きが足りなければ /clear で新セッションを開始(前の会話は claude --resume で開ける)

予防策: /context を定期的に確認し、枠が埋まる前に区切りのよいところで /compact を実行する習慣をつけます。/compact でも直らないときの確認点は「Prompt is too long」の対処法で解説しています。

Request too large (max 32MB)

エラーメッセージ: Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.(v2.1.212 より前は Request too large (max 32MB). Double press esc to go back and try with a smaller file.)

原因: コンテキストウィンドウの制限とは別に、HTTP リクエスト本体の大きさの上限(32MB)を超えています。貼り付けた大きな内容、ツールの出力、画像や添付の積み重ねが原因です(公式エラーリファレンス)。

解決手順:

  1. 表示に compacting cannot make it fit とあれば、Esc を2回押して大きな内容を足したターンより前に戻るか、/clear で新しく始める
  2. それ以外は /compact を実行する(溜まった画像と添付が外れる)
  3. 大きなファイルは貼り付けずにパスで渡し、Claude に分割して読ませる

Image was too large

エラーメッセージ: Image was too large. Double press esc to go back and try again with a smaller image. または API Error: 400 ... image dimensions exceed max allowed size

原因: 添付した画像が API の大きさ・解像度の上限を超えています。上限は長辺8000ピクセル(1枚のとき)、会話に画像が多いときは2000ピクセルです。v2.1.142 以降は処理できない画像を文字の目印に置き換えて再送するため、次のメッセージは通常どおり送れます。それより古い版では画像が会話に残り、以降のメッセージも同じエラーで失敗し続けました(公式エラーリファレンス)。

解決手順:

  1. 解像度を下げて再添付(必要部分だけのスクリーンショットが確実)
  2. 古い版で同じエラーが続く場合は、Esc キーを2回押して画像を添付したターンの前まで巻き戻し、claude update で更新する
  3. デザインカンプなど大きな画像はパスで渡して Read ツール経由で読ませる

予防策: スクリーンショットは「全画面」ではなく「対象部分のみ」に絞ります。デザインツールから書き出す画像は事前に長辺を 2000px 以下にリサイズしておきます。

PDF too large / password protected / not valid

エラーメッセージ:

PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).
PDF is password protected. Try using a CLI tool to extract or convert the PDF.
The PDF file was not valid. Try converting it to text first (e.g., pdftotext).

上は非対話モードでの表示で、対話セッションでは Esc を2回押してやり直すよう促す形になります。

原因: PDF 添付の上限(100ページ・20MB)超過、パスワード保護、ファイル破損(公式エラーリファレンス)。

解決手順:

# テキスト抽出してから渡す
pdftotext input.pdf output.txt
# または Claude に Read ツールで部分読み取りを依頼

# パスワード解除(qpdf)
qpdf --password=<pw> --decrypt input.pdf output.pdf

または PDF を「ページ範囲指定で読む」よう Claude に指示します。ページ範囲の読み取りで pdftoppm is not installed と出たら、poppler-utils(macOS は brew install poppler)を入れます。

予防策: 大規模PDFは ETL 段階でテキスト抽出して .txt として保存。Claude へは抽出済みファイルをパス参照で渡すと安定します。

Auto mode classifier transcript exceeded context window

エラーメッセージ: Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)

原因: auto mode で使用される分類モデルのコンテキストウィンドウを会話全体のサイズが超過しました。対話セッションでは通常の承認プロンプトにフォールバックしますが、非対話モード(-p)では実行が中断されます。

解決手順:

  1. 表示される承認プロンプトで y または n を選んで個別承認
  2. /compact で会話サイズを減らす
  3. 非対話モード(CI/CD など)では事前に分割して短いプロンプトに

Extra inputs are not permitted(gateway header strip)

エラーメッセージ:

API Error: 400 ... Extra inputs are not permitted ... context_management
API Error: 400 ... Extra inputs are not permitted ... tools.0.custom.input_examples
API Error: 400 ... Unexpected value(s) for the `anthropic-beta` header

原因: LLM ゲートウェイやプロキシが anthropic-beta ヘッダーを除去してしまい、ベータ機能依存のフィールドだけが残った結果、API がリクエストを拒否します。

解決手順:

  1. ゲートウェイ側で anthropic-beta ヘッダーをそのまま転送する設定にする(参考: LLM gateway configuration)
  2. それが不可能な場合は、Claude Code 側でベータ機能を無効化
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

予防策: LLM gateway を構築・運用する際は、Anthropic 由来のヘッダーをすべてホワイトリスト方式で透過設定にします。

/heapdump でメモリリーク解析

コンテキストエラーとは別に、メモリの肥大化で Claude Code 全体が重くなることがあります。/heapdump は、その原因を調べるための隠しコマンドです(メニューには出ないので全文を入力します)。

/heapdump
# → ~/Desktop に <セッションID>.heapsnapshot と <セッションID>-diagnostics.json が書き出される
#   (Desktop フォルダがない Linux ではホームディレクトリ)

会話にはメモリの内訳の要約も表示され、大半が JS ヒープかネイティブメモリかが分かります。JS ヒープが大半なら、Chrome DevTools の Memory タブで .heapsnapshot を読み込み、保持サイズの大きい順に並べて原因を探せます。

.heapsnapshot には会話の全文と認証情報が含まれるため、公開の Issue に添付したり人に渡したりしないでください。GitHub Issues に報告するときは、会話内容を含まない -diagnostics.json だけを添付します(公式トラブルシューティング)。

MCP接続エラーの体系的デバッグ

MCP(Model Context Protocol)は外部ツールとの連携を可能にする仕組みですが、設定ミスが起きやすい箇所でもあります。Claude CodeのMCP統合 で基本設定を確認した上で、本セクションのデバッグ手順を試してください。

MCP サーバーに接続できない(✘ Failed to connect)

表示: claude mcp list で、サーバーの状態が ✘ Failed to connect(接続できない)、! Needs authentication(認証が必要)、⏸ Pending approval(未承認)になる(/mcp のパネルでは Failed などと表示)

原因: MCP サーバーの起動に失敗しているか、接続が確立できていません。相対パスで書いた command、プロジェクトのサーバーの未承認、環境変数の不足がよくある原因です。

MCP デバッグログのパス

表示文だけでは原因が分からないときは、デバッグログでサーバー自身のエラー出力(stderr)を読みます。Claude Code のデバッグログはセッションごとに次の場所へ書かれます(公式: 設定のデバッグ)。

取り方ログの場所
claude --debug=mcp で起動~/.claude/debug/<セッションID>.txt
書き出し先を指定して起動claude --debug-file /tmp/claude-debug.log で指定したファイル
# MCP に絞ってデバッグログを有効にして起動
claude --debug=mcp

# 別のターミナルで、最新のログからサーバー名で絞り込む
ls -t ~/.claude/debug/ | head -3
grep -i "my-server" ~/.claude/debug/<セッションID>.txt | tail -n 50

デバッグ手順

ステップ1: claude mcp list と /mcp で接続状態を確認

claude mcp list

サーバーごとに ✔ Connected、! Needs authentication、✘ Failed to connect などの状態が表示されます。プロジェクトの .mcp.json に書いたサーバーで ⏸ Pending approval と出る場合は、まだ承認していません。claude を対話で起動し、承認してください(公式: MCP)。セッション内では /mcp で同じ状態を確認し、サーバーの再接続(Reconnect)や無効化もできます。

ステップ2: 設定ファイルの場所と書き方を確認

# プロジェクトのサーバー(リポジトリの直下に置く)
cat .mcp.json

# 登録済みのサーバーと設定内容
claude mcp get my-server

確認ポイント:

  • .mcp.json はリポジトリの直下に置き、.claude/ の中には置かない
  • サーバーは mcpServers キーの下に書く(VS Code の mcp.json の servers キーは読まれない)
  • settings.json に mcpServers を書いても読まれない。ユーザー共通のサーバーは claude mcp add --scope user で登録する
  • command や args のローカルスクリプトは絶対パスで書く(相対パスは Claude Code を起動したディレクトリ基準で解決される)
  • JSON 構文にエラーがないか、API キーのプレースホルダ(YOUR_API_KEY 等)が残っていないか

ステップ3: コマンドの実行確認

# MCP サーバーのコマンドが直接実行できるか確認
which npx     # または which uvx
npx --version

Python ベースのサーバーで uvx が見つからない場合:

# uv をインストール
pip install uv

ステップ4: 環境変数の受け渡し(特に NVM/asdf 環境)

Claude Code を GUI ターミナル(Terminal.app など)から起動した場合、シェルの .zshrc が読まれない環境変数があり、NVM や asdf で管理している node のパスが見つからないケースがあります。サーバーに必要な環境変数は、.mcp.json のそのサーバーの env に書くのが確実です。

{
  "mcpServers": {
    "my-server": {
      "command": "/Users/me/.nvm/versions/node/v22.0.0/bin/npx",
      "args": ["-y", "my-mcp-server"],
      "env": {
        "PATH": "/usr/local/bin:/usr/bin:/bin",
        "API_KEY": "your-api-key-here"
      }
    }
  }
}

ステップ5: Windows 環境での注意

ネイティブ Windows で npx を使う MCP サーバーが起動しない場合は、cmd /c を挟むと起動できることがあります(現在の公式ドキュメントには記載のない回避策です。まずはステップ1〜4を確認してください)。

{
  "mcpServers": {
    "my-server": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "my-mcp-server"]
    }
  }
}

ステップ6: サブエージェントへのMCPツール継承

tools を省略したカスタムサブエージェントは、MCP ツールを含む使えるツールをすべて引き継ぎます(公式: サブエージェント)。ツール定義が多いほど会話枠を使うため、サブエージェントを多用する場合は tools で必要なツールに絞るか、用途外のMCPサーバーを /mcp から無効化してください。

MCP ツールが認識されない(エラーなし)

症状: エラーメッセージは出ないが、/mcp を実行しても期待したサーバーが表示されない、またはツールが Claude から見えない。

原因と対処:

  1. 設定ファイルの場所違い: .mcp.json が .claude/ の中にある、または settings.json に mcpServers を書いている。どちらも読まれません
  2. 未承認: プロジェクトのサーバーの承認画面を閉じてしまった。/mcp で状態を見て承認する
  3. 無効化: /mcp で以前に無効にしたサーバーは ⊘ Disabled for this project と表示される。/mcp から有効に戻す
  4. ツール数が0: 接続済みなのにツールが0件なら、/mcp で Reconnect を選ぶ。直らなければ claude --debug=mcp でサーバーの stderr を確認する
  5. API キーのプレースホルダ: YOUR_API_KEY のようなダミー値が残ったままになっていないか確認

予防策: MCP サーバーを追加する際は、claude mcp add コマンドを使うと設定ミスを減らせます。拡張が原因かどうかを切り分けたいときは、すべての拡張を外して起動する claude --safe-mode で同じ症状が出るかを比べます。

モデル選定・thinking budget エラー

モデル指定とExtended Thinkingの設定に関するエラーは、CLIアップグレード後や複数のClaude Code環境を切り替える運用で発生しがちです。

There's an issue with the selected model

エラーメッセージ: There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to pick a different model.

原因: 指定したモデルIDが認識されないか、現在のアカウントでアクセス権がありません。--model フラグ、ANTHROPIC_MODEL 環境変数、.claude/settings.local.json、プロジェクトの .claude/settings.json、~/.claude/settings.json のいずれかに古いIDが残っているケースが大半です。

解決手順:

/model              # 利用可能なモデルから選択
# 環境変数から古いIDを除去
unset ANTHROPIC_MODEL

エイリアス(sonnet / opus)を使うと最新版を自動追従できます(フルバージョンIDは更新後に陳腐化)。非対話モード(-p)では /model の代わりに --model で正しいエイリアスかIDを渡します。なお v2.1.206 より前は、更新できなくなったログインでもこのエラーが出ていました。古い版でこの表示が続くときは /login も試してください。

予防策: チームで利用する .claude/settings.json は「model: sonnet」のようにエイリアスで揃え、特定バージョンへのピン留めはCIなど明示的に必要な場面に限定します。

thinking.type.enabled is not supported for this model

エラーメッセージ: API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.

原因: 選んだモデルが求める最低バージョンより、Claude Code が古い状態です。古い版は、新しいモデルが受け付けない思考の設定(thinking.type.enabled)を送ってしまいます。公式エラーリファレンスが挙げる最低バージョンは、Opus 4.7 が v2.1.111、Opus 4.8 が v2.1.154、Sonnet 5 が v2.1.197、Opus 5 が v2.1.219、Opus 5.5 が v2.1.280、Sonnet 5.5 が v2.1.284 です(公式エラーリファレンス)。

解決手順:

claude update
# 更新後のバージョンを確認し、Claude Code を再起動
claude --version

更新できない環境では /model で Opus 4.6 または Sonnet 4.6 を選びます。Agent SDK で出た場合は、CLI ではなく SDK のパッケージを更新します。

同じくバージョンが古いことが原因の Claude Code X does not support this model; version Y or newer is required は、「does not support this model」の対処法で、更新しても直らない場合の確認点とあわせて解説しています。

Thinking budget exceeds output limit

エラーメッセージ: API Error: 400 ... max_tokens must be greater than thinking.budget_tokens

原因: 思考に使うトークンの予算が、応答の最大長以上になっていて、答えを書く余地が残っていません(公式エラーリファレンス)。

解決手順: 応答の最大長を思考の予算より大きくします。固定の予算を自分で設定している場合は、外すか下げます。

# 応答の最大長を思考の予算より大きくする(モデルごとの上限を超える値は上限に丸められる)
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000

# 固定の思考予算を設定している場合は外す
unset MAX_THINKING_TOKENS

予防策: Bedrock や Google Cloud 経由では、モデルごとの出力上限を確認した上で MAX_THINKING_TOKENS を設定してください。

Tool use or thinking block mismatch

エラーメッセージ:

API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.
API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks
API Error: 400 ... thinking blocks ... cannot be modified

原因: 会話履歴の tool_use / tool_result / thinking のブロック列が、API の期待する形と食い違いました。

解決手順:

  1. Opus 4.7 / Opus 4.8 を使っている場合は、先に claude update を実行する。v2.1.156 より前は通常の作業中にもこのエラーが起き、/rewind でも消えません
  2. /rewind を実行するか Esc キーを 2 回押して、壊れたターンより前のチェックポイントへ戻る
/rewind

詳細はCheckpointingを参照してください。

Usage Policy refusal

エラーメッセージ:

API Error: Opus 4.6 can't help with this. Start a new session to continue.
Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup

モデル名の部分は断ったモデルの名前(記録がなければ Claude)になります。v2.1.219 より前は Claude Code is unable to respond to this request, which appears to violate our Usage Policy で始まる表示でした(公式エラーリファレンス)。

原因: 会話全体の内容がAnthropic Usage Policyのチェックに抵触しました。直近のプロンプトだけでなく、会話履歴全体が評価されるため、新メッセージを送っても同じ refusal が再発します。

解決手順:

  1. Esc を2回押す または /rewind で、refusal を引き起こしたターンより前のチェックポイントへ戻る
  2. 別のアプローチで再質問
  3. --continue や --resume で同セッションを再開しても、ディスク上の履歴に refusal トリガーが残っているため再発する。どのターンが原因か分からなければ /clear で新しい会話を始める(前の会話は /resume から開ける)
  4. 非対話モード(-p)では巻き戻せないため、--continue を付けずに言い換えた新しいセッションで再実行する

予防策: 誤判定だと感じる場合は、表示に含まれる Request ID と Message ID をAnthropic サポートに伝えて確認を依頼してください。

エラーは出ていないのに「Claudeが雑になった」と感じる場合は、後述の「Claudeが雑になった」と感じたらで確認順を解説しています。

パフォーマンス・安定性のトラブル

以下の問題はエラーメッセージが表示されないケースです。症状から対処法を確認してください。

CPU/メモリ使用量が高い

症状: Claude Code のプロセスが CPU やメモリを大量に消費している

原因と対処:

  1. コンテキストの肥大化: /compact でコンテキストを圧縮
  2. 大規模ビルドディレクトリ: .gitignore に node_modules、dist、build などを追加
  3. 長時間セッション: 主要なタスク間で Claude Code を閉じて再起動。ヒープが 2.5GB を超えると警告が出るので、再起動して claude --continue で同じ会話に戻る
  4. 拡張が原因か切り分ける: claude --safe-mode で起動すると、プラグイン・MCP サーバー・フックなどをすべて外した状態で動きます。これで軽くなるなら、拡張のどれかが原因です

メモリ使用量が改善しない場合は、前述の /heapdump で JS ヒープとネイティブメモリのどちらが原因かを切り分けてください(出典: 公式トラブルシューティング)。

ハング・フリーズ

症状: Claude Code が応答しない、または極端に遅い

解決手順:

# 1. Ctrl+C で現在の操作をキャンセル
# 2. 応答しない場合はターミナルを閉じて再起動
# 3. セッションを再開(会話は失われない)
claude --resume

Worker クラッシュ(Worker started ログ多発)

症状: 動作中に応答が遅くなり、ターミナルに Worker started というログが何度も繰り返し出力される

原因の考え方: Worker started は Claude Code の公式エラーリファレンスにない表示です。Claude Code に追加したプラグインや MCP サーバーなど、拡張側が自分の作業プロセスを起動し直すたびに出すログであることが多く、繰り返し出るのは、その拡張が落ちては起動し直している状態と考えられます。

解決手順:

  1. claude --safe-mode で起動し、同じ作業で Worker started が出なくなるかを確かめる(すべての拡張を外して起動するモード)
  2. 出なくなれば、最近入れたプラグインや MCP サーバーを /plugin や /mcp から1つずつ無効にして、原因の拡張を特定する
  3. 特定できたら、その拡張を更新するか、提供元に報告する
  4. safe mode でも重い場合は、CPU/メモリ使用量が高いの手順と /heapdump で切り分ける

検索ツールがファイルを見つけられない / USE_BUILTIN_RIPGREP=0

症状: Search ツール、@file メンション、カスタムエージェントがファイルを見つけられない、または検索結果が不完全

原因: Claude Code に同梱の ripgrep がシステムで実行できない場合があります。公式は、その場合はシステムに ripgrep を入れてから USE_BUILTIN_RIPGREP=0 にするよう案内しています。システムに ripgrep が入っていない状態で 0 にすると検索が動かなくなるため、必ず先にインストールしてください。

解決手順:

# macOS
brew install ripgrep

# Ubuntu/Debian
sudo apt install ripgrep

# Alpine
apk add ripgrep

# Windows
winget install BurntSushi.ripgrep.MSVC

その後、USE_BUILTIN_RIPGREP を 0 にします。公式は、シェルの環境変数と settings.json の env のどちらで設定してもよいとしています(公式トラブルシューティング)。

{
  "env": {
    "USE_BUILTIN_RIPGREP": "0"
  }
}

切り替わったかは、シェルで claude doctor を実行し、Search の行が OK (bundled) ではなくシステムの ripgrep のパスになっているかで確認できます。

WSL でファイル検索が遅い・不完全

症状: WSL 環境で Search ツールがネイティブより少ない結果しか返さない、または極端に遅い

原因: WSL のクロスファイルシステム(Windows 側 /mnt/c/ ↔ Linux 側 /home/)にはディスク読み取りのペナルティがあり、これが検索速度に直結します。

解決手順:

  1. より具体的な検索: ディレクトリやファイルタイプを絞る(例: 「auth-service パッケージで JWT 検証ロジックを検索」)
  2. プロジェクトを Linux ファイルシステムに移動: /mnt/c/Users/me/project から /home/me/project へ移動
  3. ネイティブ Windows 版を使う: WSL ではなく Windows ネイティブの Claude Code を試す

Auto mode cannot determine the safety of an action

エラーメッセージ:

  • <model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now.
  • Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details

原因: auto mode で利用される分類モデルが、過負荷・応答不能・出力解析失敗のいずれかで判定を完了できませんでした。読み取り・検索・カレントディレクトリ内の編集は分類器をスキップするため動作を継続します。

解決手順:

  1. 数秒待って再試行
  2. claude --debug で再度同じアクションを実行し、デバッグログから分類モデルの応答を確認
  3. 設定変更は不要。一時的なものなので auto mode の利用条件は変えなくてよい

分類器が正常に判定したうえでブロックした場合(Denied by auto mode classifier と表示される場合)は、このエラーとは別物です。信頼先の登録や許可ルールの追加で対処します。手順はClaude Code auto モード完全ガイドを参照してください。

「Claudeが雑になった」と感じたら(thinking budget)

症状: エラーは出ないが、回答の品質が低下しているように感じる

公式は、原因はたいていモデルではなく会話の状態で、Claude Code が黙ってモデルの版を替えることはないとしています。例外として、--fallback-model を設定している場合、Amazon Bedrock や Google Cloud 経由で既定のモデルが使えないと分かった場合、一部のモデルの自動フォールバックでは別のモデルに切り替わります。--fallback-model と自動フォールバックでは会話に通知が出て、ほかの場合は /model で今のモデルを確認できます(公式エラーリファレンス)。

前提知識(2026年10月時点): 現在のモデルの多くは、考える深さを自分で決める「適応的な推論」で動きます。深さの調整は /effort で行い、1回だけ深く考えてほしいときはプロンプトに ultrathink を含めます。think や think hard はキーワードとしては扱われず、普通の文章として送られます(公式: モデル設定)。ultrathink は一時期なくなっていましたが、その後キーワードとして戻っています(CHANGELOG)。

チェックリスト:

  1. モデルを確認: /model を実行し、意図したモデルが選択されているか確認。ANTHROPIC_MODEL 環境変数が小さなモデルを指定していないか
  2. 推論の深さを確認: /effort で現在の水準を確認し、難しいデバッグや設計では引き上げる。既定値はモデルごとに違う
  3. MAX_THINKING_TOKENS を確認: 固定の思考予算を決める環境変数です。適応的な推論のモデルでは 0 以外の値は原則として無視されますが、0 にすると思考を止めます(Opus 5.5・Sonnet 5.5 など止められないモデルを除く)。意図せず設定していないか確認する
  4. コンテキスト圧力を確認: /context でコンテキストウィンドウの使用状況を確認。容量に近い場合は /compact を実行
  5. 古い指示や使っていない拡張: 大きすぎる CLAUDE.md や使っていない MCP サーバーは会話枠を使い、回答を引っ張ることがあります。/doctor の点検と /context の内訳で確認する
  6. 巻き戻し: 品質の低い回答が出た場合、修正で返信するより Esc キーを2回押して巻き戻す方が効果的
# 思考を止める設定が残っていないか確認
env | grep MAX_THINKING_TOKENS

# 意図しない設定なら外す
unset MAX_THINKING_TOKENS

確認しても改善しない場合は、/feedback で「期待した結果」と「実際の結果」を送ってください。会話の記録が添付されるため、本当に品質が落ちているかを Anthropic が調べられます。

IDE 統合のトラブル

IDE 統合のトラブルは、VS Code や JetBrains 拡張から Claude Code を呼び出す際のプロセス連携・環境変数継承・ネットワーク許可で発生します。多くは IDE 自体を再起動するか、拡張機能を最新版に保つことで解消します。

VS Code 拡張機能の応答なし問題

症状: Claude Code for VS Code に送ったプロンプトに返事がない、パネルが開かない、更新後に動かなくなった

VS Code 拡張には「再起動」というコマンドはありません。拡張 v2.1.286 のコマンド一覧(コマンドパレットで「Claude Code」と入力すると出る一覧)にあるのは、新しい会話を開く・ログを見る・拡張を更新する・ログアウトするといった操作で、再起動に当たるのは VS Code 本体の Developer: Reload Window です(公式: VS Code 拡張)。

解決手順:

  1. 新しい会話で試す: コマンドパレット(Cmd+Shift+P / Ctrl+Shift+P)で Claude Code: New Conversation または Claude Code: Open in New Tab を実行し、新しい会話でも返事がないかを見る(New Conversation のショートカットは、設定 enableNewConversationShortcut を有効にしたときだけ使えます)
  2. ログを見る: コマンドパレットで Claude Code: Show Logs を実行し、拡張のログにエラーが出ていないか確認する。Claude Code process exited with code 1 のような表示が出た場合は、表示に付く View output logs のリンクから本当の原因を読めます(公式エラーリファレンス)
  3. ウィンドウを再読み込みする: コマンドパレットで Developer: Reload Window を実行する(VS Code 本体のコマンド)。エディタのタブで開いていた会話はタブごと戻ります(サイドバーの会話は直近10分以内にやり取りがあった場合だけ戻り、戻らなければ会話履歴から再開)。v2.1.274 以降は、中断した作業も続きから再開されます(設定 continueAfterReload が有効なとき)
  4. ターミナルで同じ操作をする: 同じプロジェクトでターミナルから claude を起動すると、拡張では見えない詳しいエラーが表示されることが多い。表示文が出たら、この記事の逆引きインデックスで探す
  5. 拡張を最新にする: コマンドパレットで Claude Code: Update extension を実行するか、拡張機能ビュー(Cmd+Shift+X / Ctrl+Shift+X)で Claude Code を開いて更新する。インストールできない場合は VS Code 1.94.0 以降か確認する
  6. インターネット接続を確認する: 公式は、返事がないときの確認としてネット接続も挙げています

ここまでで直らない場合は、表示されたエラーを添えて GitHub Issues に報告します。

やりたいことコマンドパレットで実行するコマンド
新しい会話を開くClaude Code: New Conversation / Claude Code: Open in New Tab
拡張のログを見るClaude Code: Show Logs
拡張を最新にするClaude Code: Update extension(または拡張機能ビューで更新)
サインインし直すClaude Code: Logout の後、パネルでサインイン
ウィンドウを再読み込みするDeveloper: Reload Window(VS Code 本体)

予防策: VS Code 自体と Claude Code 拡張機能を最新バージョンに保ってください。IDE 拡張から Bedrock/Vertex/Foundry を利用する場合は、IDE のプロセスがシェル環境変数を継承していない可能性があるため、IDE 設定で明示的に環境変数を設定するか、ターミナルから IDE を起動します。

タブに Claude Code stopped responding in this tab と出た場合や、Desktop アプリやスマホ・Web に The bridged Claude Code process stopped responding mid-turn(日本語表示では「リモートコントロールが切断されました」)と出た場合の直し方は「stopped responding」の対処法で詳しく解説しています。

JetBrains プラグインの検出問題

症状: No available IDEs detected エラーが表示される

原因: /ide で接続先の IDE が見つかっていません。プラグインが無効、IDE の外のターミナルから claude を起動した、WSL2 の NAT ネットワークや Windows ファイアウォールが WSL2 と IDE の通信を止めている、のいずれかがよくある原因です(公式: JetBrains)。

解決手順:

  1. JetBrains IDE の設定でプラグインが入っていて有効かを確認し、IDE を完全に再起動する
  2. 自動で接続させたい場合は、IDE の内蔵ターミナルから claude を起動する
  3. WSL2 の場合は、管理者の PowerShell で WSL2 のサブネットからの通信を許可するファイアウォール規則を追加する(Windows 11 22H2 以降なら .wslconfig に networkingMode=mirrored を設定して wsl --shutdown で再起動する方法もある)
  4. リモート開発(JetBrains Remote Development)では、プラグインをリモートホスト側に入れる

ネットワーク・環境別トラブル

ネットワーク・環境別トラブルは、企業プロキシ・VPN・DNS・クラウドサンドボックスのいずれかが Claude Code の outbound 通信に干渉して発生します。インターネット接続自体が問題なく、別アプリの通信が成立している場合でも、Claude Code 固有のホスト・ヘッダー・証明書要件によりブロックされるケースが多いです。

Unable to connect to API

エラーメッセージ: Unable to connect to API. Check your internet connection。v2.1.227 以降は、失敗の種類ごとに次のような表示になり、括弧内にコードが付きます。

Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)
Can't reach the API server — check your internet or DNS (ENOTFOUND)
No internet route — check your connection or VPN (EHOSTUNREACH)
Couldn't connect through your proxy (ERR_PROXY_TUNNEL) — the proxy refused the tunnel: …
Connection dropped (ECONNRESET)
Request timed out. Check your internet connection and proxy settings

旧版では Unable to connect to API (ECONNREFUSED) のように表示されていました。

表示ごとの止まった場所と、実機で再現した表示の一覧は「Can't reach the API server」「Connection refused」の原因と対処で詳しく解説しています。

原因: インターネット接続の問題、VPN によるブロック、企業プロキシの設定不備、DNS不整合、Docker Desktop による通信の横取りなど多岐にわたります。

解決手順:

# API サーバーへの接続を確認
curl -I https://api.anthropic.com

# Windows PowerShell では curl.exe を明示
curl.exe -I https://api.anthropic.com

# 企業プロキシ環境の場合
export HTTPS_PROXY=http://proxy.example.com:8080
claude

curl は成功するが Claude Code は失敗する場合は、ローカル要因を確認します。

  • ANTHROPIC_BASE_URL の残骸: echo $ANTHROPIC_BASE_URL と設定ファイルの env を確認。もう動いていないプロキシやゲートウェイを指したままだと、Claude Code はそこへ送り続けます

  • Linux/WSL: /etc/resolv.conf に到達不能なネームサーバーが残っていないか。cat /etc/resolv.conf で確認

  • macOS: VPN クライアントを切断・アンインストールした後の utun インターフェース残骸。ifconfig | grep utun で確認、不要なら System Settings → ネットワーク → VPN拡張から削除

  • Docker Desktop: outbound traffic を傍受している可能性。Docker Desktop を一時停止して再試行

予防策: 企業環境では、IT 部門に Claude Code がアクセスするホストのホワイトリスト登録を依頼してください。ネットワーク設定の詳細も参照してください。

初回起動時に Unable to connect to Anthropic services と表示されて終了する場合(2行目が ECONNREFUSED・Status 403・timed out など)は、「Unable to connect to Anthropic services」の対処法で2行目の読み分け方を解説しています。

SSL 証明書エラー(企業環境)

エラーメッセージ: Unable to connect to API: SSL certificate verification failed (UNABLE_TO_GET_ISSUER_CERT_LOCALLY) や Self-signed certificate detected (SELF_SIGNED_CERT_IN_CHAIN)(v2.1.273 より前は末尾が Check your proxy or corporate SSL certificates)。/login や起動時の接続確認では SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY) と表示されます。

原因: 企業のプロキシやセキュリティアプライアンスが TLS 通信をインターセプトしており、その証明書を Claude Code が信頼していません。証明書の検証失敗は v2.1.199 以降、再試行せず最初の1回で表示されます。インストール時の TLS/SSL エラーについては「インストール・セットアップ系エラー」セクションの TLS/SSL エラーも参照してください。

解決手順:

現在の Claude Code は、同梱の CA 証明書に加えて OS の証明書ストアも既定で信頼します(CLAUDE_CODE_CERT_STORE の既定は bundled,system)。社内のルート証明書が OS に入っていれば、多くの場合は追加の設定なしで通ります。OS のストアを読むには、ネイティブインストーラー版か、npm 版なら Node.js 22.15 以降が必要です(公式: ネットワーク設定)。

  1. 情報システム部門に、社内のルート証明書が OS の証明書ストアに入っているか確認する
  2. OS に入れられない場合や、古い Node.js の npm 版を使っている場合は、CA バンドルを指定する
# 企業の CA 証明書を明示的に追加する
export NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem

NODE_TLS_REJECT_UNAUTHORIZED=0 は証明書検証を完全に無効にするため、絶対に設定しないでください。中間者攻撃(MITM)に対し無防備になり、API キーや会話内容が傍受されるリスクがあります。

CA バンドルの書き出し方や、設定したのに直らないときの確認点は「SSL certificate verification failed」の対処法で詳しく解説しています。

Host not allowed in a cloud session

エラーメッセージ:

HTTP 403
x-deny-reason: host_not_allowed

原因: Claude Code on the Web や Routines の cloud session は、サンドボックス環境で動作しており、outbound 通信が Default 環境の許可ドメイン(パッケージレジストリ・主要クラウドプロバイダAPI等)に限定されています。これ以外のドメインにアクセスするとブロックされます。

解決手順:

  1. Routine を編集画面で開く、または cloud session を起動
  2. 環境名(例: Default)のクラウドアイコン → 設定アイコン
  3. Update cloud environment ダイアログで Network access を Trusted から Custom に変更
  4. Allowed domains にアクセスしたいドメインを1行ずつ追加
  5. 既定の許可リストも残す場合は「Also include default list of common package managers」にチェックを入れて保存
  6. 全許可が必要なら Full を選択

予防策: Routine ごとに必要なドメインを最小限で明示するのがセキュリティ上望ましいです。詳細はClaude Code on the Web の Network access。

Bedrock / Vertex AI / Foundry 経由運用の注意点

クラウド経由で Claude Code を利用する場合、ネットワーク・認証・モデル可用性の3点で独自のエラーが発生しやすくなります。

Google の Vertex AI は、公式ドキュメントでは現在「Google Cloud's Agent Platform」と呼ばれています。本記事では検索されやすい Vertex AI の名前を併記します。

項目BedrockVertex AI(Agent Platform)Foundry
有効にする環境変数CLAUDE_CODE_USE_BEDROCK=1CLAUDE_CODE_USE_VERTEX=1CLAUDE_CODE_USE_FOUNDRY=1
認証の確認aws sts get-caller-identitygcloud auth application-default loginaz login(または API キー)
あわせて設定する主な変数AWS_REGION 等ANTHROPIC_VERTEX_PROJECT_ID / CLOUD_ML_REGIONANTHROPIC_FOUNDRY_RESOURCE(API キー認証なら ANTHROPIC_FOUNDRY_API_KEY も)
モデル可用性リージョン別、ARN指定リージョン別、Endpoint指定デプロイ単位
429 の発生源Bedrock サービスクォータVertex AI APIクォータFoundry レート制限
ステータスページAWS Health DashboardGCP StatusAzure Status

トラブル時のチェック手順は次の通りです。

  1. 認証コマンドが成功するか: 上記表の認証確認コマンドを実行

  2. 環境変数が現在のシェルにあるか: 次のコマンドで、有効にする変数と接続先の変数が入っているかを確認

    env | grep -E 'CLAUDE_CODE_USE_|ANTHROPIC_VERTEX|ANTHROPIC_FOUNDRY'
    
  3. モデル名・リージョンが正しいか: /model で利用可能なモデル、プロバイダーコンソールでリージョン × モデルの組み合わせ

  4. IDE 拡張機能の場合: ターミナルから IDE を起動するか、IDE 設定でプロバイダー環境変数を明示

詳細はAmazon Bedrock、Google Vertex AI、Microsoft Foundryの各セットアップガイドを参照してください。

Claude Code 環境変数リファレンス

Claude Code の挙動はいくつかの環境変数で制御できます。本記事で扱った主な変数16項目を、公式の環境変数リファレンスの既定値とあわせてまとめます。

環境変数デフォルト用途関連エラー / セクション
ANTHROPIC_API_KEY-API キー認証Invalid API key / organization disabled
ANTHROPIC_MODEL-既定モデルの指定model not found / thinking budget
ANTHROPIC_BASE_URL-LLM gateway / リレーサーバーAPI 接続不可
ANTHROPIC_CUSTOM_HEADERS-リクエストに足すヘッダー(Name: Value 形式、v2.1.227 以降)企業ネットワーク
MAX_THINKING_TOKENS-思考の固定予算(適応的な推論のモデルでは原則無視、0 で思考を止める)thinking budget / thinking budget exceeds
USE_BUILTIN_RIPGREP-0 で同梱ではなくシステムの ripgrep を使うripgrep
NODE_EXTRA_CA_CERTS-企業 CA 証明書の追加TLS/SSL / SSL(実行時)
DISABLE_AUTO_COMPACT-1 で自動コンパクトを止める(手動の /compact は使える)Prompt too long
HTTPS_PROXY / HTTP_PROXY-プロキシ経由の通信API 接続不可
CLAUDE_CODE_MAX_RETRIES10自動リトライ回数(上限15。CLAUDE_CODE_RETRY_WATCHDOG を設定すると上限が外れる)Server limit / 529
API_TIMEOUT_MS600000リクエストタイムアウト (ms)Request timed out
CLAUDE_CODE_MAX_OUTPUT_TOKENS-出力トークン上限thinking budget exceeds
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY10読み取り系ツールとサブエージェントの同時実行数API 429
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS-ベータ機能を停止(gateway互換性)Extra inputs
CLAUDE_CODE_GIT_BASH_PATH-Windows での Git Bash パスGit for Windows
BROWSER-WSL/SSH での OAuth ブラウザWSL OAuth

設定方法:

# シェル rc ファイルに永続化する例(企業 CA 証明書を指定)
echo 'export NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem' >> ~/.zshrc
source ~/.zshrc

~/.claude/settings.json の env セクションにも書けます。シェルの外から起動される IDE 拡張でも同じ値を使いたい場合は、settings.json の方が確実です。

再発防止チェックリスト

エラーを解決した後、同じ問題を二度と踏まないための運用上の対策です。

環境変数の永続化(シェル rc)

# 必要な環境変数を ~/.zshrc または ~/.bashrc に書き込む
cat <<'EOF' >> ~/.zshrc
# Claude Code 環境設定(企業環境向け)
export NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem
export HTTPS_PROXY=http://proxy.example.com:8080
# システムに ripgrep を入れた場合だけ(入れていないと検索が動かなくなります)
# export USE_BUILTIN_RIPGREP=0
# ANTHROPIC_API_KEY を unset しておくとサブスクリプション優先
unset ANTHROPIC_API_KEY
EOF
source ~/.zshrc

APIキーの安全な扱い(重要)

ANTHROPIC_API_KEY を ~/.zshrc ~/.bashrc .env などに平文で書き込むのは避けてください。dotfiles を Git 管理している場合は GitHub 公開リポジトリに流出する事故、自動バックアップやチャットでのスクリーンショットでの露出、退職後の端末返却時の漏洩など、現実的なリスクが多数あります。代わりに次のいずれかを使います。

# 推奨1: apiKeyHelper にスクリプトを指定(~/.claude/settings.json)
# {
#   "apiKeyHelper": "/usr/local/bin/get-anthropic-key.sh"
# }

# 推奨2: macOS Keychain から取得
ANTHROPIC_KEY="$(security find-generic-password -s anthropic-api -w)"
export ANTHROPIC_API_KEY="$ANTHROPIC_KEY"

# 推奨3: 1Password CLI などのシークレットマネージャ経由
ANTHROPIC_KEY="$(op read 'op://Private/Anthropic API/credential')"
export ANTHROPIC_API_KEY="$ANTHROPIC_KEY"
unset ANTHROPIC_KEY

API キーを誤って Git にコミットしてしまった場合は、まずConsoleでキーを直ちに失効させ、その後 git 履歴の改ざんを行います。失効を先に行わないと、履歴上のキーで第三者に課金される可能性があります。

複数インストール混在の検出

# macOS/Linux
which -a claude
ls -la ~/.local/bin/claude
ls -la ~/.claude/local/      # 旧npm local install
npm -g ls @anthropic-ai/claude-code 2>/dev/null

# Windows PowerShell
where.exe claude
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

旧 npm global / 旧 npm local / Homebrew / WinGet が同時に入っている場合は、ネイティブインストーラー版(~/.local/bin/claude または %USERPROFILE%\.local\bin\claude.exe)以外を削除します。

定期メンテナンス(週次/月次)

頻度アクションコマンド
Claude Code を更新した後設定と拡張の点検/doctor
セッション中コンテキストが大きくなったら圧縮/compact
セッション中使用量を確認/cost / /usage
タスク切り替え時Claude Code を再起動ターミナル再起動
週次Claude Code をアップデートclaude update
週次認証状態を確認/status
月次CLAUDE.md の肥大化を確認wc -c CLAUDE.md
月次使っていない拡張を整理/doctor の提案を確認
問題発生時自己診断+詳細ログ/doctor → claude --debug=mcp → /heapdump

ログ自動収集スクリプト例

問題報告時にすぐ提出できる「現状スナップショット」を作成するスクリプト例です。環境変数は値を伏せ、変数名だけを残します。デバッグログには会話の一部が含まれることがあるため、外部へ渡す前に中身を確認してください。

#!/usr/bin/env bash
set -euo pipefail
OUT=~/Desktop/claude-code-diagnostics-$(date +%Y%m%d-%H%M%S)
mkdir -p "$OUT"

claude --version > "$OUT/version.txt" 2>&1 || true
claude doctor > "$OUT/doctor.txt" 2>&1 || true
# 値は伏せて、どの変数が設定されているかだけを残す(API キーを書き出さない)
env | grep -E '^(ANTHROPIC_|CLAUDE_|NODE_|HTTPS_PROXY|HTTP_PROXY|USE_BUILTIN_RIPGREP|MAX_THINKING_TOKENS)' \
  | sed -E 's/=.*/=<set>/' > "$OUT/env.txt"
# 直近のデバッグログ(claude --debug で起動したセッション)
ls -t ~/.claude/debug/*.txt 2>/dev/null | head -1 | xargs -I{} cp {} "$OUT/" || true

echo "Diagnostics saved to: $OUT"

組織で Claude Code を導入するときの相談先

1人で使っているなら、ここまでの手順でほとんどのエラーは自分で直せます。一方、組織で導入すると、同じエラーが何十人分も同時に起きます。初日に全員が Your organization has disabled Claude subscription access に当たる、社内プロキシで全員が SSL certificate verification failed になる、古い ANTHROPIC_API_KEY が配られた端末に残る、といった形です。これらは個人の操作ではなく、組織の設定と配布手順で防ぐものです。

状況相談をおすすめするか
10人以上で導入し、組織の許可設定・ロール・Routines の方針を決めたい相談をおすすめします
社内プロキシや TLS 検査があり、CA 証明書や許可するホストを全員に配りたい相談をおすすめします
社内の MCP サーバーや Bedrock / Google Cloud 経由の運用を設計したい相談をおすすめします
個人や数人で使っていて、エラーが1つだけ出ているまだ早いです。この記事の該当セクションと個別ページで直せます

koromo では、Claude Code の利用ルールと権限の設計(AIガバナンス構築)、全社展開の前の小規模な検証(PoC設計・実行)、社内向けの使い方研修(AI人材育成支援)を支援しています。組織導入の進め方はエンタープライズ規模での Claude Code 導入にまとめています。具体的に相談したい場合は、お問い合わせの「ご相談内容」で「AI戦略・CAIO代行」(社内向けツールの開発も含む場合は「プロダクト開発」)を選び、人数・利用環境(プロキシの有無、Bedrock などの経由先)・出ているエラーを書いてお送りください。

トラブルシューティングのベストプラクティス

日常的なメンテナンス習慣を身につけることで、エラー発生を予防し、発生時にも素早く対処できます。

公式サポートリソース

リソース用途アクセス方法
サービス稼働状況障害発生時の確認status.claude.com
エラーリファレンス公式の全エラー一覧code.claude.com/docs/en/errors
インストールトラブルインストール全エラーcode.claude.com/docs/en/troubleshoot-install
フィードバック送信バグ報告・機能要望/feedback
アカウント・請求の問題サブスクリプションや請求の問い合わせclaude.ai で左下のイニシャル → Get help
既知の問題同じ問題の確認・報告GitHub Issues
公式ドキュメント最新の仕様確認code.claude.com/docs

よくある質問

まとめ

Claude Code のエラーは、表示文の書き出しで原因の系統を絞れます。認証なら /login と /status、使用量なら /usage、接続ならプロキシと証明書、会話の長さなら /compact、インストールなら claude doctor が最初の一手です。

  1. 逆引きインデックス で表示文を探す
  2. 見つからなければ /doctor(起動しないときは claude doctor)で切り分ける
  3. それでも解決しない場合は、claude --debug のログや /heapdump で詳細を確認する

表示文はバージョンごとに少しずつ変わっています。最近の版だけでも、接続エラーが失敗の種類ごとの表示に分かれ(v2.1.227)、証明書エラーに原因のコードが付き(v2.1.273)、アカウントの保留が Login expired と区別されるようになりました(v2.1.235)。古い表示のままなら、まず claude update で更新してから同じ手順を試してください。

本記事で紹介した対処法で解決しない場合は、status.claude.com で障害情報を確認し、/feedback コマンドで Anthropic に直接報告してください。

Claude Code の活用をさらに深めたい方は、Claude Code完全ガイド で基本的な使い方から応用テクニックまで体系的に学べます。組織での導入方針や利用ルールづくりを相談したい方は、koromo のAI戦略・ガバナンス支援もご覧ください。

この記事に合う資料

関連記事

資料で全体をつかんでから、御社の場合をご相談ください

  • 研修・稟議・外注の準備に使える資料を無料で
  • 見積書の確認は、登録なしで診断できます
  • 相談は 30 分無料。代表が直接お返事します
  • 要件が決まっていなくても大丈夫です