command not found や TLS エラーなどのインストールエラーについては、インストールとログインのトラブルシューティングを参照してください。
ラッパーと IDE エラーは Claude Code 自体ではなく起動元のプログラムが出力するものですが、これを除き、これらのエラーと復旧コマンドは CLI、Desktop アプリ、およびクラウドセッション全体に適用されます。これら 3 つはすべて同じ Claude Code CLI をラップしているためです。その他のサーフェス固有の問題については、そのサーフェスのページのトラブルシューティングセクションを参照してください。
Claude Code は Claude API を呼び出してモデルレスポンスを取得するため、ほとんどのランタイムエラーは基盤となる API エラーコードにマップされます。このページでは、Claude Code 内での各エラーの意味と復旧方法について説明しています。生の HTTP ステータスコード定義については、Claude Platform エラーリファレンスを参照してください。
エラーを見つける
以下のセクションに表示されるメッセージを照合してください。自動再試行
Claude Code は、一時的な障害に対して指数バックオフを使用して最大 10 回まで再試行してから、エラーを表示します。Claude の応答の途中で発生した障害については、常に再試行するとは限りません。このページに記載されているエラーのいずれかが表示された時点で、Claude Code はその障害に該当する再試行をすでに行っています。 Claude Code は次の障害を再試行します。- Claude の応答がまったくストリーミングされていない段階で発生したサーバーエラー、過負荷レスポンス、リクエストタイムアウト。
- Claude が思考を終えた後、テキストやツール呼び出しを開始する前に発生したサーバーエラーまたは過負荷レスポンス。その時点でのサーバーエラーについて、Claude Code は最大 2 回まで再試行します。v2.1.284 より前は、Claude Code はその時点でエラーとともにターンを終了していました。
- 切断された接続。Claude が思考を含む応答のいずれの部分も完了する前にリクエストの途中で接続が切断された場合、Claude Code は同じバックオフでリクエストを再発行し、一部のテキストがすでにストリーミングを開始していてもターンは継続します。Claude が思考を終えた後、テキストやツール呼び出しを開始する前に切断された場合は、代わりに Claude Code は短い間隔で最大 2 回までリクエストを再発行し、その時点で接続の切断が続く場合は
Connection lost before a response was producedでターンを終了します。 - リクエストの途中でコンピューターがスリープ状態になったことで切断されたと Claude Code が検出した接続。Claude Code はこれを上記のルールに従い切断された接続として扱います。再試行ラベルが具体的な理由を示すようになると
Connection lost while your computer was asleepと表示され、Claude が思考を終えた後、テキストやツール呼び出しの前にターンが終了した場合、メッセージはYour computer went to sleep before a response was producedとなります。 - 停止した応答ストリーム。レスポンスヘッダーは届いたものの Claude の応答がまったく届いていない場合、または Claude が思考を終えたもののテキストやツール呼び出しを開始していない場合です。Claude Code は停止した接続を中断し、最大 1 回だけリクエストを再度ストリーミングします。Claude が思考を終えた後、テキストやツール呼び出しの前に応答が 2 回目に停止した場合、Claude Code は
The response stalled before a response was producedでターンを終了します。 - ファーストバイトの期限が適用される接続で、API がレスポンスヘッダーを返さないストリーミングリクエスト。Claude Code は期限の時点でそれを中断し、再試行回数の範囲内で、モデルリクエストごとに最大 1 回だけ再送信します。その試行にも応答がない場合は、No response from API でターンを終了します。その他の接続では、リクエストは
API_TIMEOUT_MSまで待機します。CLAUDE_CODE_RETRY_WATCHDOGを設定している場合、1 回の再試行という上限は適用されません。 - Claude が思考を終えるか、テキストやツール呼び出しを開始する前に、API の出力コンテンツフィルターによって停止されたストリーミングレスポンス。Claude Code は再試行回数の範囲内でリクエストを 1 回再送信し、フィルターが 2 回目の応答も停止した場合は Output blocked by content filtering policy を表示します。
- 一時的な 429 スロットリング。ただし、ゲートウェイの支出上限による
429はスロットリングではないため含まれません。Spend limit reached を参照してください。- claude.ai サブスクリプションでサインインしている場合、これにはプランのクォータヘッダーを含まない 429 スロットリングも含まれます。v2.1.199 より前は、Claude Code がこれらのスロットリングを再試行するのは API キーおよび Enterprise でのサインインの場合のみでした。
- 入力と
max_tokensの合計がコンテキスト制限を超えたために拒否されたリクエスト。変更せずに再送信しても同じように失敗するため、Claude Code はmax_tokensを減らして再試行します。ただし、次の 2 つのケースでは、再試行を停止し、代わりにコンパクト化を行います。- どれだけ減らしても収まらない場合。たとえば、会話自体がコンテキストウィンドウをほぼ埋めている場合です。
- 再試行で
max_tokensをそれ以上縮小できない場合。v2.1.218 より前は、拡張思考のバジェットが残りのコンテキストを超えている場合など、依然として収まらない縮小済みのリクエストを、再試行回数を使い切るまで再送信することがありました。
- Google Cloud の Agent Platform で期限切れまたは欠落している Google Cloud 認証情報、またはマシン上で読み込みに失敗した AWS 認証情報。Claude Code はキャッシュされた認証情報を破棄して最大 2 回まで再試行し、その後 Could not load AWS or Google Cloud credentials で説明しているように、すぐに再認証できるようエラーを報告します。v2.1.228 より前は、Claude Code は失敗した Google Cloud 認証情報について、再試行回数をすべて使い切るまで再試行してからエラーを表示していました。
apiKeyHelperスクリプトが認証情報を提供している間に、Anthropic API から直接、または LLM ゲートウェイ経由で返された401または403。Claude Code はスクリプトを再実行し、その新しい出力を使用して、再試行回数の範囲内で再試行します。再実行時にスクリプト自体が失敗した場合、Claude Code は代わりに Your apiKeyHelper script is failing を表示します。
Connection lost before a response was produced は Connection closed while thinking, before producing a response、The response stalled before a response was produced は Response stalled while thinking, before producing a response と表示されていました。
Claude Code は次の障害を再試行しません。
- TLS を検査するプロキシ、
NODE_EXTRA_CA_CERTSバンドルの欠落、期限切れの証明書などによる TLS 証明書の検証失敗。Claude Code は最初の試行でエラーを報告するため、すぐに証明書の設定を修正できます。SSL certificate errors を参照してください。ハンドシェイクのタイムアウトなど、一時的な TLS の状態については引き続き再試行します。v2.1.199 より前は、Claude Code は証明書の失敗について、再試行回数をすべて使い切るまで再試行してからエラーを表示していました。 - Claude がテキストのブロックまたはツール呼び出しを完了した後、または思考を終えた後にそれらを開始した後、応答を終える前に発生したサーバーエラー、切断された接続、または停止したストリーム。同じツール呼び出しが 2 回実行される可能性があるため、Claude Code はリクエストを再実行しません。Claude が完了した内容を保持し、Claude が完了したツール呼び出しを実行して、その結果からターンを継続します。対話型セッションおよび非対話型セッションで表示される内容については、The response above may be incomplete を参照してください。v2.1.199 より前は、ストリームの途中でサーバーエラーが発生すると、Claude Code は部分的な出力を破棄し、ターン全体をエラーとして報告していました。
- Claude が応答を終えた後に発生した障害。再試行する必要があるものはないため、Claude Code は完全な応答を保持し、ターンを通常どおり終了します。
- 予期しない content-type を持つ Amazon Bedrock のストリーミングレスポンス。レスポンスを書き換えているゲートウェイやプロキシは、再試行も同じように書き換えるためです。Claude Code v2.1.208 以降が必要です。
- 失敗したストリーミングリクエストの非ストリーミング再試行で、成功ステータスが返されたものの本文に Claude API メッセージが含まれていないもの。Claude Code はそのエラーでターンを終了します。
- 組織のポリシーチェックによって拒否されたリクエスト。これは拒否メッセージを含む
API Error:の行として表示されます。組織の管理者は Claude Enterprise の機能である Inference hooks を使用してこのチェックを設定しており、メッセージの末尾には管理者が設定した指示が表示されるか、デフォルトでは管理者に連絡するよう案内が表示されます。拒否はモデルではなくリクエストの内容に関するものであるため、Claude Code は拒否されたリクエストを同じモデルにもフォールバックモデルにも再送信しません。v2.1.239 より前は、Claude Code は拒否を表示する前に、ストリーミングなしで、または設定されたフォールバックモデルで、拒否されたリクエストを再送信することがありました。
Claude Code が再試行または待機している間に表示される内容
再試行中、スピナーにはエラーラベルの後にRetrying in Ns · attempt x/y のカウントダウンが表示されます。ネットワークがダウンしている、TLS ハンドシェイクが失敗した、レート制限に達したなど、すぐに対処できる障害については、ラベルは最初の試行から具体的な理由を示します。その他のエラーでは、最初は API error と表示されます。v2.1.198 以降では、3 回目の試行から、または CLAUDE_CODE_MAX_RETRIES で 3 回未満しか許可されていない場合は最後の試行で、具体的な理由に切り替わります。それ以前のバージョンでは、最後の試行でのみ切り替わります。
v2.1.198 以降では、再試行中は通常のスピナーのヒントが表示されません。エラーの理由が表示された後、障害が 529 の過負荷である場合は、カウントダウンの下の行にサービスステータスを確認できる場所も表示されます。Anthropic API では status.claude.com、その他の構成ではメッセージに示されたプロバイダーまたはゲートウェイのホストです。
リクエストがまだ保留中の間に、レスポンスストリームに 20 秒間データが届かない場合、再試行が開始される前にスピナーに Waiting for API response · will retry in … · check your network と表示されます。リクエストはまだ失敗していません。カウントダウンは、Claude Code が停止した接続を中断する時点までのものです。中断後に表示される内容は、応答がどこまで進んでいたかによって異なります。
- Claude がテキストのブロックまたはツール呼び出しを完了する前、または思考を終えた後にそれらを開始する前の場合、Claude Code はリクエストを再試行するか、エラーでターンを終了します。どの停止を何回再試行するかについては、自動再試行を参照してください。
- Claude がテキストのブロックまたはツール呼び出しを完了した後、または思考を終えた後にそれらを開始した後で、Claude が応答を終える前の場合、Claude Code は Claude が完了した内容を保持し、Claude が完了したツール呼び出しからターンを継続して、The response above may be incomplete を表示します。非対話型セッション、およびすべてのセッションにおけるサブエージェントの応答では、Claude Code は最初に Claude に応答を続けるよう促す場合があります。それがいつ行われるか、またその場合でも通知が表示されるのはいつかについては、そのエントリを参照してください。
- Claude が応答を終えた後の場合、Claude Code はターンを通常どおり終了します。
再試行の動作を調整する
次の環境変数を使用して、再試行の動作を調整できます。サーバーエラー
これらのエラーのほとんどは推論プロバイダーから発生します。Anthropic API 上の Anthropic のサービス、および Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、またはカスタムゲートウェイの背後にあるプロバイダーのエンドポイントのサービスです。Auto mode cannot determine the safety of an action と Agent terminated early due to an API error は、Amazon Bedrock アカウントが分類器モデルを呼び出せない、またはサブエージェントが使用制限に達したなど、ユーザー側の原因もカバーしています。API Error: 500 Internal server error
Claude Code は、5xx レスポンスに対して、ステータスコードと API のエラーメッセージを表示します。以下の例は、Anthropic API での 500 レスポンスを示しています。ANTHROPIC_BASE_URL はゲートウェイホストを示します。
API 自体から返される 5xx は、API 内部の予期しない障害を示しています。これはプロンプト、設定、またはアカウントが原因ではありません。
プロキシ、ロードバランサー、またはゲートウェイが HTML エラーページで応答する場合、メッセージはステータスコードとページのタイトル(API Error: 502 Bad Gateway など)を表示します。タイトルのないページの場合、メッセージはステータスコードとその標準名を代わりに表示します。v2.1.281 より前では、ページにタイトルがある場合はステータスコードが削除され、タイトルがない場合はページの生のマークアップが出力されていました。
対応方法:
- status.claude.com またはメッセージに示されているプロバイダーのステータスページで、アクティブなインシデントを確認してください
- 1 分待ってから、メッセージを再度送信してください。元のメッセージはまだ会話に残っているため、長いプロンプトの場合は、全体を貼り付ける代わりに
try againと入力できます。 - エラーが投稿されたインシデントなしで続く場合は、
/feedbackを実行して、Anthropic がリクエストの詳細で調査できるようにしてください。環境で/feedbackが利用できない場合は、Report an error を参照してください。
API Error: Repeated 529 Overloaded errors
API は全ユーザー間で一時的に容量に達しています。Claude Code はこのメッセージを表示する前に既に数回再試行しています。- status.claude.com またはメッセージに示されているプロバイダーのステータスページで、容量に関する通知を確認してください
- 数分後に再度試してください
-
/modelを実行して別のモデルに切り替えて、作業を続けてください。容量はモデルごとに追跡されるためです。Claude Code は、1 つのモデルが特に高い負荷を受けている場合、これを行うよう促します。例えばOpus is experiencing high load, please use /model to switch to Sonnetのようなメッセージが表示されます。Fable モデルでは、メッセージは Fable を示します。 Claude Desktop アプリが実行するセッション(Code タブや Cowork など)では、メッセージはOpus is experiencing high load. Switch to Sonnet.と読まれ、アプリのモデルピッカーでモデルを切り替えます。
Request timed out
API は接続期限前に応答しませんでした。- リクエストを再試行してください
- 遅いネットワークまたはプロキシが原因の場合は、Automatic retries で説明されているように
API_TIMEOUT_MSを上げてください - タイムアウトが頻繁で、ネットワークが正常な場合は、以下の Network and connection errors を参照してください
No response from API
Claude Code はストリーミングリクエストを送信し、API は最初のバイトの期限内に応答ヘッダーを返さなかったため、Claude Code は完全なAPI_TIMEOUT_MS リクエストタイムアウト(デフォルトは 10 分)を待つ代わりにリクエストを中止しました。Claude Code は retry budget が許可する場合、最大 1 回リクエストを再度送信します。再試行も応答がない場合、ターンはこのメッセージで終了し、各試行が待機した時間を示します。CLAUDE_CODE_RETRY_WATCHDOG を設定すると、1 回の再試行の上限は適用されず、Claude Code は Tune retry behavior で説明されているバジェット下で再試行します。
- 最初の試行:
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MSを 1 以上に設定した場合、10 秒から 30 分の間にクランプされます。それ以外の場合、Claude Code は Streaming idle watchdogs に記載されているバイトレベルのウォッチドッグタイムアウトを使用するため、そのタイムアウトを変更する変数はこの待機も変更します。どちらの場合でも、Claude Code はリクエストボディの 32KB ごとに 1 秒を追加します。 - 再試行:
API_TIMEOUT_MSより 1 秒少ない、デフォルトではほぼ 10 分。これにより、再試行は応答を生成完了まで保持するプロキシまたはゲートウェイを上回ることができます。Amazon Bedrock では、再試行は最初の試行と同じ期限を使用し、メッセージは 2 つの期間ではなく 1 つの期間を示します。
API_TIMEOUT_MS より 1 秒少ない値を超えず、11 秒未満の正の API_TIMEOUT_MS は期限をオフにします。バイトレベルのウォッチドッグは応答ヘッダーが到着した後にのみ開始されるため、その後バイト送信を停止するレスポンスは、この期限ではなく stalled-stream rules に従います。
対応方法:
- メッセージを再度送信してください。元のメッセージはまだ会話に残っているため、長いプロンプトの場合は、全体を貼り付ける代わりに
try againと入力できます。 - 繰り返される場合は、ネットワークまたはプロキシの問題 として扱ってください。
- ネットワーク上のプロキシまたはゲートウェイが応答を生成完了まで保持する場合は、
API_TIMEOUT_MSを上げて再試行がより長く待機するようにしてください。Amazon Bedrock では、CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MSも上げてください。 - 最初の試行がタイムアウトし続け、再試行が成功する場合は、
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MSを上げて最初の試行も十分に長く待機するようにしてください。
API_TIMEOUT_MS リクエストタイムアウト(デフォルトは 10 分)を待機していました。v2.1.261 より前では、再試行は最初の試行と同じ期限を待機し、メッセージは期間を示していませんでした。
The response above may be incomplete
ストリーミングリクエストがレスポンスの進行中に失敗しました。Claude がテキストのブロックまたはツール呼び出しを完了した後、または思考を終了した後に 1 つを開始した後です。リクエストを再送信すると、同じツール呼び出しが 2 回実行される可能性があるため、Claude Code は Claude が完了した出力を保持し、ターンを破棄する代わりにこの通知を追加します。表示されるバリアントは原因を示します。Server error mid-response: ストリーム中のオーバーロードまたは 5xx サーバーエラー。このバリアントには Claude Code v2.1.199 以降が必要です。それ以前は、その場合は部分的な出力を破棄し、ターン全体をエラーとして報告していました。Connection lost mid-response: 接続が切断されました。プロキシまたはゲートウェイがレスポンスボディをレスポンスが完了する前にクリーンに終了する場合にも、このバリアントが表示されます。Your computer went to sleep mid-response: Claude Code は、レスポンスがストリーミング中にコンピューターがスリープ状態になったことを検出しました。コンピューターが起動すると、Claude Code は接続を破損として扱い、読み取りを停止します。Part of the response never arrived: ストリームイベントが API と Claude Code の間でドロップされたため、後のイベントが到着しなかったコンテンツを参照していました。v2.1.281 より前では、このケースはAPI Error: Content block not foundでターンを終了していました。The response stream was malformed: 既に完了していたコンテンツブロックのイベントが到着しました。または、イベントが破損した状態で到着しました。破損したイベントとは、データが有効な JSON ではない、コンテンツが欠落している、またはコンテンツがイベントのタイプと一致しないイベントです。v2.1.284 より前では、Claude が思考、テキストのブロック、またはツール呼び出しを完了した後に無効な JSON を持つイベントが到着した場合、パーサーの生のエラー(API Error: JSON Parse errorで始まるものなど)が代わりに表示されていました。The response stopped arriving: 接続は開いたままでしたが、データの配信を停止したため、ストリーミングアイドルウォッチドッグがそれを中止しました。v2.1.222 より前では、Claude Code はANTHROPIC_BASE_URLまたはANTHROPIC_AWS_BASE_URLを通じて到達する ゲートウェイ 接続で、サーバーのキープアライブピングがまだ到着している間にもこの障害を報告することがありました。これは、そこでは解析された応答イベントのみをカウントしていたためです。アップグレードすると、これらのルートでの誤ったタイムアウトが発生しなくなります。ANTHROPIC_BEDROCK_BASE_URLなどのプロバイダーベース URL を通じて到達するゲートウェイは、バイトウォッチドッグでラップされていません。Streaming idle watchdogs を参照してください。
Connection lost mid-response は Connection closed mid-response と読まれ、The response stopped arriving は Response stalled mid-stream と読まれていました。
Claude がテキストまたはツール呼び出しを開始する前にドロップ、重複、または破損したストリームイベントが到着した場合、この通知は表示されません。
- Claude が思考のみを完了していた場合、Claude Code はリクエストを再発行します。再発行されたストリームが同じ方法で破損する場合、ターンは
Part of the response never arrived and no response was produced. Try again.またはThe response stream was malformed and no response was produced. Try again.で終了します。 - 何も完了していない場合、Claude Code はストリーミングなしでリクエストを再送信します。
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACKでそのフォールバックをオフにした場合、ターンはドロップされたイベントの場合はAPI Error: Content block not foundで、または重複したイベントの場合はAPI Error: Content block already closedで終了します。破損したイベントでフォールバックがオフの場合、ターンはAPI Error: Stream event unreadableまたはパーサーの生のエラーで終了します。
- レスポンスの前半で、Claude Code は障害を再試行するか、別のエラーでターンを終了します。Automatic retries を参照してください。
- これらの障害の 1 つが Claude がレスポンスを完了した後に到着した場合、Claude Code は完全なレスポンスを保持し、この通知なしでターンを正常に終了します。v2.1.222 より前では、Claude Code はレスポンスが完了した後に接続が切断またはストールした場合、この通知を表示し、レスポンスが完全であったにもかかわらずターンをエラーとして報告していました。
- 非対話セッション(
-p実行、Agent SDK 実行、または クラウドセッション など)では、途中で切れたレスポンスがメイン会話にあり、テキストを含むがツール呼び出しを含まない場合、continueを自分で送信する必要はありません。Claude Code は部分的な出力を保持し、Claude に停止した場所から続行するよう促します(最大 3 回連続)。この通知は、Claude Code がこれらの継続を使い果たした後にのみ、そのようなレスポンスに対して表示されます。v2.1.246 より前では、Claude Code は最初の途切れでこの通知とともに非対話ターンを終了していました。 - サブエージェントでは(セッションが対話かどうかに関わらず)、途中で切れたレスポンスがテキストを含むがツール呼び出しを含まない場合、Claude Code はサブエージェントに続行するよう促します。通知は、これらの継続が使い果たされた後にのみ、サブエージェントの最後のメッセージになります。v2.1.257 より前では、サブエージェントは最初の途切れでこの通知を表示していました。
- 対話セッションでは、画面に残っているレスポンスを読んでください。Claude Code はエラーの前に Claude が完了したすべてのブロックを保持しますが、ターンが終了するときに中断された最終ブロックを破棄するため、最終文またはツール呼び出しが欠落している可能性があります。
continueで返信して、Claude が最後に完了したブロックから再開するようにしてください。 - 非対話モード(
-p)では:- デフォルトのテキスト出力では、Claude Code は、ターンの前半から保持している最後に完了したテキストのブロックを出力し、その後このメッセージを出力します。何も保持していない場合、Claude Code はこのメッセージのみを出力します。例えば、Claude Code がターン中に会話をコンパクト化し、そのテキストをクリアした場合です。v2.1.219 より前では、Claude Code は
-pテキスト出力でこのメッセージのみを出力し、既に生成されたレスポンスを削除していました。 --output-format jsonまたはstream-jsonでは、Claude Code はこのメッセージをresultフィールドで報告します。- 接続が安定したら、ターンを続行するために、セッションを再開し、Continue conversations で説明されているように
continueを送信してください。
- デフォルトのテキスト出力では、Claude Code は、ターンの前半から保持している最後に完了したテキストのブロックを出力し、その後このメッセージを出力します。何も保持していない場合、Claude Code はこのメッセージのみを出力します。例えば、Claude Code がターン中に会話をコンパクト化し、そのテキストをクリアした場合です。v2.1.219 より前では、Claude Code は
Auto mode cannot determine the safety of an action
auto モード がアクションを分類するために使用するモデルが決定を生成できなかったため、auto モードはアクションを自動的に承認しませんでした。表示されるメッセージは、分類器が失敗した方法によって異なります。 作業ディレクトリ内の読み取り、検索、編集は分類器をスキップするため、これらすべてのケースで動作し続けます。 分類器モデルが利用できない場合:Not run · auto mode's check had no usable answer 行が現れます。Ctrl+O を押すと、トランスクリプトビューアー でメッセージを読むことができます。The server returned no safety verdict で説明されている拒否でも同じ行が表示されます。v2.1.296 より前では、メッセージは呼び出しの下に赤いエラーとして表示されていました。
Claude Code が障害カテゴリを判定できる場合、temporarily unavailable の後の括弧内にカテゴリを示します。例えば <model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now。カテゴリは (rate-limited)、(overloaded)、(server error)、(timed out)、(connection failed) です。(timed out) または (connection failed) が繰り返される場合は、接続を確認してください。Unable to connect to API を参照してください。v2.1.229 より前では、メッセージはカテゴリを示さず、Wait briefly and then try this action again と読まれていました。
カテゴリが適合しない場合、メッセージは括弧内にカテゴリなしで表示されます。複数の障害がその形式を生成します。Amazon Bedrock(Mantle endpoint を含む)では、AWS アカウントがメッセージに示されているモデルを呼び出せない場合にも表示され、その障害はアカウントにモデルへのアクセスが付与されるまで、すべての再試行で繰り返されます。
対応方法:
- 数秒後に再試行してください。Claude は同じメッセージを見て、通常は自動的に再試行します。一時的な障害は auto モードの利用資格 とは無関係です。設定を変更する必要はありません
- 再試行が失敗し続ける場合は、読み取り専用タスクを続行し、後でブロックされたアクションに戻ってください
- Amazon Bedrock では、メッセージがすべての再試行で返される場合は、アカウントがそれが示すモデルを呼び出せることを確認してください。標準の Amazon Bedrock モデルの場合、IAM policy がそれを呼び出すことを許可していることを確認してください。Mantle モデル ID の場合は、AWS アカウントチームに連絡してください
- アクションを再試行してください。これは通常、次の試行で成功します
claude --debugを実行し、アクションを繰り返して、デバッグログで詳細を確認してください
-p 実行では、Claude Code は実行を停止しません。Claude が受け取るものは、アクションを要求した場所によって異なります。
--input-format stream-jsonなしの-p実行における バックグラウンドサブエージェント に対しては、Claude Code はAgent aborted: auto mode classifier request refused by the safety safeguard in headless modeを含むエラー結果を返します- 対話セッションと
-p実行のメイン会話を含む、その他すべての場所では、Claude Code はその拒否を Claude に返します
- これはアクションに関する決定ではありません。会話に既にあるコンテンツが、auto モードが分類器に会話を送信したときに API のセーフティフィルターをトリガーしました
- 再試行は役に立ちません。同じ会話コンテンツがフィルターを再度トリガーします
- 対話セッションでは、別の 権限モード に切り替えて、プロンプトが表示されたときにアクションを承認できるようにしてください
- トリガーするコンテンツなしで新しい会話を開始してください
- 対話セッションでは、auto モードはそのアクションに対して通常の権限プロンプトにフォールバックするため、手動で承認または拒否できます
--input-format stream-jsonなしの 非対話-p実行における バックグラウンドサブエージェント に対しては、Claude Code はAgent aborted: auto mode classifier transcript exceeded context window in headless modeを含むエラー結果を返し、実行は続行されます--permission-prompt-toolなしの-p実行の他の場所では、フォールバックするプロンプトがないため、アクションは実行されず、実行は続行されます
- 対話セッションでは、表示されるプロンプトでアクションを承認または拒否してください
- 対話セッションでは、
/compactを実行して会話サイズを削減し、後続のアクションが分類器ウィンドウ内に再び収まるようにしてください
The server returned no safety verdict
サーバー側の分類器レビュー では、auto モードはサーバーがアクションに対して判定を返さないときにそのアクションを拒否します。拒否は、Claude Code が判定できる場合、括弧内にカテゴリ((timed out) など)を示します。
Auto mode check unavailable とカウントダウンを表示し、Esc を押すとターンが中断されます。
10 回連続で判定のないレスポンスが続くと、auto モードはターンを停止します。
- 対話セッションでは、メッセージはトランスクリプトに警告として表示され、ターンが終了します
- 非対話
-p実行では、実行が終了し、実行エラーを報告します。デフォルトのテキスト出力では、メッセージは stderr に出力されます。 - サブエージェント が制限に達した場合、サブエージェントは完了する前に停止し、Claude は auto モードがそれを停止したことを示すメモ付きで、それまでに生成されたものを受け取ります
- 別のメッセージを送信して、Claude が再度試行するようにしてください。レスポンスのカウントはリセットされます。
- 停止が繰り返され、リクエストが LLM ゲートウェイまたはプロキシ を経由する場合は、それがストリーミングレスポンスを途中で切り詰めたり書き換えたりしていないかを確認してください。サーバー側の分類器レビュー にはどのゲートウェイの動作が拒否を引き起こすかが記載され、ゲートウェイ互換性ガイド には変更せずにそのまま渡すべきものが記載されています。
- Claude Code を開始する前に
CLAUDE_CODE_AUTO_MODE_SERVER=0を設定して、代わりに Claude Code 独自の分類器リクエストを使用してください。v2.1.281 より前では、Claude Code は Anthropic API への直接接続でこの変数を読み取りませんでした。 - 代わりにアクションを自分で承認するには、auto モードから切り替えてください
Agent terminated early due to an API error
サブエージェント の API リクエストが回復不能な形で失敗しました。例えば、使用制限に達したか、サーバーエラーの再試行を使い果たしたため、サブエージェントはタスクを完了する前に停止しました。このメッセージには Claude Code v2.1.199 以降が必要です。それ以前は、API エラーテキストはサブエージェントの結果であるかのように Claude に返されていました。- コロンの後のエラー詳細を、このページの該当するセクション(Usage limits や Server errors など)と照合し、そのセクションの手順に従ってください
- 根本のエラーが解消されたら、Claude にタスクを再試行するか、サブエージェントを再開する よう依頼してください
使用制限
このセクションのほとんどのエラーは、アカウントまたはプランに関連付けられたクォータに達したことを意味します。3 つのエラーは異なる動作をします。Server is temporarily limiting requests はプランクォータとは無関係なサーバー側のスロットル、Usage credits required for 1M context は使い果たされたクォータではなく権利確認、The prompt to confirm went unanswered は使用クレジット同意プロンプトが未回答で閉じられたことを意味し、クォータに達したかどうかは関係ありません。
You’ve hit your session limit
サブスクリプションプランには、ローリング使用許容量が含まれています。それが尽きると、次のいずれかのメッセージが表示されます。/model で別のファミリーのモデルに切り替えると、作業を続行できます。
claude.ai サブスクリプションでサインインしたインタラクティブセッションでは、Claude Code はオープンセッションで待機し、リセット直後に中断されたタスクを続行することもできます。使用制限がリセットされるのを待つ を参照して、表示内容、待機の開始またはキャンセル方法、自動続行をオフにする方法を確認してください。v2.1.234 より前では、Claude Code はこの待機機能を提供していませんでした。
使用量はセッション許容量と週間許容量に同時にカウントされます。大規模なワークフロー展開など、単一の大量アクティビティのバーストによって、セッションウィンドウがリセットされる前に週間許容量を使い果たす可能性があります。
対応方法:
- エラーに表示されたリセット時刻まで待機します
- Desktop アプリ の Code タブでは、セッション制限カードに Auto-continue when limits reset チェックボックスが表示されます。週間制限カードには表示されません。チェックされている場合、Desktop アプリはリセット後に中断されたターンを再試行し、カードに再試行時刻を表示します。Desktop チェックボックスと CLI の
/configの Continue automatically at usage limit 設定は別個なので、それぞれ個別にオフにしてください。 - Opus または Sonnet 制限の場合、
/modelを実行してそのファミリー外のモデルに切り替えて、作業を続行します。各モデルは独自のプロンプトキャッシュを持つため、次のリクエストは会話全体を再度読み込み、キャッシュヒットはありません。モデルの切り替え を参照してください /usageを実行して、プラン制限とリセット時刻を確認します/usage-creditsを実行して、Pro と Max で追加使用量を購入するか、Team と Enterprise で管理者にリクエストします。有料プランの使用クレジット を参照して、これがどのように請求されるかを確認してください。- プランをアップグレードしてベース制限を高くするには、claude.com/pricing を参照してください
You've used 85% of your session limit · resets 3:45pm というメッセージが表示されます。残りの許容量を継続的に監視するには、rate_limits フィールドを カスタムステータスライン に追加するか、Desktop アプリでモデルピッカーの横にある 使用量リング をクリックします。
Usage credits required for 1M context
選択されたモデルは 1M トークン拡張コンテキストウィンドウを使用しており、プランはそれを使用クレジットを通じてのみ含みます。/compact を含むその後のすべてのリクエストで繰り返されました。これらのバージョンで復旧するには /clear を実行してください。以下の手順は、明示的に [1m] モデルを選択した場合に適用されます。
対応方法:
/modelを実行し、[1m]サフィックスなしのバリアントを選択して、標準コンテキストウィンドウにフォールバックします- メッセージが
/usage-creditsを指定する場合、それを実行して Pro と Max で 1M バリアントの従量課金をオンにするか、Team と Enterprise で管理者に使用クレジットをリクエストします。使用クレジットがオンになったら、メッセージの指示に従って Claude Code を再起動するか、新しいセッションを開始します。それまでは、セッションは標準コンテキスト制限に留まります。 /modelの後もエラーが続く場合、1M モデル ID が他の場所に設定されている可能性があります。モデルの設定 を参照して、優先順位順に確認する設定場所を確認してください。- モデルピッカーから 1M バリアントを完全に削除するには、
CLAUDE_CODE_DISABLE_1M_CONTEXT=1を設定します
run /usage-credits to turn them on, or /model to switch to standard context で終わり、再起動について言及していませんでした。
The prompt to confirm went unanswered
アカウントが Fable 使用クレジット同意 を必要とする場合、Claude Code は Fable リクエストが使用クレジットに課金する前に確認するよう求めます。同意プロンプトが誰も答えないまま閉じられた場合、Claude Code はターンを次のいずれかのメッセージで終了します。continuing on Fable 5 と Fable 5 now uses usage credits と表示されます。v2.1.257 より前では、最初のメッセージは Fable 5 limit reached で始まりました。
これは Remote Control セッション、バックグラウンドセッション、エージェントチーム のチームメイトセッション、および別のアプリケーションが Agent SDK を通じてホストするセッションで発生します。Claude Code がプロンプトを閉じるタイミングについては、Fable と使用クレジット を参照してください。
対応方法:
- セッションが実行されている場所(ターミナルまたはそれをホストするアプリケーション)で、別のプロンプトを送信し、再度表示されたら同意プロンプトに答えます。バックグラウンドセッションの場合、最初に エージェントビュー からアタッチします。Remote Control クライアントから再送信すると、クライアントがプロンプトを表示できないため、このメッセージが再度表示されます。
/modelを実行して、使用クレジットに課金しないモデルに切り替えます- より多くの時間を確保するには、
dialogExpiryをより長い値または"never"に設定します
Server is temporarily limiting requests
API は、プランクォータとは無関係の短期的なスロットルを適用しました。- 少し待ってから再度試してください
- 続く場合は status.claude.com を確認してください
Request rejected (429)
API キー、Amazon Bedrock プロジェクト、または Google Cloud プロジェクト用に設定されたレート制限に達しました。ANTHROPIC_BASE_URL ではゲートウェイホストを指定します。
Claude Code と API の間のプロキシ、ロードバランサー、またはゲートウェイが独自の HTML 429 ページで応答する場合、· の後のテキストはそのページのタイトル(存在する場合)です。例えば Too Many Requests など。v2.1.281 より前では、ページ全体のマークアップが · の後に出力されていました。
対応方法:
/statusを実行して、アクティブな認証情報が想定どおりのものであることを確認します。環境内に紛れ込んだANTHROPIC_API_KEYにより、サブスクリプションの代わりに低ティアのキーを通じてリクエストがルーティングされる場合があります。- プロバイダーコンソールでアクティブな制限を確認し、必要に応じてより高いティアをリクエストします
- Anthropic API キーについては、レート制限リファレンス を参照して、ティアの仕組みとワークスペースごとの上限を設定する方法を確認してください
- 同時実行数を削減します。
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCYを低くするか、多くの並列サブエージェントの実行を避けるか、大量のスクリプト実行には/modelで小さいモデルに切り替えます
You’ve hit your monthly spend limit
プランに含まれる使用量ではこのリクエストをカバーできず、本来それを支払う 使用クレジット が支出制限に達しました。これは、プランの使用ウィンドウの 1 つが尽きたとき、またはリクエストが使用クレジットのみで支払われるもの(例えば 使用クレジットに課金 するモデルへのリクエスト)の場合に発生します。メッセージは誰の制限によってブロックされたかを示します。· の後のテキストはその制限を引き上げてもらう方法を説明し、プランと請求を管理しているかどうかによって異なります。
team's shared budget は、管理者が所属するグループに割り当てたプール予算です。メッセージはグループ名を示しません。channel's monthly spend limit はセッションが実行されている 1 つの Slack チャンネルの予算なので、組織にはその外にまだ予算がある可能性があります。
尽きたのがプランのウィンドウの 1 つである場合、メッセージはそのウィンドウがいつリセットされるかも示します(例えば · your session limit resets 3:45pm)。その時刻になれば、誰も制限を引き上げなくてもアクセスが戻ります。使用量ベースの課金を利用している組織では、メッセージは spend limit の代わりに usage limit と表示されます。例えば You've hit your individual usage limit です。
Claude アプリゲートウェイを通じて接続し、小文字の spend limit reached が表示される場合、それはゲートウェイオペレーターの上限です。Spend limit reached を参照してください。
対応方法:
- Pro と Max では、claude.ai の Settings > Usage で月間支出制限を増やすか、
/usage-creditsを実行します - Team と Enterprise では、請求を管理している場合は Organization settings > Usage で制限を増やすか、管理者に依頼します。
/usage-creditsは管理者にそのリクエストを送信します - チャンネルの制限については、組織の所有者またはチャンネルのマネージャーに claude.ai で引き上げるよう依頼してください。Claude Tag ドキュメントの Per-channel limits を参照してください
- メッセージがプランのウィンドウのリセット時刻を示している場合は、代わりにそれを待つこともできます
/usageを実行して、プランのウィンドウと各リセット時刻を確認します
Spend limit reached
Claude アプリゲートウェイ を通じて接続しており、ゲートウェイオペレーターが設定した 支出上限 を超えました。ゲートウェイは、指定された期間がリセットされるか、オペレーターが上限を引き上げるまで、リクエストをブロックします。ブロックされた各429 レスポンスに x-should-retry: false をマークするため、Claude Code は再試行せずにこのメッセージを表示します。
blocked_message を設定している場合は、その指示が続きます。v2.1.225 より前では、メッセージは spend limit reached のみでした。古いバージョンのゲートウェイは今もその短い形式を送信します。
対応方法:
- メッセージが示すリセット時刻まで待つか、メッセージにオペレーターの指示が含まれている場合はそれに従います
- 日常的に上限に達する場合は、ゲートウェイオペレーターに上限を引き上げるよう依頼します
spend limit unavailable は、ゲートウェイが支出記録を読み取れず、上限超過ではなく予防措置としてリクエストをブロックしたことを意味します。通常は自然に解消されます。続く場合は、ゲートウェイオペレーターに伝えてください。
Credit balance is too low
Console 組織のプリペイドクレジットが尽きたか、サブスクリプションを使うつもりなのに Claude Code が Console API キーでリクエストを送信しています。- Pro、Max、Team、または Enterprise プランを利用していてこれが表示される場合は、
/statusを実行してAPI key行を確認します。環境内の承認済みANTHROPIC_API_KEYは、サブスクリプションの代わりにそのキーを通じてリクエストをルーティングします。現在のシェルでそれを設定解除し、シェルプロファイルから削除してから、claudeを再起動します。サブスクリプションでまだサインインしていない場合は/loginを実行します。 - platform.claude.com/settings/billing でクレジットを追加し、そこで自動リロードを有効にして、残高がゼロに達する前に補充されるようにすることを検討してください
- Console でワークスペースごとの支出上限を設定して、単一のプロジェクトが組織残高を使い果たすのを防ぎます。コストを効果的に管理 を参照してください。
Could not update your spend limit
支出制限に達したときに表示されるプロンプトから行った支出制限の変更を、サーバーが拒否しました。Could not update your spend limit. Press Enter to retry. と表示され、再試行で成功する可能性があります。v2.1.216 より前では、Claude Code はすべての失敗に対して汎用形式を表示していました。
対応方法:
- メッセージに理由が含まれている場合は、より低い金額など、それを満たす制限を選択します
- メッセージが汎用形式のみの場合は、再試行します。失敗は一時的である可能性があります
- 変更が失敗し続ける場合は、代わりにブラウザの claude.ai 請求設定 から変更します
認証エラー
これらのエラーは、Claude Code が API に対してユーザーの身元を証明できないことを意味します。/status をいつでも実行して、現在どの認証情報が有効になっているかを確認できます。
ログインしていません
このセッションで使用できる有効な認証情報がありません。Authentication required · Sign in again to continue となり、アプリから再度サインインします。
同じ設定ディレクトリを使用する別の Claude Code ウィンドウで claude.ai アカウントを使ってサインインすると、このメッセージを表示している対話セッションは自動的にそのログインを使い始めます。再起動する必要はありません。
macOS の v2.1.286 より前では、別のウィンドウからサインインした後もセッションがこのメッセージを表示し続けることがありました。それらのバージョンでは、メッセージを表示しているセッションを再起動してください。
対処方法:
/loginを実行して、Claude サブスクリプションまたは Console アカウントで認証します- 環境変数で認証されることを想定していた場合は、
claudeを起動したシェルでANTHROPIC_API_KEYが設定され、エクスポートされていることを確認します - 対話的なログインができない CI や自動化では、起動時にキーを取得する
apiKeyHelperスクリプトを設定します - 複数の認証情報が存在する場合に Claude Code がどれを使用するかについては、認証の優先順位を参照してください
認証方法を解決できませんでした
セッションが認証情報なしで API クライアントに到達しました。バックグラウンドセッションとクラウドセッションでは、ワーカーが認証情報なしで起動したときにこのメッセージが表示されます。対話セッション、-p、Agent SDK の実行では、同じ状態をログインしていませんとして報告し、この文字列はデバッグログにのみ書き込みます。そのため、デバッグログでこの文字列を見つけた場合は、代わりにその項目に従ってください。
- バックグラウンドセッションまたはクラウドセッションでこのエラーが表示され、認証情報がすでに設定されている場合は、v2.1.176 以降にアップグレードします
ANTHROPIC_API_KEY、CLAUDE_CODE_OAUTH_TOKEN、またはクラウドプロバイダーの認証情報が、対話シェルだけでなく、ワーカーを起動する環境で設定されていることを確認します- Agent SDK については、クイックスタートの認証設定を参照してください
- 同じ環境の対話セッションで
/statusを実行し、どの認証情報ソースが解決されるかを確認します
無効な API キー
ANTHROPIC_API_KEY 環境変数または apiKeyHelper スクリプトが API に拒否されるキーを返したか、Claude Code が ANTHROPIC_API_KEY のキーを送信前にブロックしました。
Fix external API key の後に Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines). のような説明が続く場合、API はキーを受け取っていません。Claude Code が HTTP ヘッダーで扱えない文字を検出し、送信前にリクエストを停止しました。説明の読み方と値の修正方法については、無効なリクエストヘッダー値を参照してください。
対処方法:
- 入力ミスがないか確認し、Console でキーが取り消されていないことを確認します
- 同じシェルで
env | grep ANTHROPICを実行するか、PowerShell ではGet-ChildItem Env:ANTHROPIC*を実行します。direnv、dotenv シェルプラグイン、IDE ターミナルなどのツールは、明示的に設定しなくても、プロジェクト内の.envファイルから古いキーを読み込むことがあります。 ANTHROPIC_API_KEYの設定を解除し、/loginを実行して代わりにサブスクリプション認証を使用します- キーが
apiKeyHelperスクリプトから取得される場合は、スクリプトを直接実行して、有効なキーが stdout に出力されることを確認します /statusを実行して、Claude Code が実際に使用している認証情報ソースを確認します
apiKeyHelper スクリプトが失敗しています
Claude Code はapiKeyHelper 設定のコマンドを実行しましたが、キーを取得できませんでした。キーがない場合、リクエストはプレースホルダーの認証情報で API に到達し、API は 401 で拒否します。ターミナルの Authentication パネルに、次のどれが発生したかが表示されます。
- コマンドがエラーで終了したか、タイムアウトした
- コマンドが stdout に何も出力しなかった
- コマンドがキー以外のもの(ログインバナーやログ行など)を出力した。パネルには
returned output that cannot be used as an API keyと表示され、出力を繰り返すことなく何が問題かが示されます。v2.1.227 より前では、Claude Code はコマンドが出力したものを、前後の空白を取り除いたうえでそのまま送信していました。
apiKeyHelper failed: という接頭辞付きで具体的な理由が出力されます。
Claude Code はこのメッセージを表示する前に、スクリプトを再実行してリクエストを最大 2 回まで再試行するため、失敗は 3 回以内の試行で表面化します。v2.1.208 より前では、Claude Code は再試行の上限をすべて使ってプレースホルダーの認証情報でリクエストを再送信し、その後スクリプトの失敗ではなく一般的な 401 認証エラーを報告していました。
ここでは /login を実行しても解決しません。設定が存在する限り、ヘルパーの出力は保存済みのログインより優先されます。
対処方法:
apiKeyHelperに設定されたコマンドをシェルで直接実行して、失敗を再現します- コマンドがセッションの有効期限切れを報告する場合は、認証情報プロバイダーで再認証します。たとえば、SSO やシークレットボールトに再度サインインします
- コマンドを修正して、キーのみを stdout に出力し(最大 16,384 文字の印字可能な ASCII からなる単一のトークンとして)、終了コード 0 で終了するようにします。動作する設定については、apiKeyHelper で認証情報をローテーションするを参照してください。
/statusを実行して失敗を確認し、apiKeyHelperが有効な認証情報ソースであることを確認します。apiKeyHelper行にはFailingと、終了コードやコマンドのエラー出力など最後の失敗の詳細が表示され、次に実行が成功すると消えます。v2.1.274 より前では、/statusには認証情報ソースのみが表示され、失敗は表示されませんでした。- コマンドが失敗するたびに、その終了コードとエラー出力はターミナルの
Authenticationパネルにも表示されます。v2.1.212 より前では、パネルのタイトルはCloud authenticationでした。
無効なリクエストヘッダー値
Claude Code がリクエストヘッダーとして送信しようとした値に、HTTP ヘッダーで扱えない文字(改行、NUL バイト、または曲線引用符やゼロ幅スペースなどU+00FF を超える文字)が含まれています。Claude Code は何かを送信する前にリクエストを停止し、修正すべき変数または設定の名前を示します。よくある原因は、ドキュメントやチャットから貼り付けた認証情報に、不可視の文字や余分な改行が含まれていたことです。
Claude Code は、Claude API に直接、または LLM ゲートウェイ経由でリクエストを送信するときにこのチェックを実行します。Amazon Bedrock などのサードパーティのクラウドプロバイダーでは、Claude Code は送信前にこのチェックを実行しません。
Invalid auth token:ANTHROPIC_AUTH_TOKENまたはCLAUDE_CODE_OAUTH_TOKENからのベアラートークンInvalid ANTHROPIC_CUSTOM_HEADERS:ANTHROPIC_CUSTOM_HEADERSで設定したヘッダー名または値。説明では、名前や値を繰り返さずに、どのName: Valueペアに問題があるかをdistinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERSのように番号で示します。名前と値はどちらもユーザー自身が選んだものだからです。Invalid request header from the environment:Claude Code がCLAUDE_AGENT_SDK_CLIENT_APPなどの別の環境変数からリクエストヘッダーにコピーする値。説明には修正すべき変数の名前が示されます。
ANTHROPIC_API_KEY を、同じ末尾の説明付きで無効な API キーとして報告します。保存済みの /login 認証情報が不正な場合は、代わりにログインしていませんとして報告します。/login を実行して新しい認証情報を保存してください。apiKeyHelper スクリプトの出力がこのチェックに到達することはありません。Claude Code はスクリプトの実行時に出力を検証し、HTTP ヘッダーで扱えない出力はapiKeyHelper スクリプトが失敗していますとして失敗します。
2 つ目の · の後には、次の完全な例のように、問題の説明が続きます。
a non-ASCII character として報告されます。
対処方法:
- メッセージが示す変数または設定を再設定します。同じソースから再度貼り付けるのではなく、報告された位置の周辺の文字を入力し直してください
ANTHROPIC_CUSTOM_HEADERSでは、1 行に 1 つのName: Valueペアを記述し、メッセージが番号で示すペアを書き直します/statusを実行して、有効な認証情報ソースを確認します
この組織は無効化されています
Claude Code が、無効化された Console 組織の古いANTHROPIC_API_KEY を使用しています。保存済みのサブスクリプションログインがある場合、このキーがそれを上書きします。
· の後のヒントは、保存済みの認証情報によって異なります。1 つ目の形式は、キーの設定を解除した後に保存済みの /login が引き継げる場合に表示され、2 つ目の形式はキーが唯一の認証情報である場合に表示されます。
環境変数は /login より優先されるため、シェルプロファイルでエクスポートされたキーや .env ファイルから読み込まれたキーは、有効な Pro または Max サブスクリプションがある場合でも使用されます。非対話モード(-p)では、キーが存在する場合は常に使用されます。
対処方法:
- 現在のシェルで
ANTHROPIC_API_KEYの設定を解除し、シェルプロファイルから削除してから、claudeを再起動します - メッセージに
Update or unsetと表示される場合、フォールバック先となる保存済みのログインはありません。キーの設定を解除して/loginを実行するか、キーを有効な Console 組織のキーに置き換えます。 - その後
/statusを実行して、有効な認証情報がサブスクリプションであることを確認します - 環境変数が設定されていないのにエラーが解消しない場合は、サポートに問い合わせるか、別のアカウントでサインインしてください。
組織で API キー認証が無効化されています
このメッセージには Claude Code v2.1.169 以降が必要です。Console 組織の管理者が API キー認証をオフにしているため、API は Claude Code が送信しているキーを拒否します。· の後の復旧のヒントは、キーの出どころによって異なります。
apiKeyHelper は /login より優先されるため、いずれかがまだキーを提供している間は、/login を実行するだけでは解決しません。認証の優先順位を参照してください。
対処方法:
- メッセージに
ANTHROPIC_API_KEYが示されている場合は、現在のシェルで設定を解除し、シェルプロファイルまたは.envファイルから削除してから、claudeを再起動します - メッセージに
apiKeyHelperが示されている場合は、settings.jsonからapiKeyHelper設定を削除します /loginを実行して claude.ai アカウントでサインインします- その後
/statusを実行して、有効な認証情報が API キーではなくサブスクリプションであることを確認します - 自動化のために API キー認証が必要な場合は、組織の管理者に Console で再度有効にするよう依頼します
組織で Claude サブスクリプションアクセスが無効化されています
Claude 組織では、サブスクリプションログインで Claude Code にサインインすることが許可されていません。同じアカウントで再度/login を実行しても、同じエラーが返されます。
-p 非対話モードでは、これは oauth_org_not_allowed エラーコードとして表示されます。
対処方法:
- 組織で Claude Code へのアクセスを有効にするよう管理者に依頼します
- サブスクリプションではなく Console API キーで認証します。設定方法については、Claude Console 認証を参照してください。
- 管理者であってもアクセスを有効にするオプションが表示されない場合は、Anthropic サポートに問い合わせてください
ルーティンが組織のポリシーにより無効化されています
Team または Enterprise 組織の Owner が、組織レベルでルーティンをオフにしています。このエラーは、ルーティンを作成または実行しようとしたとき、たとえば claude.ai/code の Routines UI から操作したときに表示されます。Claude Code v2.1.227 以降では、同じ設定によって CLI の/schedule も非表示になります。
- 組織の Owner に、claude.ai/admin-settings/claude-code で Routines トグルを有効にするよう依頼します
- 組織レベルのルーティンを必要としない 1 回限りのスケジュール作業については、スケジュールタスクを参照してください
Remote Control には Anthropic API が必要です
セッションが Anthropic API と直接通信していませんが、Remote Control にはそれが必要です。CLAUDE_CODE_USE_*プロバイダー変数(Amazon Bedrock の場合はCLAUDE_CODE_USE_BEDROCK、Google Cloud’s Agent Platform の場合はCLAUDE_CODE_USE_VERTEXなど)api.anthropic.com以外のホスト(LLM ゲートウェイやプロキシなど)を指すANTHROPIC_BASE_URL。claude.ai でサインインしている場合も該当します。v2.1.196 より前では、カスタムのベース URL は Remote Control をブロックしませんでした- 設定された
ANTHROPIC_UNIX_SOCKET。この場合、セッションはリクエストをapi.anthropic.comではなくローカルソケット経由で送信します /loginで行ったエンタープライズ向けクラウドゲートウェイへのサインイン。これは Remote Control をサポートしておらず、解除する変数もありません
- メッセージが示す変数(
CLAUDE_CODE_USE_BEDROCKやANTHROPIC_BASE_URLなど)の設定を解除してセッションを再起動するか、Anthropic API と直接通信するセッションから Remote Control を開始します - 変数がシェルで設定されていない場合は、設定ファイルの
envキーを確認します。このキーはすべてのセッションに環境変数を適用します - このメッセージやその他の Remote Control 起動時のメッセージについては、Remote Control のトラブルシューティングを参照してください
Remote Control がログインを更新できませんでした
Claude Code は、保存済みの claude.ai ログインを使用して取得・更新する短期間有効な認証情報で、ライブの Remote Control 接続を実行します。claude.ai がそのログインを受け付けなくなった場合、または Claude Code に保存済みのログインが残っていない場合、Claude Code は Remote Control を停止し、再度サインインが必要になります。どちらの失敗も、Claude Code の接続中にも、その後の認証情報の更新時にも発生する可能性があります。 Claude Code がログインサービスに保存済みログインの更新を要求して応答が得られない場合、Remote Control を実行し続け、接続の現在の認証情報がまだ有効な間に更新を再試行します。Claude Code がログインサービスに到達できない場合、リクエストがタイムアウトした場合、またはサービスがログインを拒否せずに失敗した場合に、更新の応答が得られない状態になります。その認証情報の有効期限が切れた時点でもログインサービスが応答しない場合、Claude Code は Remote Control を停止し、OAuth token refresh failed を報告します。
Claude Code が Remote Control を停止すると、警告と、Remote Control disconnected で始まるトランスクリプトの行に理由が表示されます。ローカルセッションは Remote Control なしで実行され続けます。このセクションでは次の行を扱います。
Claude.ai login expiredとClaude.ai login was rejected:保存済みのログイントークンが期限切れになったか取り消されたため、claude.ai がそのトークンを受け付けなくなりましたOAuth token unavailable:接続の認証情報の更新時期が来たときに、Claude Code に保存済みのログイントークンがありませんでしたOAuth token refresh failed:Claude Code の再接続中に claude.ai が保存済みのログイントークンを拒否し、トークンを更新しても新しいトークンが得られませんでしたJWT refresh failed: no OAuth token:Claude Code が更新に使用する保存済みのログイントークンを見つけられませんでしたSigned out of Claude:このマシンでサインアウトしたため(たとえば別のターミナルで/logoutを実行した場合)、Claude Code には接続の更新に使用する保存済みのログインが残っていません
/loginを実行して再度サインインします/remote-controlを実行してセッションを再接続します。run /login to restore Remote Controlで終わるメッセージでは、この手順は不要です。サインインすると Claude Code が自動的に再接続します。
OAuth token refresh failed — run /login to re-authenticate は OAuth token refresh failed — re-authenticate, then re-enable Remote Control と表示され、JWT refresh failed: no OAuth token — run /login は no OAuth token available for recovery (code <N>) と表示されていました。Claude.ai login expired、Claude.ai login was rejected、OAuth token unavailable のメッセージは v2.1.225 で追加されました。
v2.1.238 より前では、Claude Code は現在 Signed out of Claude と表示されるケースを JWT refresh failed: no OAuth token — run /login として報告し、ログインの更新で 1 回でも応答が得られないとすぐに Claude.ai login expired — run /login to restore Remote Control で Remote Control を停止していました。
サインイン中のアカウントが変更されたため Remote Control が停止しました
Claude Code は、Remote Control セッション中に、このマシンで別の claude.ai アカウントまたは組織にサインインしたときにこの行を表示します。この切り替えは Claude Code セッションの外部で行われたもので、たとえば別のターミナルで/login を実行した場合が該当します。
/login でサインインした状態で開始した Remote Control セッションは、その時点でサインインしていた claude.ai アカウントと組織に属します。
/remote-controlを実行して、現在のアカウントまたは組織で新しい Remote Control セッションを開始します- 元に戻すには、
/loginを実行して以前のアカウントまたは組織に再度サインインします。その後、/remote-controlを実行します。
Remote Control server rejected the request (HTTP 404) で失敗するまで、Remote Control セッションの接続を維持していました。この失敗は、切り替えから数時間後に発生することもありました。
セッションを実行しているアプリがサインアウトまたはアカウントを切り替えたため Remote Control が停止しました
Claude デスクトップアプリまたは IDE がセッションをホストしている場合、Claude Code はログイントークンを/login からではなくそのアプリから取得します。claude.ai がそのトークンを拒否すると、Claude Code はアプリに新しいトークンを要求します。アプリがサインアウトしている、または別の Claude アカウントにサインインしていると応答した場合、Claude Code は Remote Control セッションを終了し、次のいずれかの行をアプリに送信します。
- アプリがサインアウトしている場合は、アプリに再度サインインしてから、アプリで Remote Control を再度オンにします
- アプリがアカウントを切り替えた場合、Claude Code は終了したセッションを新しいアカウントで続行できません。そのアカウントで新しい Remote Control セッションを開始してください。
run /login メッセージをアプリに送信していました。
OAuth トークンが取り消された、または期限切れです
保存済みのログインが無効になりました。トークンが取り消された場合は、すべての場所でサインアウトしたか、管理者がアクセスを削除したことを意味します。トークンの有効期限が切れた場合は、セッション中に自動更新が失敗したことを意味します。 どちらのメッセージも、Claude Code が送信したリクエストに対して API が返した拒否を報告するものです。更新の失敗後に保存済みのログインがすでに消去されている場合は、代わりにログインの有効期限切れが表示されます。CLAUDE_CODE_OAUTH_TOKEN の長期間有効なトークンで認証している場合も、そのトークンが期限切れになるか取り消されたときに同じメッセージが表示されます。
-p)と Agent SDK では、メッセージは次のようになり、構造化エラーコードは authentication_failed です。
Your account does not have access to Claude. Please login again or contact your administrator. でした。
対処方法:
- Claude Code のプロンプトで
/loginを実行して再度サインインします -pコマンドまたは Agent SDK プログラムが保存済みのログインを使用している場合は、同じ環境でclaudeを実行して/loginを完了してから、コマンドまたはプログラムを再度実行します。対話的にサインインできない自動化では、ANTHROPIC_API_KEYで認証するか、claude setup-tokenで長期間有効なトークンを生成します。CLAUDE_CODE_OAUTH_TOKEN環境変数で認証している場合、リクエストが 401 で失敗した後も、Claude Code は保存済みのログインのトークンに切り替えるのではなく、設定した値を送信し続けます。/statusでは、この認証情報はCLAUDE_CODE_OAUTH_TOKENと表示されるAuth token行として示されます。claude setup-tokenで新しいトークンを生成してそれを使って再起動するか、変数の設定を解除して/loginを実行します。v2.1.225 より前では、Claude Code がセッション中に変数の値を保存済みのログインの短期間有効なアクセストークンに置き換えることがあり、そのトークンの有効期限が切れると、セッションは再び 401 エラーで失敗していました。- 起動のたびにログインを求められる場合は、トラブルシューティングにあるシステムクロックの確認と macOS の認証情報ストレージの復旧手順を参照してください
403 Forbiddenや OAuth のブラウザに関する問題など、その他の失敗については、ログインと認証を参照してください
API Error: 401 Invalid authentication credentials
API は認証情報の形式を認識しましたが、その背後にあるアカウントまたは組織を拒否しました。Anthropic がこのメッセージを返すのは、認証情報が最近取り消された場合、組織が無効化されたかユーザーのアクセスを削除した場合、またはアカウント自体が無効化された場合です。したがって、トークンの有効期限切れが原因ではありません。認証情報は保存済みのログインまたは承認済みのANTHROPIC_API_KEY のいずれかであり、それぞれ修正方法が異なるため、まず /status を実行してどちらが有効かを確認してください。
/statusに、使用されていないと示されていないAPI key行が表示される場合、承認済みのANTHROPIC_API_KEYが有効な認証情報であり、ログインより優先されるため、/loginでは置き換えられません。Claude Console でキーをローテーションするか、unset ANTHROPIC_API_KEY(PowerShell ではRemove-Item Env:ANTHROPIC_API_KEY)を実行してサブスクリプションにフォールバックします。/statusにログインのみが表示される場合は、/loginを 1 回実行します。認証情報が取り消されていた場合は、新しいログインで置き換えられます。- 同じログインアカウントで同じメッセージが再び表示される場合、そのアカウントまたは組織はもう有効ではありません。
/statusが報告するアカウントと組織を確認し、組織の管理者にアクセスの復元を依頼してください。 ANTHROPIC_BASE_URLが LLM ゲートウェイを指している場合、401の後のテキストは Anthropic ではなくゲートウェイのメッセージであり、/loginでは変わりません。代わりに、ゲートウェイが想定する認証情報を修正してください。
ログインの有効期限切れ
Claude Code が保存済みの claude.ai ログインを更新しようとしたところ、OAuth サービスが保存済みのリフレッシュトークンを拒否したため、Claude Code は保存済みの認証情報を消去しました。新しい認証情報を作成できるのは/login のみであるため、それ以降、各モデルリクエストは API に到達する前にローカルでこのメッセージとともに停止します。
v2.1.206 より前では、Claude Code は環境に残っている認証情報でモデルリクエストをそのまま送信していたため、サインインを促す代わりに、すべてのモデルが選択したモデルに問題がありますまたは 401 で失敗していました。
-p)と Agent SDK では、メッセージは次のようになり、構造化エラーコードは authentication_failed です。
or re-authenticate your Anthropic profile で終わる Login expired メッセージについては、Anthropic profile login expired を参照してください。
これは OAuth トークンが取り消された、または期限切れですとは異なる状態です。そちらのメッセージは API が返した拒否を報告します。Login expired は、すでに更新に失敗したログインに対して Claude Code 自身が生成するものであり、リクエストは送信されません。ログインが古くなったのではなくアカウント自体が停止されているために更新が失敗した場合、Claude Code は代わりにアカウントが保留中ですを表示します。
API キー、CLAUDE_CODE_OAUTH_TOKEN、またはサードパーティプロバイダーで認証されたセッションは保存済みのログインを使用しないため、このメッセージが表示されることはありません。
リクエストが失敗する前にこの状態を確認できます。/status には、Expired — log in again と表示される Login 行と、期限切れのログインについて保存されている組織とメールアドレスが表示されます。この行は、保存済みのログインが有効な認証情報であり、かつ更新できなくなった場合にのみ表示されます。別の方法で認証されたセッションでは、期限切れのログインが保存されたままでも、この行は表示されません。v2.1.210 より前では、認証情報が消去されて報告する内容がなくなるため、この状態の /status にはログインが存在していたことを示すものが何も表示されませんでした。
対処方法:
/loginを実行して再度サインインします。サインインせずに再試行すると、すべてのリクエストで同じメッセージが表示されます。- 別の Claude Code ウィンドウで claude.ai アカウントを使ってサインインする場合、このセッションがいつ自動的にそのログインを使い始めるかについては、ログインしていませんを参照してください。
- 非対話モードでは、同じ環境で
claudeを実行して/loginを完了してから、コマンドを再実行します。対話的にサインインできない自動化では、ANTHROPIC_API_KEYで認証するか、claude setup-tokenで長期間有効なトークンを生成します。 - サインインが失敗し続ける場合は、ログインと認証を参照してください
別の Claude Code プロセスが更新中のためログインを更新できませんでした
このメッセージは、ログインが拒否されたことを意味するものではありません。保存済みの claude.ai ログインの有効期限が切れており、更新が必要でした。同じマシン上の別の Claude Code プロセスが共有の更新ロックを保持していたか、ロックを残したまま終了しており、このセッションが待機している間に更新が進みませんでした。Claude Code は送信前にリクエストを停止します。-p)と Agent SDK では、メッセージは次のようになり、構造化エラーコードは server_error です。
CLAUDE_CODE_OAUTH_TOKEN、またはサードパーティプロバイダーで認証されたセッションは保存済みのログインを使用しないため、このメッセージが表示されることはありません。
対処方法:
- 1 分後に再試行します。別のプロセスが先に更新を完了した場合、このセッションは更新されたログインを使用します。
- メッセージが繰り返し表示される場合は、他の Claude Code ウィンドウとプロセスを閉じてから再試行します。
- 他に Claude Code プロセスが実行されていないのにメッセージが表示される場合は、
/loginを実行します。再度サインインする場合は、更新ロックを待機しません。
ログインを保存できませんでした
claude.ai でサインインしましたが、Claude Code がログインを認証情報ストアに保存できなかったため、ログインが完了しませんでした。macOS では、同じセッション中に Claude Code がすでにログインキーチェーンの認証情報を読み取りまたは保存した後で、スリープやアイドルなどによってキーチェーンがロックされた場合に発生することがあります。- macOS では、ログインキーチェーンのロックを解除してから、再度
/loginを実行します - その他のプラットフォームでは、再度
/loginを実行します - それでもログインが保存されない場合は、キーチェーンのロック解除コマンドやその他の認証情報ストレージの復旧手順について、ログインしていない、またはトークンの有効期限切れを参照してください
OAuth コールバックサーバーの起動に失敗しました
/login、claude auth login、または claude setup-token がブラウザ経由でサインインする際、Claude Code はブラウザがサインイン結果を返せるように 127.0.0.1 でリッスンポートを開きます。このメッセージは、Claude Code がそのポートを開けなかったことを意味し、ブラウザウィンドウやログイン URL が表示される前にサインインが停止します。
Is port 0 in use? で終わる場合、IPv4 ループバックアドレス 127.0.0.1 でリッスンする試み自体が失敗しています。ログイン URL が生成される前に失敗が発生するため、回避策として Paste code here if prompted フローを使用することはできません。
対処方法:
- ローカルリスナーを使わずにすぐにサインインするには:claude.ai サブスクリプションを使用している場合は、サインインが機能するマシンで
claude setup-tokenを実行し、出力されたトークンをこのマシンでCLAUDE_CODE_OAUTH_TOKENとして設定します。それ以外の場合は、ANTHROPIC_API_KEYに Claude Console のキーを設定します。Claude Code が認証情報をどのように選択するかについては、認証の優先順位で説明しています。 - 代わりにこのマシンでブラウザによるサインインを使用するには、Claude Code が
127.0.0.1でリッスンできる必要があります。サンドボックス内で実行している場合は、サンドボックスのポリシーでローカルポートでのリッスンが許可されていることを確認してから、再度/loginを実行します。リッスンできるはずなのに失敗する場合は、/feedbackを実行して、環境の詳細をレポートに含めてください。
Claude ログインが受け付けられませんでした
クラウドセッションを開始しようとしたところ、サーバーが 401 で作成を拒否しました。このマシンが送信した Claude ログインをサーバーが受け付けなかったためで、通常はログインの有効期限が切れたか取り消されたことが原因です。 行の最初の部分は、サーバーが理由を返した場合はその理由になります。それ以外の場合、行は次のようになります。/loginを実行してサインインを完了してから、再度セッションを開始します
アーティファクトには claude.ai ログインが必要です
セッションにアーティファクトで使用できる claude.ai ログインがないため、Claude Code はアーティファクトの公開または読み取りを拒否しました。 メッセージはどの形式でも同じ文言で始まり、その後にセッションの認証方法に応じた対処法が続きます。競合する認証情報がない場合は、次のようになります。/loginを実行し、Claude account with subscription を選択します。Anthropic Console account オプションでは claude.ai の認証情報は提供されません。- メッセージに優先される認証情報(
ANTHROPIC_API_KEY、apiKeyHelper設定、以前の/loginで保存された Console キーなど)が示されている場合は、メッセージの指示どおりにそれを削除してから、/loginを実行します - メッセージに、このリモートセッションはそれを起動したマシンを通じて認証されると示されている場合は、そのマシンで claude.ai にサインインしてから、セッションを再接続します
- メッセージに、認証情報がセッションのホスト環境によって注入されていると示されている場合、そのセッションでは変更できません。claude.ai にサインインしているセッションを開始してください
- プラン、モデルプロバイダー、組織のポリシーなど、アーティファクトのその他の要件については、利用可能性を参照してください
管理者ポリシーにより Cloud ゲートウェイへのサインインが必要です
このマシンの管理者による管理設定で、forceLoginMethod が "gateway" に設定されているか、forceLoginGatewayUrl が設定されています。この場合、CLAUDE_CODE_USE_BEDROCK などの変数でクラウドプロバイダーを選択しない限り、Claude Code は Claude apps gateway へのサインインのみを受け付けます。次の 2 つのメッセージのいずれかが表示されます。
/login を実行していない場合)、モデルリクエストはこのメッセージで失敗します。
マシンに Anthropic が発行した認証情報もあり、管理設定で forceLoginMethod または forceLoginOrgUUID が設定されている場合、Claude Code は代わりに起動時に終了します。その認証情報は、ANTHROPIC_API_KEY または ANTHROPIC_AUTH_TOKEN 変数、apiKeyHelper 設定、または以前の Claude Console ログインで保存された API キーのいずれかです。
起動時のメッセージには、セッションに設定されている認証情報、その設定場所、およびそれを削除する手順が示されます。たとえば、シェルで ANTHROPIC_API_KEY 変数が設定されている場合は、次のようになります。
Not signed in to the Cloud gatewayの場合は、/loginを実行して Cloud gateway 画面でサインインを完了します- 起動時のメッセージの場合は、メッセージの末尾にある手順に従って認証情報を削除します
- このマシンでゲートウェイが必要ないはずだと考える場合は、マシンを管理している管理者に、管理設定から
forceLoginMethodとforceLoginGatewayUrlを削除するよう依頼します
Administrator policy requires a Cloud gateway sign-in on this machine; the Anthropic-issued credential configured here (ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, or apiKeyHelper) is not used. で始まっていました。この文言が表示され、どの認証情報を削除すべきかわからない場合は、v2.1.284 以降に更新して、再度 claude を起動してください。
v2.1.265 では、リグレッションにより、マシンに管理者の要件がない場合でも、API キー、apiKeyHelper、またはカスタムヘッダーで認証する一部の LLM ゲートウェイおよびプロキシの構成で 1 つ目のメッセージが表示されていました。v2.1.266 以降に更新してください。設定を変更する必要はありません。
v2.1.261 より前では、forceLoginMethod を "gateway" に設定したマシンで、Claude Code はモデルリクエストを失敗させる代わりに残っていた保存済みのログインを使用し、設定された環境の認証情報については、起動時のメッセージではなく This machine's managed settings require a first-party login と報告していました。
アカウントが保留中です
ログインの背後にある Claude アカウントが停止されています。Claude Code は、保存済みのログインを更新しようとして保留を検知したときに 1 つ目のメッセージを表示し、ブラウザで完了したサインインで保留が報告されたときに 2 つ目のメッセージを表示します。-p)と Agent SDK では、構造化エラーコードは account_on_hold です。v2.1.235 より前では、Claude Code は保留中のアカウントを Login expired · Please run /login として報告していましたが、その復旧手順では保留を解除できません。
対処方法:
- メッセージ内のリンクを開いて、保留の詳細を確認するか、異議を申し立てます
- 保留の影響を受けない別の Claude アカウントまたは API キーがある場合は、保留が解決されるまで作業を続けられます。そのアカウントで
/loginを実行するか、ANTHROPIC_API_KEYでキーを設定してください
Anthropic プロファイルのログインの有効期限切れ
Claude Code は Anthropic の認証情報プロファイルを通じて認証していますが、保存されているログイン認証情報の有効期限が切れており、プロファイルには Claude Code が更新に使用できるリフレッシュ用の認証情報がありません。Claude Code は再試行せずに、各リクエストをローカルで停止します。- メッセージが
Login expiredで始まる場合は、/loginを実行して再度サインインします - キーレスの Console サインインまたは Claude Platform CLI の
ant auth loginが書き込んだプロファイルを更新するには、キーレスのサインインを提供しているマシンで/loginを実行します。Anthropic Console アカウントを選択し、Sign in with your Console account を選択します。Claude Code はそのプロファイル内の期限切れの認証情報を置き換えます - 別のツールが作成したプロファイルを更新するには、そのツールで再度サインインします。代わりに
/loginで Sign in with your Console account を選択した場合、Claude Code はプロファイルをそのままにして API キーを作成します - 管理者がプロファイルの認証情報をプロビジョニングした場合は、新しい認証情報を発行するよう依頼します
/statusを実行して、有効な認証情報ソースとプロファイル名を確認します- プロファイルの使用をやめるには、
ANTHROPIC_PROFILEを設定している場合はその設定を解除してから、/loginやANTHROPIC_API_KEYなどの別の方法で認証します
- Claude Code が設定ディレクトリからプロファイルを検出し、その認証モードが
user_oauthである場合、メッセージはLogin expiredで始まり、最初に/loginを提示します。Claude Code は、検出されたプロファイルよりも機能する/loginを優先し、その後は claude.ai アカウントで認証します。v2.1.234 から v2.1.277 までは、この形式はAnthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profileと表示されていました。v2.1.234 より前は、この場合も Claude Code はRe-authenticate your Anthropic profileの形式を表示していました。 ANTHROPIC_PROFILEでプロファイルを選択した場合、メッセージはAnthropic profile login expiredで始まります。
ANTHROPIC_PROFILE 環境変数で選択したもの、Claude Code が Anthropic の設定ディレクトリで有効なプロファイルとして検出したもの、または API キーなしでサインインしたときに Claude Code が書き込んだもののいずれかです。API キー、ANTHROPIC_AUTH_TOKEN などのベアラートークン、またはサードパーティプロバイダーで認証するセッションでは、このメッセージが表示されることはありません。
OAuth スコープの要件
保存されているトークンは、新しい機能に必要な権限スコープが導入される前のものです。/loginを実行して、現在のスコープを持つ新しいトークンを取得します。事前にログアウトする必要はありません。
claude.ai がセッショントークンを拒否しました
claude.ai コネクタのリクエストが、claude.ai が Claude Code のログインのトークンを拒否したために失敗しました。拒否されたトークンはログインのものであり、claude.ai におけるコネクタ自体の認可ではないため、コネクタを再度認可しても解決しません。/mcp では、コネクタは session token rejected と表示され、その詳細ビューには次のように表示されます。
/loginを実行して再度サインインします/mcpからコネクタを再接続するか、/mcp reconnect <server>を実行します。再度サインインする前に再接続しても、コネクタは同じ状態のままです。/mcpパネルの Reconnect オプションではyour claude.ai session token was rejectedと報告されますが、入力する/mcp reconnect <server>の形式では、トークンがまだ拒否されていても再接続の成功が報告されます。
MCP サーバーへの再サインインが必要です
リモートの MCP サーバーが、セッション中のツール呼び出しで認証情報を拒否しました。通常は、サインインまたはトークンの有効期限が切れたか、ツールに必要な権限がトークンにないことが原因です。ツール呼び出しは失敗し、/mcp はサーバーを認証が必要な状態としてマークします。
Claude Code からサインインするサーバー(claude.ai コネクタを含む)の場合は、サインインの有効期限が切れたか取り消されています。
/mcp を実行してサーバーを選択し、そのメニューから再度サインインします。
headersHelper スクリプトで設定されたサーバーの場合、Claude Code はこのメッセージを表示する前に、すでにヘルパーを再実行して呼び出しを 1 回再試行しています。
/mcp から再接続します。再接続するとヘルパーが再度実行されます。
設定に静的な Authorization ヘッダーがあるサーバーの場合:
/mcp から再接続します。
v2.1.273 より前では、サインインの期限切れ、headersHelper、Authorization ヘッダーのいずれのケースでも MCP server "<name>" requires re-authorization (token expired) と表示されていました。
サーバーは、HTTP 403 insufficient_scope でツール呼び出しを拒否し、スコープの認可を求めることもあります。そのスコープがトークンにすでに含まれている場合もあります。メッセージにはそのスコープが示されます。
/mcp を実行してサーバーを選択し、そのメニューから再度認証します。
サーバーの設定で oauth.scopes も authServerMetadataUrl も設定されていない場合、Claude Code はサーバーが示したスコープを要求します。どちらかが設定されている場合、Claude Code は代わりにその設定のスコープを要求します。oauth.scopes を固定している場合は、再度認証する前に、不足しているスコープをそのリストに追加してください。
v2.1.274 より前では、このケースでは needs you to sign in again メッセージが表示され、v2.1.273 より前では他のケースと同様に requires re-authorization (token expired) が表示されていました。
MCP サーバーの URL がないか、有効な URL ではありません
サーバーに設定されたurl が URL として解析できないため、Claude Code はリモート MCP サーバーの OAuth サインインの開始を拒否しました。Claude Code がそのサーバーについて報告すべきより具体的な設定の問題がない限り、シェルで claude mcp login <name> を実行すると、拒否は次のように出力されます。
- サーバーが設定されている場所でエントリの
urlをサーバーの実際のエンドポイントに設定するか、その${VAR}参照が示す環境変数を設定してから、再度サインインを実行します。
認可レスポンスの発行者の不一致
MCP OAuth サインイン中に、認可サーバーが、サーバーの OAuth メタデータから Claude Code が想定した発行者とは異なる発行者を示すiss パラメーターを付けて、Claude Code にリダイレクトしました。このステップで発行者が誤っていることは認可サーバーの混同攻撃(mix-up attack)の兆候であるため、Claude Code は認可コードを交換せずにサインインを失敗させます。Claude Code は、ブラウザでのサインイン後に /mcp サーバーメニューにエラーを表示します。
expected はサーバーの OAuth メタデータにある発行者で、received はリダイレクトに含まれていた iss の値です。リダイレクトに iss パラメーターが含まれていないサインインはチェックに合格します。ただし、サーバーのメタデータで authorization_response_iss_parameter_supported が設定されている場合は、Claude Code はサインインを失敗させます。
対処方法:
/mcpから再度サインインを試します- エラーが繰り返される場合は、サーバーの運営者に報告します。修正はサーバー側で行う必要があります。認可サーバーは、メタデータで公開しているものと同じ発行者を
issパラメーターで返す必要があります - サーバーの修正中に接続するには、
MCP_SDK_GENERATION=v1を指定して Claude Code を起動します。そのランタイムではこのチェックが実行されません。これにより混同攻撃に対する保護が失われるため、サーバー側での修正を優先してください
MCP_SDK_GENERATION=v2 を設定した場合にのみ v2 ランタイムを使用していました。
非 https のトークンエンドポイントへの認証情報の送信を拒否しました
v2 ランタイムでは、Claude Code は MCP OAuth のトークンリクエストを、HTTPS で提供されているトークンエンドポイント、またはlocalhost、127.0.0.1、::1 にあるトークンエンドポイントにのみ送信します。このメッセージは、サーバーのトークンエンドポイントがそのいずれでもないため、Claude Code がリクエストを送信する前に停止したことを意味します。これはブラウザでのサインイン後に発生するため、ブラウザのステップは先に成功します。また、Claude Code がサーバーのトークンを更新するたびにも発生します。
完全な形式では、このメッセージは MCP SDK から出力され、拒否したトークンエンドポイントが引用されます。デバッグログでは、サインインの場合は Error during auth completion:、更新の場合は Token refresh failed: の後に続きます。シェルでは、claude mcp login <name> が Couldn't complete authentication for "<name>": の後にこのメッセージを出力し、セッションでは /mcp がサーバーのメニューの下に表示します。
io など、リリース間で変わる可能性のある短い名前に続けて、from the MCP SDK for と秘匿化されたサーバー URL が表示される形になります。MCP SDK からのその他のエラーも、その場合は同じ形になります。秘匿化されたメッセージがこのエラーである可能性があるのは、サーバーのトークンエンドポイントが localhost、127.0.0.1、::1 以外のアドレスにあるプレーンな http:// の場合のみです。
対処方法:
- そのトークンエンドポイントを HTTPS で提供します。たとえば、TLS を終端するリバースプロキシやトンネルの背後にサーバーを配置し、
https://アドレスを公開するようにサーバーを設定します - サーバーを変更せずに接続するには、
MCP_SDK_GENERATION=v1を指定して Claude Code を起動します。そのランタイムではこのルールが適用されず、トークンリクエストはプレーンな HTTP で送信されます。この選択は終了するまで有効で、すべてのサーバーに適用されます。v1 ランタイムは発行者のチェックも省略するため、HTTPS でエンドポイントを提供する方法を優先してください
AWS 認証情報の有効期限切れまたは無効
AWS セッショントークンの有効期限が切れたか、拒否されました。このメッセージは、Claude Platform on AWS または Mantle エンドポイントから 401 が返されたときに表示されます。これらのプロバイダーは、期限切れのセキュリティトークンをこのように報告します。 中ほどのアクションのヒントは設定によって異なります。変わらない部分は先頭のAWS credentials expired or invalid です。
awsAuthRefresh が設定されている場合にのみ表示されていました。
対処方法:
- ヒントに認証情報がこの環境によって管理されていると示されている場合、Claude Code を起動したアプリが認証情報を所有しており、ここにあるその他の手順は適用されません。再試行するか、管理者に問い合わせてください
awsAuthRefreshが設定されている場合は、メッセージに示されたコマンド(aws sso login --profile myprofileなど)を別のターミナルで実行し、ブラウザでのサインインを完了してから再試行します。それ以外の場合は、使用している AWS 認証情報(SSO サインイン、アクセスキー、API キー、プロキシトークン)を自分で更新します- 対話セッションで
awsAuthRefreshが設定されている場合は、代わりに/loginを実行し、3rd-party platform を選択してから、Using 3rd-party platforms の下にある Claude Platform on AWS · refresh credentials を選択すると、Claude Code を再起動せずに同じコマンドを実行できます。AWS 認証情報を設定するを参照してください - 更新コマンドが成功した後もエラーが繰り返される場合は、同じシェルとプロファイルで
aws sts get-caller-identityを実行して、Claude Code の外部でその ID が有効であることを確認します
AWS 認証の失敗
AWS プロバイダーが 403 を返したか、Amazon Bedrock が 401 を返しました。 Amazon Bedrock は期限切れのセキュリティトークンを 403 として報告しますが、IAM 権限の不足によるAccessDeniedException などの認可の拒否も 403 として報告します。Claude Code はこの 2 つの原因を区別できません。
Amazon Bedrock からの 401 も、AWS 認証情報の有効期限切れまたは無効ではなくここに該当します。Amazon Bedrock は期限切れのトークンを 401 として報告しないためです。そのエンドポイントからの 401 は、通常、企業のプロキシなど、リクエスト経路上の別の要素が原因です。
認証情報を更新すれば期限切れのトークンは解決しますが、その他の原因は解決できないため、メッセージでは両方を提示します。
AWS authentication failed です。
403 が、指定されたモデル ID のモデルへのアクセス権がないという Amazon Bedrock の応答である場合、ヒントは代わりに、Amazon Bedrock コンソールでアカウントとリージョンに対してモデルを有効にするよう指示します。
v2.1.273 より前では、このメッセージは awsAuthRefresh が設定されている場合にのみ表示されていました。
対処方法:
- ヒントに認証情報がこの環境によって管理されていると示されている場合、Claude Code を起動したアプリが認証情報を所有しており、ここにあるその他の手順は適用されません。再試行するか、管理者に問い合わせてください
- 期限切れの認証情報が原因である場合に備えて、AWS 認証情報を更新します。設定されている場合はメッセージに示された
awsAuthRefreshコマンドを実行するか、SSO サインイン、アクセスキー、API キー、プロキシトークンを自分で更新します - 認証情報が最新である場合は、IAM 設定の IAM 権限が使用している ID にアタッチされていること、および選択したモデルがアカウントとリージョンで有効になっていることを確認します
aws sts get-caller-identityを実行して、リクエストで使用されている ID を確認します
Google Cloud 認証情報の有効期限切れまたは無効
Google Cloud’s Agent Platform 用の Google Cloud 認証情報の有効期限が切れたか、拒否されました。リクエストが 401 を返しました。Agent Platform は認証情報の期限切れをこのように報告します。 中ほどのアクションのヒントは設定によって異なります。変わらない部分は先頭のGoogle Cloud credentials expired or invalid です。
- ヒントに認証情報がこの環境によって管理されていると示されている場合、Claude Code を起動したアプリが認証情報を所有しており、ここにあるその他の手順は適用されません。再試行するか、管理者に問い合わせてください
- アプリケーションのデフォルト認証情報で認証している場合は、メッセージに示された
gcpAuthRefreshコマンドまたはgcloud auth application-default loginを実行し、サインインを完了してから再試行します CLAUDE_CODE_SKIP_VERTEX_AUTHを設定して LLM ゲートウェイ経由でルーティングしている場合は、ANTHROPIC_AUTH_TOKENまたはANTHROPIC_CUSTOM_HEADERSのゲートウェイトークンを更新してから再試行します- サービスアカウントのキーファイルで認証している場合は、
GOOGLE_APPLICATION_CREDENTIALSが有効なキーを指していることを確認します。GCP 認証情報を設定するを参照してください - 更新後もエラーが繰り返される場合は、同じシェルで
gcloud auth application-default print-access-tokenを実行して、Claude Code の外部でその ID が機能することを確認します
Please run /login または Failed to authenticate メッセージが表示されていましたが、これでは Google Cloud 認証情報を更新できませんでした。
Google Cloud authentication failed
Google Cloud の Agent Platform が 403 を返しました。Agent Platform は、認証情報の期限切れではなく認可の拒否に対してこのステータスを使用します。通常は、認証に使用している ID に IAM 権限が不足しているか、プロジェクトでモデルが有効になっていないことが原因です。 中央部分のアクションヒントは環境によって異なります。変わらないのは先頭のGoogle Cloud authentication failed の部分です:
- ヒントに認証情報がこの環境によって管理されていると表示されている場合、Claude Code を起動したアプリが認証情報を管理しているため、ここに記載されているほかの手順は適用されません。再試行するか、管理者に問い合わせてください
- IAM の設定に記載されているロールが、認証に使用している ID に付与されていることを確認します
- プロジェクトでモデルが有効になっていることを確認します。モデルへのアクセスをリクエストするを参照してください
Please run /login または Failed to authenticate メッセージが表示されていましたが、これでは Google Cloud の認証情報を更新できません。
Microsoft Foundry authentication failed
Microsoft Foundry が 401 または 403 を返しました。リクエストに含まれる Azure の認証情報が拒否されたか、その背後にある ID が Foundry リソースへのアクセス権を持っていません。/login では Azure の認証情報を発行できません。中央部分のアクションヒントは環境によって異なります。変わらないのは先頭の Microsoft Foundry authentication failed の部分です:
- ヒントに認証情報がこの環境によって管理されていると表示されている場合、Claude Code を起動したアプリが認証情報を管理しているため、ここに記載されているほかの手順は適用されません。再試行するか、管理者に問い合わせてください
- Azure の認証情報を設定するで設定した認証情報を更新します。
ANTHROPIC_FOUNDRY_API_KEYをローテーションするか、新しいANTHROPIC_FOUNDRY_AUTH_TOKENを発行するか、az loginを実行してデフォルトの Microsoft Entra 認証情報チェーンで再度サインインできるようにします - 認証情報が最新である場合は、ID が Foundry リソースへのアクセス権を持っていることを確認します。Azure RBAC の設定を参照してください
Please run /login または Failed to authenticate メッセージが表示されていましたが、これでは Azure の認証情報を更新できません。
Could not load AWS or Google Cloud credentials
Claude Code が実行されているマシン上で、AWS 認証情報プロバイダーチェーンまたは Google のアプリケーションのデフォルト認証情報から使用可能な認証情報を取得できなかったため、リクエストはクラウドプロバイダーに到達しませんでした。· の後の詳細には具体的な原因が示されます。たとえば、SSO セッションの期限切れ、Could not load the default credentials として報告されるアプリケーションのデフォルト認証情報の欠如、invalid_grant として報告される取り消されたサインインなどです。
-p を使用する非対話モードおよび Agent SDK では、構造化エラーコードは cloud_credential_error です。v2.1.267 より前では、メッセージには API Error: の後の詳細テキストのみが表示され、構造化コードは server_error または unknown でした。
対処方法:
aws sso login --profile myprofileやgcloud auth application-default loginなど、プロバイダーのサインインコマンドを実行してから再試行します。Claude Code の外部で認証情報を確認する方法については、Bedrock、Agent Platform、または Foundry の認証情報が読み込まれないを参照してください- 詳細が
AWS default-chain credential resolve timed outの場合、チェーンは失敗したのではなくハングしているため、代わりに AWS default-chain credential resolve timed out の手順に従ってください
AWS default-chain credential resolve timed out
AWS のデフォルト認証情報プロバイダーチェーンが 60 秒以内に認証情報を生成しなかったため、Claude Code は解決処理を停止し、リクエストを失敗させました。このタイムアウトは、Could not load AWS or Google Cloud credentials の原因の 1 つです。失敗しているのはローカルでの認証情報の解決であり、リクエストは Amazon Bedrock、Claude Platform on AWS、または Mantle エンドポイントに到達していません。Claude Code は認証情報キャッシュをクリアして再試行してからこのエラーを表示するため、このエラーが表示された時点で、チェーンは繰り返しの試行で停止しています。credential_process コマンドが受け取れない入力を待機している場合や、コンテナまたは VM のインスタンスメタデータサービス(IMDS)がチェーンのプローブに応答しない場合です。
v2.1.267 より前では、メッセージは API Error: AWS default-chain credential resolve timed out でした。
v2.1.207 より前では、チェーンが停止するとリクエストは失敗せず、無期限に待機したままになっていました。
対処方法:
- 同じシェルで同じ
AWS_PROFILEを使用してaws sts get-caller-identityを実行します。これもハングする場合は、プロファイルを修正してください。対話的にプロンプトを表示するcredential_processコマンドがよくある原因です。 - Claude Code を起動する前にサインイン手順を完了します。例:
aws sso login --profile myprofile aws-vaultのようなラッパーを介した MFA 付き SSO など、チェーンで実行する対話的なサインインが正当に 60 秒以上必要な場合は、CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MSで上限をミリ秒単位で引き上げます
Bedrock setup verification timed out waiting for AWS
Bedrock セットアップウィザードの認証情報検証中に、認証情報の検索や ID チェックなどの AWS への呼び出しが 60 秒の制限時間内に完了しませんでした。ウィザードは待機を停止し、検証ステップを失敗させます:CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS で設定した場合はその値になります。
一般的な原因は、SSO トークンの更新を含む AWS へのリクエストを停滞させるネットワークまたはプロキシや、表示されない入力を待機し続けている認証情報ヘルパーです。上限を引き上げるのは、ヘルパーが正当にさらに時間を必要とする場合のみにしてください。
AWS への単一のリクエストが停滞した場合、リクエストごとのタイムアウトによって失敗することもあり、その場合は同じステップでより短いメッセージが表示されます:
unreachable としてマークします。
対処方法:
- 同じシェルで
aws sts get-caller-identityを実行します。これもハングする場合、停止の原因は Claude Code の外部、つまりネットワーク、プロキシ、または AWS プロファイル内の認証情報ヘルパーにあります。まずそれを修正してください。 - ウィザードを開く前に対話的なサインインを完了します。例:
aws sso login --profile myprofile - AWS プロファイル内の認証情報ヘルパーがプロンプトを表示するのに正当に 60 秒以上必要な場合は、
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MSで上限をミリ秒単位で引き上げます
Cloud gateway session expired
Claude apps ゲートウェイを介してサインインしていますが、このマシンに保存されたゲートウェイセッションの有効期限が切れて更新できなかったか、ゲートウェイがそのセッションを受け付けなくなっています。たとえば、ゲートウェイの JWT シークレットが置き換えられた後などに発生します。claude を対話的に起動したときにこの行が表示された場合、セッションはゲートウェイからサインアウトした状態で開かれています:
claude auth 以外の claude サブコマンドでは、ゲートウェイがセッションを受け付けなくなった場合、Claude Code は代わりに次のメッセージを表示して終了します:
- セッションで
/loginを実行し、ブラウザでのサインインを完了します - 非対話で起動した場合は、同じ環境で
claudeを起動して/loginを実行してから、コマンドを再実行します
Sign-in timed out while waiting for you to continue
Claude apps ゲートウェイでのサインイン中に、ゲートウェイがサインインしたアカウントを示し、Claude Code は認証情報を保存する前にその確認を求めました。確認画面がサインイン自体の有効期限を過ぎても開いたままになっており、ゲートウェイはそれを更新できるリフレッシュトークンを発行していなかったため、続行したときに Claude Code は何も保存しませんでした:/loginを再度実行し、サインインの有効期限が切れる前にアカウントを確認します
Gateway refused the request
Claude apps ゲートウェイを介してサインインしていますが、リクエストが 403 を返しました。ゲートウェイ、またはその背後にあるアップストリームがリクエストを拒否しました。再度サインインしても拒否は変わらないため、メッセージはゲートウェイ管理者に問い合わせるよう案内しています:- ゲートウェイ管理者にリクエストの調査を依頼します。
API Error:の末尾部分には、ゲートウェイが返した拒否内容が含まれています - 管理者向け: ゲートウェイのアクセス制御ルールは 403 を返し、監査ログにはその理由が記録されます。また、アップストリームによる認可の拒否は、アップストリームのエラーメッセージに従ってそのまま渡されます
Please run /login または Failed to authenticate メッセージが表示されており、再度サインインしても拒否は解消されませんでした。
ネットワークと接続エラー
これらのエラーのほとんどは、Claude Code からのネットワークリクエストが宛先に到達できなかったか、Claude Code と API の間で何かが戻りの応答を変更したことを意味します。アーカイブ書き込みの失敗など、ローカルの原因もある項目については、その本文に記載されています。通常、ローカルネットワーク、プロキシ、ファイアウォール、またはクラウド環境のネットワークポリシーで発生します。Unable to connect to API
API への TCP 接続が失敗したか、完了しませんでした。一般的な接続エラーコードについては、メッセージは失敗の種類を示し、括弧内にコードを保持します。Unable to connect to API の後に括弧内にコードが表示されます。これらのメッセージの一部は複数のコードを表示できます。例えば、Connection refused は ConnectionRefused または ECONNREFUSED を表示でき、Can't reach the API server は ENOTFOUND または FailedToOpenSocket を表示できます。
v2.1.227 より前では、これらの各コード付きメッセージは Unable to connect to API の後にコードが続きました。例えば Unable to connect to API (ECONNREFUSED) のようにです。
一般的な原因には、インターネットアクセスがない、api.anthropic.com をブロックする VPN、または設定されていない必須の企業プロキシが含まれます。
対応方法:
- 同じシェルから
curl -I https://api.anthropic.comを実行して、API ホストに到達できることを確認してください。Windows PowerShell では、組み込みのInvoke-WebRequestエイリアスが使用されないようにcurl.exe -I https://api.anthropic.comを使用してください。 - 企業プロキシの背後にいる場合は、Claude Code を起動する前に
HTTPS_PROXYを設定し、ネットワーク設定 を参照してください。 - LLM ゲートウェイまたはリレーを経由してルーティングする場合は、
ANTHROPIC_BASE_URLをそのアドレスに設定してください。セットアップについては Claude Code を LLM ゲートウェイに接続する を参照してください。 - ファイアウォールが ネットワークアクセス要件 に記載されているホストを許可していることを確認してください。
- 断続的な障害は 自動的に再試行 されます。永続的な障害はローカルネットワークの問題を示しています。
curl が成功しても Claude Code が失敗する場合、原因は通常、ネットワーク自体ではなく、ランタイムとネットワークの間にあります。
ANTHROPIC_BASE_URLが設定されているかどうかを確認するには、echo $ANTHROPIC_BASE_URLを実行するか、PowerShell ではecho $env:ANTHROPIC_BASE_URLを実行し、設定ファイル のenvブロックで確認してください。設定されている場合、Claude Code はモデルリクエストをapi.anthropic.comではなくそのアドレスに送信するため、実行されなくなったローカルプロキシまたはゲートウェイを指す残存値は、curlが API に到達してもConnection refusedを生成します。シェルプロファイルまたは設定から削除し、新しいターミナルから Claude Code を起動してください。- Linux と WSL では、
/etc/resolv.confで到達不可能なネームサーバーを確認してください。特に WSL はホストから壊れたリゾルバーを継承できます。 - macOS では、切断またはアンインストールされた VPN クライアントがトンネルインターフェイスまたはルーティングルールを残す可能性があります。
ifconfigで古いutunインターフェイスを確認し、システム設定で VPN のネットワーク拡張機能を削除してください。 - Docker Desktop および同様のコンテナランタイムは、アウトバウンドトラフィックをインターセプトできます。これを除外するために、それらを終了して再試行してください。
Unable to connect to Anthropic services
初回実行セットアップ中に、Claude Code はサインインステップを表示する前にapi.anthropic.com と platform.claude.com に到達できることを確認します。いずれかのチェックが失敗すると、Claude Code は理由を出力して終了します。
HTTPS_PROXY など、そのプロキシを設定した環境変数を名前で示します。v2.1.222 より前では、チェックはタイムアウトなしの異なるプロキシトランスポートを使用していました。https:// スキーム付きのプロキシ URL の背後では、Checking connectivity... で無期限に停止してから失敗する可能性があり、同じプロキシを通じた API リクエストが成功しても失敗していました。
Claude Code は、管理設定ファイル、MDM ポリシー、またはポリシーヘルパー が forceLoginMethod を "gateway" に設定するか、forceLoginMethod なしで forceLoginGatewayUrl を設定する場合、このチェックをスキップします。どちらの設定でも、Claude Code は Anthropic のサインイン方法ではなく Cloud gateway 画面でサインインステップを開きます。また、マシン上の管理設定ソースが存在するが読み取れない場合も、Claude Code はチェックをスキップします。そのソースがゲートウェイ設定を保持している可能性があるためです。v2.1.247 より前では、Claude Code はこの設定下でもチェックを実行し、Anthropic のエンドポイントに到達できない場合、このエラーで終了しました。
管理設定のないマシンで、自身の ~/.claude/settings.json が forceLoginMethod と forceLoginGatewayUrl で ゲートウェイを指定している 場合も、Claude Code はこのチェックをスキップします。v2.1.295 より前では、Claude Code はこの場合にもチェックを実行していました。
対応方法:
- メッセージがプロキシ変数を名前で示している場合は、その値が正しいプロキシを指していることを確認し、ネットワークチームにそのプロキシ経由でメッセージ内のホストへの HTTPS 接続を許可するよう依頼してください。ネットワーク設定 を参照してください。
- Unable to connect to API のチェックを実行してください。そこの
curlテストとファイアウォールガイダンスはこのチェックにも適用されます。 - ネットワークが開いており、障害が続く場合、Claude Code は ご利用の国で利用できない 可能性があります。
Socket is closed
Socket is closed は、ストリーミング応答を運ぶ接続が、応答がまだ到着している間に閉じられたことを意味します。最も一般的な原因は、Windows 上の企業プロキシが確立されたトンネルを応答の途中でドロップすることです。
応答がどこまで進んだかに応じて、Claude Code はリクエストを再試行するか、Claude が生成したものを保持するか、ターンを終了します。自動再試行 を参照してください。
v2.1.214 より前では、Claude Code はこの障害を再試行せず、ターンは Socket is closed を含むエラーで停止しました。
対応方法:
- このエラーが表示される場合は、
claude updateで v2.1.214 以降に更新してから、メッセージを再度送信してください。 - 更新後も同じプロキシの背後でターンが失敗し続ける場合は、Unable to connect to API を実行し、ネットワーク設定 でプロキシセットアップを確認してください。
API returned an empty or malformed response
Claude Code は、失敗したストリーミングリクエストの非ストリーミング再試行が HTTP 成功ステータスを取得しても、本文が Claude API メッセージではない場合、このエラーを表示します。一般的には HTML エラーまたはサインインページ、空の本文、または別の形式の JSON です。プロキシ、ゲートウェイ、またはネットワークサインインページが API の代わりに応答することが通常の原因です。Claude Code はリクエストを再試行せず、ターンはこのエラーで終了します。Response:句は、コンテンツタイプ、本文の種類(body is an HTML pageまたはempty bodyなど)、バイト単位のサイズ、およびレスポンスが Anthropic リクエスト ID を運んだかどうかを示します。レスポンスがnginxまたはcloudflareなどの認識可能なサーバーを名前で示すか、cf-rayまたはviaなどの中間ヘッダーを運ぶ場合、句はそれらもリストします。- 失敗したストリーミングリクエストの ID と、再試行のきっかけとなった障害を名前で示す文。障害の前にストリームが開いていた場合、到着したストリームイベント数と、いずれかが到着した場合は、試行が失敗したときにストリームが沈黙していた時間も報告します。
intercepting the request の後で終了しました。
v2.1.271 より前では、text/plain などの JSON 以外のコンテンツタイプの下で有効な API メッセージを運ぶ返信もこのエラーでターンを終了しました。一部の LLM ゲートウェイは非ストリーミング返信にそのコンテンツタイプを使用します。
対応方法:
Response:句を読んで、どのシステムが応答したかを確認してください。HTML 本文、Anthropic リクエスト ID がない、またはnginxやcloudflareなどの名前付きサーバーは、Claude Code と API の間の何かが代わりに応答したことを意味します。- LLM ゲートウェイ を通じてルーティングする場合は、直接リクエストでルートをテストし、非 API レスポンスを返すホップを修正してください。
- ゲスト Wi-Fi などのサインインページを持つネットワーク上では、ブラウザーでサインインを完了してから再試行してください。
- ゲートウェイを通じた非ストリーミングルートのみが壊れている場合は、
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=1を設定して、このフォールバックをオフにしてください。ただし、ストリーミングエンドポイント自体が404を返す場合は除きます。その場合、Claude Code は引き続きフォールバックします。
Streaming response ended before any complete data was received
モデルプロバイダーからのストリーミング応答が使用可能なデータを配信せずに完了したため、Claude Code はターンを完了するためにリクエストをストリーミングなしで再送信しました。Claude Code は警告をセッションごとに 1 回、対話型セッションでのみ表示します。v2.1.239 より前では、Claude Code はストリーミングなしで黙って再試行しました。- Claude Code とモデルプロバイダーの間のプロキシまたはゲートウェイを設定して、ストリーミングレスポンス本文とそのヘッダーを変更せずに通すようにしてください。
- Amazon Bedrock では、ゲートウェイまたはプロキシの背後でのストリーミングエラー を参照して、ヘッダーと本文の要件を確認してください。
Bedrock ストリーミング応答に予期しないコンテンツタイプがあります
Claude Code と Amazon Bedrock の間のゲートウェイまたはプロキシがストリーミングレスポンス本文またはそのContent-Type ヘッダーを変換しています。Amazon Bedrock はストリーミング応答を application/vnd.amazon.eventstream として配信します。読み取れない本文をデコードするのではなく、Claude Code は異なるコンテンツタイプを報告する成功したストリーミングレスポンスを拒否します。Claude Code はリクエストを再試行しません。
API Error: Truncated event message received として表示されました。
対応方法:
- ゲートウェイを設定して、
InvokeModelWithResponseStreamレスポンス本文とそのContent-Typeヘッダーを変更せずに通すようにしてください。ストリームをサーバー送信イベントとして再発行する中間者は一般的な原因です。 CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1を設定するとこのエラーが非表示になりますが、Claude Code は書き換えられたヘッダーの下でバイナリ本文をデコードしないため、これらのリクエストはより遅い非ストリーミングパスにフォールバックします。ゲートウェイまたはプロキシの背後でのストリーミングエラー を参照してください。
SSL 証明書エラー
ネットワーク上のプロキシまたはセキュリティアプライアンスが TLS トラフィックを独自の証明書でインターセプトしており、Claude Code はそれを信頼していません。Check your proxy or corporate SSL certificates で終了し、OpenSSL コードや NODE_EXTRA_CA_CERTS のヒントはありませんでした。
v2.1.199 以降、証明書検証の失敗は再試行されないため、このエラーは 再試行予算 をすべて使い切った後ではなく、最初の試行時に表示されます。以前のバージョンは、表示する前に数分間再試行しました。ハンドシェイクタイムアウトなどの一時的な TLS 条件は、引き続き再試行されます。
/login とスタートアップ接続チェック中には、同じ障害が異なるメッセージを生成します。
- 組織の CA バンドルをエクスポートし、
NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pemで Claude Code にそのバンドルを指定してください。 - 完全なセットアップ手順については、ネットワーク設定 を参照してください。
NODE_TLS_REJECT_UNAUTHORIZED=0を設定しないでください。これは証明書検証を完全に無効にします。
クラウドセッションでホストが許可されていません
クラウドセッションまたはルーティンからのアウトバウンド HTTP リクエストが環境のネットワークポリシーによってブロックされました。- 環境を編集用に開きます。ルーティンのフォーム から、またはクラウドセッションを開始する 環境セレクター から開きます。
- Edit cloud environment ダイアログで、Network access を Trusted から Custom に変更し、ブロックされたドメインを Allowed domains に追加してください。1 行に 1 つのドメインを入力してください。Also include default list of common package managers をチェックして、カスタムドメインと共に デフォルト許可リスト を保持してください。無制限のアクセスが必要な場合は、代わりに Full を選択してください。
- Save changes をクリックしてください。次の実行は更新された許可リストを使用します。既に開いているクラウドセッションについては、ネットワークアクセスの変更が既存セッションに反映されるタイミング を参照してください。
The proxy refused the connection
Claude がHTTPS_PROXY または関連する プロキシ変数 に設定したプロキシを通じて アーティファクト を読み取るときに、このメッセージが表示されます。アーティファクトのコンテンツは *.frame.claudeusercontent.com から取得されるため、Claude Code は最初にプロキシに CONNECT リクエストを送信して、そのホストへのトンネルを開くよう求めます。プロキシが拒否すると、何もホストに到達せず、メッセージにはプロキシの HTTP ステータスが含まれます。
CONNECT に対するプロキシの応答です。ホストは応答していないため、各ステータスは異なる修正を指しています。
HTTP 407:プロキシは受け取らなかった認証情報を必要としています。基本認証 が示すように、プロキシ URL に認証情報を入力してください。HTTP 403:プロキシは*.frame.claudeusercontent.comへのトンネリングを拒否しています。プロキシを運用している担当者に、ネットワークアクセス要件 にリストされているそのホストを許可するよう依頼してください。HTTP 502などの他のステータス:プロキシはホストに到達できないなど、独自の理由でトンネルを開きませんでした。プロキシのログでステータスを調べてください。- ステータスの代わりに
unreadable reply:プロキシアドレスにあるものが HTTP ステータス行で応答しませんでした。アドレスが HTTP プロキシであることを確認してください。
- プロキシ設定 で説明されているように、プロキシ変数のアドレスと認証情報を確認してから、Claude Code を起動するシェルから自身のプロキシ URL を使用して
curl -x http://proxy.example.com:8080 -I https://api.anthropic.comを実行してください。Windows PowerShell では、curl.exeを実行してください。このプローブが同じように失敗する場合は、まずプロキシセットアップを修正してください。成功する場合、拒否はアーティファクトホストに固有のものです。 - ネットワークで Claude Code がアーティファクトホストに直接到達できる場合は、
.frame.claudeusercontent.comをNO_PROXYに追加してください。エントリはこの範囲に限定してください。より広い.claudeusercontent.comエントリは、IP 許可リスト を持つ組織がプロキシ経由のままにしておく必要があるbridge.claudeusercontent.comについてもプロキシをバイパスしてしまいます。
クラウド環境サービスが空または予期しない応答を返しました
Claude Code は、CLI からクラウドセッションを作成するときや/remote-env を実行するときなど、複数の時点で クラウド環境 のリストをリクエストします。サーバーの応答を読み取れない場合、次のいずれかのメッセージが表示されます。
/remote-env ダイアログの couldn't list environments: などのプレフィックスを追加する場合があります。
対応方法:
- アクションを再試行してください。Claude Code はアクションのたびにリストを再度リクエストします。
- メッセージが表示され続ける場合は、status.claude.com でアクティブなインシデントを確認してください。
Failed to fetch session from Sessions API
このメッセージは、Claude Code が ターミナルに取り込むよう指定したクラウドセッション を見つけたものの、Anthropic のサーバーからその会話履歴を読み取れなかったため、セッションを開かなかったことを意味します。claude --teleport や /teleport を実行した後、または /tasks リストでセッションを選択した後に表示されます。claude --teleport <session-id> はこのメッセージを出力し、終了コード 1 で終了します。
対応方法:
- 同じ teleport をもう一度実行してください。同じように失敗する場合は、問題を報告 してください。
Couldn’t reconnect to your Remote Control session
claude --resume または claude --continue で再開すると、その会話に記録された Remote Control セッションに再接続します。このメッセージは、ネットワーク中断やサーバーエラーなど、一時的な可能性のある理由で再接続が失敗したため、Claude Code がリモートセッションがまだ存在するかどうかを確認できないことを意味します。ローカルセッションは Remote Control なしで実行を続けます。
対応方法:
/remote-controlを実行して接続を再試行してください。claude --remote-controlで新しいセッションを開始して、新しい Remote Control セッションを作成してください。- 他の Remote Control スタートアップメッセージについては、Remote Control のトラブルシューティング を参照してください。
Previous session is unavailable — run /remote-control to start a new one を表示します。
Sessions ended while this machine was offline
Claude Code は、マシンが長時間オフラインになり、マシンが提供していた Remote Control 環境をサーバーがクリーンアップした後、claude remote-control を実行しているターミナルにこのメッセージを表示します。その環境のセッションは終了しており、再開することはできません。数値は終了したセッション数です。
- Claude Code がこのメッセージの下に保持された worktree を一覧表示した場合は、そこから未コミットの作業を回収してください。
claude remote-controlを実行して新しい環境を開始してください。
Couldn’t share the transcript
セッション品質調査 などの調査プロンプトからセッショントランスクリプトの共有に同意すると、Claude Code はそれを Anthropic にアップロードします。サードパーティプロバイダー上、Claude apps ゲートウェイ セッション上、および Anthropic 認証情報が利用できない場合は、代わりにローカルアーカイブを保存します。このメッセージは共有が完了しなかったことを意味します。/feedbackを実行して、何が起こったかの説明と共にトランスクリプトを送信してください。環境で/feedbackが利用できない場合は、エラーを報告する を参照してください。- 他のリクエストも失敗している場合は、ネットワーク接続を確認し、Unable to connect to API を参照してください。
Couldn’t send feedback
/feedback、/bug、または /share ダイアログ からレポートを送信し、Anthropic へのアップロードが失敗しました。ダイアログはテキストを保持するため、再試行できます。
: not signed in. Run /login, then retry.:ダイアログは、開いた時点で Claude Code が Anthropic 認証情報を見つけた場合にのみアップロードを行いますが、送信時には使用可能な認証情報がありませんでした。例えば、その間にこのマシンでサインアウトしたか、ログインを更新できなくなった場合です。- 括弧内の表記:
(server returned <status>)はサービスの応答コードです。(request timed out)と(couldn't reach the service)はネットワーク障害です。Claude Code が理由を特定できない場合、括弧内の表記はありません。
The draft is still queued. Try again later. で終了し、ドラフトは次の試行のためにキューに残ります。
対応方法:
- サインインしていないことを示す表記の場合は、
/loginを実行して再度送信してください。 - それ以外の場合は、再度送信してください。他のリクエストも失敗している場合は、ネットワーク接続を確認し、Unable to connect to API を参照してください。
- 失敗し続ける場合は、メッセージが示すように github.com/anthropics/claude-code/issues でレポートを提出してください。
リクエストエラー
これらのエラーはリクエストの内容に関連しています。ほとんどは API がリクエストを拒否した後に返されます。いくつかはリクエストが送信される前に Claude Code によってローカルで生成されます。Prompt is too long
会話と添付ファイルがモデルのコンテキストウィンドウを超えています。DISABLE_COMPACT が設定されている場合、この行は /clear のみを表示します。下記のコンテキスト圧縮失敗形式などのエラーの長い形式では、Prompt is too long · という表現が保持されます。-p 出力とトランスクリプトでは、テキストは Prompt is too long のままです。
ユーザー設定で自動圧縮をオフにした場合、この行には次のように表示されます:
/config の Auto-compact トグルは、ユーザー設定に autoCompactEnabled を書き込みます。このヒントは /config の変更が有効になる場合にのみ表示されます。たとえば、DISABLE_AUTO_COMPACT または DISABLE_COMPACT が自動圧縮をオフにした場合には表示されません。また、プロジェクトまたは管理設定などのより高い優先度のスコープが autoCompactEnabled を false に設定している場合にも表示されません。v2.1.235 より前では、この行に自動圧縮ヒントは含まれていませんでした。
Amazon Bedrock はこの状態を Input is too long for requested model. として報告し、Claude Code は同じ方法で処理します。v2.1.217 より前では、Claude Code は Bedrock の表現を認識しなかったため、自動圧縮はトリガーされず、/compact は同じエラーで失敗しました。
Claude apps gateway は、クラウドアップストリームがプロバイダー独自のエラー形式でリクエストを拒否する場合、この状態を capability_rejected: prompt_too_long として報告します。Claude Code はトークンを Prompt is too long と同じように処理します。v2.1.228 より前では、Claude Code はトークンを認識しなかったため、自動圧縮はトリガーされませんでした。
このターンで自動圧縮が実行され、モデルが利用できないか認証失敗などの基礎となるエラーで失敗した場合、メッセージはセパレータの後にそのエラーを示します:
/compact は解決するまで同じエラーで失敗します。v2.1.229 より前では、失敗した自動圧縮は原因なしで Prompt is too long を表示していました。
このエラーで自動圧縮が実行される場合、通常は最も古いやり取りを要約し、最新のものを保持します。最後の手段として、Claude Code は異なる方法で要約します:
- やり取り全体を要約できない場合、Claude Code は最新のプロンプトをそのまま保持し、その前のすべてを要約します。
- その場合、会話がユーザーのプロンプトで終わらないときは、Claude Code は代わりに会話全体を要約します。
/clear を実行して新しく開始してください。v2.1.269 より前では、やり取り全体を要約できない場合は常に圧縮が失敗したため、その状態のセッションはすべてのターンでこのエラーに再度ヒットしました。
単一のやり取りからなる会話には、要約する以前のターンがありません。そのような会話で自動圧縮が実行されるはずだった場合、Claude Code は試行をスキップし、代わりにリクエストを何が占めているかを説明します。API がエラーでトークン数を報告しない場合、メッセージは次のようになります:
Prompt is too long を表示していました。
対応方法:
/compactを実行して以前のターンを要約し、スペースを解放するか、/clearを実行して新しく開始してください。/compactがNot enough messages to compact.と答える場合、会話は単一のやり取りであり、要約する以前のものがないため、スペースはそのプロンプトと Claude Code がすべてのリクエストで送信するもので占められています。/clearを実行し、貼り付けたテキストを少なくするか、より小さな添付ファイルで再送信するか、以下の手順を使用してツール定義とメモリファイルを削減してください/contextを実行して、ウィンドウを消費しているものの内訳を確認してください:システムプロンプト、ツール、メモリファイル、メッセージ/mcp disable <name>で使用していない MCP サーバーを無効にして、コンテキストからツール定義を削除してください- 大きな
CLAUDE.mdメモリファイルをトリミングするか、パススコープルールに指示を移動して、関連する場合にのみ読み込むようにしてください - 自動圧縮はデフォルトでオンであり、通常このエラーを防ぎます。
/configまたはDISABLE_AUTO_COMPACTでオフにした場合は、オンに戻してください。オフのままにする場合は、ウィンドウが満杯になる前に/compactを自分で実行してください。
コンテキストがトークン制限を超えています
/context は、会話がモデルのコンテキストウィンドウを超えて成長した場合、出力の上部にこの警告を表示します。スペースを解放するまで、リクエストは Prompt is too long で失敗します。対話セッションはそのエラーを Context limit reached 行として表示します。
DISABLE_COMPACT を設定した場合、どちらの形式も /compact の代わりに /clear を示します。
対応方法:
- マルチターン会話では、
/compactを実行して以前のターンを要約し、スペースを解放してください。代わりに新しく開始するには、/clearを実行してください - 使用量を削減するその他の方法については、Prompt is too longを参照してください
/context は 100% を超える使用量を表示し、それが何を意味するか、または復旧方法を説明する警告行がありませんでした。
Request too large
トークン化前の生のリクエストボディが API の 32MB 制限を超えました。通常は、大きな貼り付けコンテンツ、ツール結果、または添付ファイルが原因です。この制限は コンテキストウィンドウとは別です。Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).:画像またはドキュメントによってリクエストが制限を超えました。Claude Code はそれらを削除して再試行します。Request too large for the API's 32MB request limit:メッセージだけで制限を超えているため、メッセージはcompacting cannot make it fitと示し、Claude Code は再試行しません。非対話モードでは、メッセージは代わりに入力を削減するか、新しいセッションを開始するよう指示します。
Request too large (max 32MB). Double press esc to go back and try with a smaller file. で失敗しました。v2.1.229 より前では、Claude Code はすべての拒否に対して添付ファイルに関するアドバイスを表示していました。圧縮が役に立たない場合でも同様です。
対応方法:
- メッセージが
compacting cannot make it fitと示す場合は、Esc キーを 2 回押して大きなコンテンツを追加したターンより前に戻るか、/clearを実行して新しく開始してください - それ以外の場合は、
/compactを実行します。これにより、蓄積された画像と添付ファイルが削除されます - 大きなファイルの内容を貼り付けるのではなく、パスで参照してください。Claude はそれらをチャンクで読むことができます
- 画像については、以下の Image was too largeを参照してください
Image was too large
貼り付けまたは添付された画像が API のサイズまたは寸法制限を超えています。- 貼り付ける前に画像をリサイズしてください。API は単一の画像で最長辺 8000 ピクセルまで、コンテキストに 20 枚を超える画像がある場合は 3000 ピクセルまでの画像を受け入れます。
- 全画面ではなく、関連する領域に絞ったスクリーンショットを撮ってください
Unable to resize image
Claude Code は、API に送信する前に添付画像をダウンスケールできませんでした。- メッセージが画像を変換するよう求める場合は、PNG、JPEG、GIF、または WebP に変換して再度添付してください。Claude Code はファイルヘッダーからこれらの形式の寸法を確認でき、画像をデコードする必要はありません。
- メッセージが寸法またはサイズ制限を報告する場合は、その制限を下回るように画像をリサイズまたは再圧縮してから添付してください。
- メッセージが CMYK JPEG、アニメーション WebP、または破損している可能性のあるファイルなどの原因を示す場合は、メッセージが提案する形式で画像を再保存して再度添付してください。
Request rejected as unprocessable by the model
API は、モデルが処理できないものとしてリクエストを拒否しました。メッセージは API 自体のものです。- 画像やドキュメントを含む会話でメッセージが繰り返し表示される場合は、自分でそれらを削除します。Esc を 2 回押してそれらを追加したターンより前に戻るか、
/clearを実行して新しく始めます。
PDF エラー
添付した PDF を処理できませんでした。メッセージはここに非対話形式で表示されます。対話セッションでは、代わりに Esc キーを 2 回押して再試行するよう促します。- 大きすぎる PDF については、ファイル全体を添付するのではなく、Read ツールでページ範囲を読むよう Claude に依頼するか、
pdftotextなどのツールでテキストを抽出して、出力ファイルをパスで参照してください - 保護されているか無効な PDF については、パスワードを削除するか、ソースアプリケーションからファイルを再度エクスポートしてから再試行してください
pdftoppm でページをレンダリングします。メッセージが提供するコマンドで poppler-utils をインストールするか、他のプラットフォームでは pdftoppm を PATH に配置する poppler ビルドをインストールしてください。どの PDF がページ範囲で読まれるかについては、Read ツールの動作を参照してください。
Extra inputs are not permitted
Claude Code と API の間のプロキシまたは LLM ゲートウェイがanthropic-beta リクエストヘッダーを削除したため、API はそれに依存するフィールドを拒否しました。
context_management などのベータ専用フィールドを、それらを有効にする anthropic-beta ヘッダーとともに送信します。ゲートウェイがボディを転送してもヘッダーを削除すると、API は認識できないフィールドを受け取ることになります。
対応方法:
anthropic-betaヘッダーを転送するようにゲートウェイを設定してください。ゲートウェイが転送する必要があるものについては、機能パススルーを参照してください。- フォールバックとして、起動前に
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1を設定してください。正確なスコープについては プリリリース機能を無効にするで説明しています。
ツール入力スキーマが無効です
リクエスト内のツールが、API の JSON Schema 検証に失敗するinput_schema を宣言したため、API はリクエスト全体を拒否しました。tools. の後の番号は、検索可能な名前ではなく、リクエストのツールリスト内の失敗したツールの位置です。
$schema で draft 2020-12 以外の JSON Schema 方言を宣言するスキーマを持つツールでも発生する可能性があります。Claude Code はこれらのスキーマを JSON Schema メタスキーマに対してチェックしませんが、トップレベルのプロパティ名チェックは引き続き適用されます。
v2.1.216 より前では、どのデプロイでも除外チェックは実行されていませんでした。
対応方法:
- Claude Code バージョンが v2.1.216 より前の場合は、
claude updateを実行してください。 - 無効なスキーマを宣言する MCP サーバーを削除するか、無効にしてください。エラーはツールを位置でのみ示します。v2.1.216 以降では、各サーバーのログで、入力スキーマが拒否されるツールを示す行を確認してください。どのログにもそれが示されていない場合は、サーバーを 1 つずつ無効にしてください。
- サーバーを保守している場合は、ツールの
input_schemaを修正してください。スキーマは有効な JSON Schema である必要があり、トップレベルのプロパティ名は 1 ~ 64 文字で、ASCII 文字と数字、_、.、-のみを使用する必要があります。無効な入力スキーマを持つツールを参照してください。
MCP ツール名が 128 文字を超えています
MCP サーバーが、mcp__<server>__<tool> などの完全な名前が API が受け入れる 128 文字を超えるツールを一覧表示しています。Claude Code は そのツールを Claude に送信するツールから除外し、サーバーの他のツールは引き続き機能します。シェルから claude --debug で開始したセッションでは、Claude Code は ~/.claude/debug/<session-id>.txt のデバッグログに次のメッセージを書き込みます:
- サーバーを保守している場合は、ツールの名前を短くしてください。
- サーバーが MCP 設定にある場合は、そこでより短い名前(
analytics-databaseの代わりにdbなど)を付けてください。その後、権限ルールや フック matcher など、古い名前でサーバーまたはそのツールを参照しているものを更新してください。 - プラグインがサーバーをバンドルしている場合、ツールの完全な名前にはプラグイン名も含まれます。プラグインの保守担当者にサーバー名またはツール名を短くするよう依頼してください。
API Error: 400 ... tools.N.custom.name: String should have at most 128 characters で拒否していました。
tool_use.name が 200 文字を超えています
会話履歴内のツール呼び出しが、API がリクエストで受け入れる 200 文字の制限を超える名前を含んでいます:No such tool available ツールエラーで失敗し、会話はこの API エラーなしで続行されます。
対応方法:
claude updateを実行してから、会話を再開してください。更新されたバージョンはトランスクリプトを読み込むときに長すぎる名前を修復するため、スタックしていた会話が再度機能します。
/compact や --resume を含む会話を再送信するすべてのリクエストを拒否したため、このエラーが繰り返され、会話はスタックしました。
There’s an issue with the selected model
設定されたモデル名が認識されなかったか、アカウントがそれへのアクセス権を持っていません。v2.1.160 の時点で、末尾のヒント(ここでは対話形式で表示)はサーフェスによって異なります。- 対話 CLI:
/modelを実行して、アカウントで利用可能なモデルから選択してください。 - 非対話モード(
-p):有効なエイリアスまたは ID で--modelを渡すか、ANTHROPIC_MODELを設定してください。このサーフェスではエラーテキストにRun --modelが表示されます。 - Agent SDK:モデルはプログラムで設定されるため、エラーテキストはヒントを省略します。TypeScript で
Optionsのmodelを設定するか、Python でClaudeAgentOptions(model=...)を設定し、構造化されたmodel_not_foundエラーを処理して、独自の再試行またはモデルピッカーを表示してください。 - 完全なバージョン付き ID ではなく、
sonnetやopusなどのエイリアスを使用してください。エイリアスは保守されたデフォルトに解決されるため、古くなりません。モデル設定を参照してください。 - 間違ったモデルが CLI で戻り続ける場合は、古い ID がどこかに設定されています。優先順位順でモデルを設定できる場所を確認し、古い値を削除してください。
- Claude Code は期限切れの claude.ai ログインを、このエラーではなく ログイン期限切れとして報告します。v2.1.206 より前では、更新できなくなった期限切れのログインはすべてのモデルでこのエラーにより失敗しました。古いバージョンでこれが表示される場合は、
/loginを実行してください。 - Google Cloud の Agent Platform デプロイについては、Google Cloud の Agent Platform トラブルシューティングを参照してください。
Model is not a recognized model id
モデルの切り替えに渡した文字列は、Claude Code がモデルとして使用できるものではないため、リクエストを送信せずに切り替えを拒否し、セッションは現在のモデルを保持します。Agent SDK のsetModel() メソッドでモデルを設定した場合、Desktop app など Claude Code CLI を代わりに実行するアプリがモデルを設定した場合、または Remote Control を通じて接続されたデバイスからモデルを選択した場合に、このエラーが発生する可能性があります。v2.1.200 より前では、Claude Code は文字列を保存し、次のリクエストで There’s an issue with the selected modelとして失敗しました。
Sonnet 5 を送信し、メッセージはそれをスペースなしで繰り返しています。末尾のヒントは、最も近いエイリアスまたはモデル ID を示します。十分に近いものがない場合は、代わりに Run /model to see available models. と表示されます。Desktop app が起動するセッションでは、一致なしの場合のヒントは Switch to a different model. と表示されます。
Agent SDK または Anthropic API 上のアプリを通じて切り替える場合、表示名や空の文字列など、モデル ID になり得ない文字列のみがこのエラーになります。
Remote Control デバイスからモデルを選択する場合、Claude Code はローカルで文字列をチェックします。モデルエイリアス、Claude Code が一覧表示するモデルまたはユーザーが設定したモデル、claude- で始まる ID のいずれでもない文字列は、claud-sonnet-5 などのタイプミスされた ID を含めて、このエラーになります。v2.1.260 より前では、このチェックは Remote Control での選択を対象としていなかったため、認識されない文字列が適用され、次のリクエストで失敗しました。
対応方法:
- 引数なしで
/modelを実行してピッカーを開き、アカウントで利用可能なモデルから選択してから、そこに表示されるエイリアスまたは ID を渡してください - 新しい Claude Code バージョンでのみサポートされるエイリアスを使用した場合は、
claude updateを実行するか、代わりにモデルの完全な ID を渡してください。サーバーはそのモデルに最小 Claude Code バージョンを要求する場合があります。Claude Code does not support this modelを参照してください。 - v2.1.200 より前に保存されたモデルはこのチェックで修復されません。古い値が戻り続ける場合は、モデルの設定に記載されている場所から削除してください。
- Anthropic API 以外のプロバイダー、またはゲートウェイやカスタム
ANTHROPIC_BASE_URLの背後では、空の文字列のみがこのエラーになります。Claude Code は、すべてのプロバイダーでリクエスト時に 認識されないモデルの診断行を書き込むことがあります。
Model not found
モデルを名前で切り替えましたが、Claude Code はその名前のモデルが存在することを確認できませんでした。名前が モデルエイリアスでも Claude Code がローカルで受け入れる別の表記でもない場合、Claude Code は最小限の API リクエストでそれを検証し、このエラーは通常、API エンドポイントの応答です。/model <name> では、スペースを含むものなど、そもそもモデル ID になり得ない名前も同じメッセージになります。
Try '...' instead 提案を追加する場合があります。
対応方法:
- 引数なしで
/modelを実行し、アカウントで利用可能なモデルから選択するか、sonnetなどの モデルエイリアスを使用してください。これは保守されたデフォルトに解決されます - 完全な ID を入力した場合は、プロバイダーのモデルカタログと照合してください。新しくリリースされたモデルは、プロバイダーまたはリージョンが提供する前に Anthropic API で利用可能になる場合があります。
- Agent SDK では、
setModel()はこのメッセージで失敗し、セッションは前のモデルで実行し続けます。TypeScript SDK では、supportedModels()を呼び出して、切り替えることができるモデルを一覧表示してください。 - v2.1.265 より前では、
/modelはopusplan[1m]エイリアス表記もこのエラーで拒否しました。これらのバージョンでは、Claude Code を更新するか、代わりに 設定または--modelでモデルを設定してください。
Couldn’t confirm model with the API
Agent SDK のsetModel() メソッド、または Desktop app など Claude Code CLI を代わりに実行するアプリを通じてモデルを切り替えましたが、モデル ID を API エンドポイントで確認するリクエストが 5 秒以内に応答を得られませんでした。セッションは現在のモデルを保持します。
Try again. で終わります。
対応方法:
- モデルを再度切り替えてください
- 切り替えが失敗し続ける場合は、Claude Code が API エンドポイントに到達できることを確認してください。ネットワークと接続エラーを参照してください
選択したモデルを確認するときの API エラー
/model <name> でモデルを選択したか、セッションに接続されたアプリが切り替えを要求しました。API は、モデルを検証するために Claude Code が送信する最小限のリクエストを、レート制限やサーバーエラーなど、独自のエントリを持たない理由で拒否しました。セッションは現在のモデルを保持し、メッセージの末尾にそのことが示されます:
- サーバーの説明に対応してください。レート制限または 5xx ステータスの場合は、待機してモデルを再度選択してください
- 独自の表現を持つ拒否は、Model not foundや Model is restricted by your organization’s settingsなどの周囲のエントリで説明しています
Claude Opus is not available with the Claude Pro plan
アクティブなサブスクリプションプランには、選択したモデルが含まれていません。sign out and sign in again と表示します。
対応方法:
/modelを実行し、プランに含まれるモデルを選択してください- 最近プランをアップグレードしてもこれが表示される場合は、
/logoutを実行してから/loginを実行してください。保存されたトークンはサインイン時のプランを反映するため、claude.ai でアップグレードしても、再認証するまで既存のセッションで有効になりません。 - 各プランに含まれるモデルについては、claude.com/pricingを参照してください
Claude Code does not support this model
Claude Code バージョンが必要な最小値を下回っているため、API は 400 でリクエストを拒否しました。選択したモデルが新しいバージョンを必要としている(サーバーはモデルごとにチェックします)か、組織のポリシーが新しいバージョンを必要としています。400 にはエラーコードclaude_code_version_too_old が含まれ、メッセージはどの最小値が適用されるかを示します。
- stable リリースチャネルで
claude updateを実行した場合、最新の stable リリースより先には進みません。そのリリースは必要な最小バージョンを下回っている可能性があります。latest チャネルに移行してから、再度更新してください。組織が 管理設定を通じてチャネルまたはバージョンを固定している場合は、管理者に変更を依頼してください - モデルごとの表現については、別のモデルに切り替えることで現在のセッションで作業を続けることができます。CLI で
/modelを実行するか、ストリーミング入力モードで TypeScript SDK のQueryオブジェクトのsetModel()を呼び出すか、Python SDK のClaudeSDKClientのset_model()を呼び出してください - 組織ポリシーの表現については、続行する前に更新してください
Model is restricted by your organization’s settings
組織の管理者が claude.ai 管理コンソールでこのモデルを無効にしたか、管理設定がavailableModels 許可リストまたは deniedModels リストを通じてそれを除外しました。--model、ANTHROPIC_MODEL、または model 設定が制限されたモデルを指定した場合、通知は起動時に表示され、セッションが代わりに使用するモデルを示します。管理設定によってセッションで使用できる許可されたモデルが残らない場合は、管理設定がデフォルトモデルをブロックを参照してください。管理者が claude.ai 管理コンソールでセッションが実行されているモデルを無効にした後、置換通知はセッション中に表示される場合もあります。
/model <name> を入力すると拒否され、セッションは現在のモデルを保持します。管理コンソールで無効にされたモデルの場合、拒否は Model '<name>' is restricted by your organization's settings. Run /model to choose a different model. と表示されます。管理設定が除外するモデルの場合、Model '<name>' is not available. Your organization restricts model selection. と表示されます。
エージェント、スキル、またはコマンド名で始まる通知は、制限が サブエージェントの要求されたモデルに適用されたことを意味します:サブエージェントは置換モデルで実行され、セッションのモデルは変更されません。v2.1.223 より前では、Claude Code は Agent ツールで起動されたサブエージェントに対してのみ通知を表示していました。
Claude Code は、モデルファミリーエイリアス(opus、sonnet、haiku、fable のいずれか)を、そのファミリーの最新バージョンではなく、そのファミリーへのリクエストとして扱います。Anthropic API および Claude Platform on AWSでは、制限されたファミリーエイリアスは、組織の設定が許可するファミリーの最新バージョンに解決され、置換通知がそのバージョンを示します。Claude Code が /model <alias> を拒否するのは、ファミリーのすべてのバージョンが制限されている場合のみです。v2.1.205 より前では、ファミリーエイリアスは、同じファミリーの古いバージョンが許可されている場合でも、最新バージョンのみに基づいて置換または拒否されていました。
対応方法:
/modelを実行して、組織が許可するモデルから選択してください。制限されたモデルはピッカーから非表示になります。- 制限されたモデルが
--model、ANTHROPIC_MODEL、設定ファイルのmodelフィールド、または サブエージェント、スキル、コマンドのmodelフロントマターに設定されている場合は、その値を削除または更新して、通知が再度表示されないようにしてください - 制限されたモデルへのアクセスが必要な場合は、組織の管理者に有効にするよう依頼してください。組織のモデル制限を参照してください。
Can’t switch to the default model
Default モデルを選択しました(たとえば、/model ピッカーで Default 行を選択するか、/model default を入力した場合)。Claude Code は切り替えを拒否したため、セッションは現在のモデルを保持します。
your organization's managed settings block it ... in "deniedModels":管理拒否リストが、Default オプションが解決するモデルをブロックしていますyour organization allows only the models listed in "availableModels":availableModelsMatchが"exact"に設定された管理availableModels許可リストが、Default オプションが解決するモデルを含んでいませんClaude Code couldn't read your organization's managed settings to check which models they allow:管理設定を読み取ることができず、Claude Code は未確認のまま切り替えを適用するのではなく拒否します
deniedModelsとavailableModelsの表現については、/modelを実行して、組織が許可するモデルを名前で選択してください- メッセージが示す管理設定を更新するよう管理者に依頼してください
couldn't readの表現については、Claude Code を再起動してください。それでも続く場合は、管理者に管理設定を確認するよう依頼してください
Claude Code can't start メッセージで起動に失敗する場合は、管理設定がデフォルトモデルをブロックを参照してください。
Model switch was blocked by a PreModelSwitch hook
PreModelSwitch フックが、ユーザーまたはクライアントが要求したモデルの切り替えを承認しなかったため、セッションは現在のモデルを保持します。切り替えが入力したコマンドではなく、Agent SDK ホストまたは Remote Control から来た場合、メッセージはModel switch blocked by a PreModelSwitch hook と表示され、ターゲットモデルは示されません。
- フックが書いた理由:PreModelSwitch フックが 切り替えを拒否したか確認を求めた際に、その理由を提供しました。求められていることに対応するか、フックが許可するモデルを選択してください。
PreModelSwitch hook <name> did not respond before its timeout:タイムアウトまでに応答しないフックは切り替えをブロックします。ハングしているコマンドを修正するか、そのフックのtimeoutを上げてから、再度切り替えてください。confirmation required, and this session cannot ask:フックが理由なしでaskと答えましたが、制御リクエストには確認プロンプトを表示する方法がありません。-p実行での/modelコマンドは、同じ状態を理由の後に(run /model interactively to confirm)を付けて報告します。対話セッションから切り替えを行うか、このモデルに対するフックの決定を変更してください。so organization-managed PreModelSwitch hooks could not be checked:Claude Code は、組織の 管理プラグインが提供する PreModelSwitch フックを判断できませんでした(たとえば、管理プラグインの読み込みに失敗した場合)。それらのフックのいずれかが切り替えをブロックする可能性があるため、Claude Code は未確認のまま切り替えを適用するのではなく拒否します。理由の冒頭に失敗したものが示されます。Claude Code は切り替えを試みるたびに再チェックするため、その後解消された失敗はブロックしなくなります。失敗し続ける場合は、claude --debugを実行して再度切り替え、詳細をキャプチャしてから、プラグインを修正するか、管理者に修正を依頼してください。a PreModelSwitch hook failed before answeringまたはPreModelSwitch hooks were cancelled (the control stream closed) before answering:フックの実行が判定なしで終了し、Claude Code はそれを承認として扱いません。claude --debugを実行して失敗したものを確認してから、再度切り替えてください。
plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log と表示されていました。Claude Code はプラグインの読み込みを 1 回再試行した後、組織が管理プラグインを持っていない場合でも、セッション内のそれ以降の切り替えを拒否していました。これらのバージョンでは、セッションを再起動してプラグインの読み込みを再度実行してください。
Couldn’t save it as your default
デフォルトとして保存するモデルを選択しましたが(たとえば、/model <name> または /model ピッカーでの Enter)、Claude Code は選択をユーザー設定ファイル ~/.claude/settings.json に書き込むことができませんでした。切り替え自体は適用されたため、現在のセッションは選択したモデルで実行されますが、デフォルトは変更されず、次のセッションは古い値で開始されます。
can't be written (<code>):書き込みが括弧内のオペレーティングシステムエラーコードで失敗しました。たとえば、ファイルまたはそのリンク先のファイルが書き込みを拒否するファイルシステム上にある場合はEROFSになります。ファイルを書き込み可能にして再度切り替えてください。別のツールがファイルを生成している場合は、代わりにそのツールでmodelキーを設定してください。Claude Code で行った変更が新しいセッションで失われるを参照してください。isn't valid JSON:ディスク上のファイルが解析できず、Claude Code は読み戻せないコンテンツを上書きするのではなく、ファイルをそのままにします。構文エラーを修正してから再度切り替えてください。壊れた設定ファイルを修正するを参照してください。
couldn't confirm it was saved as your default (~/.claude/settings.json is still being written) で終わる通知は、3 秒経過しても書き込みが完了していないことを意味します。書き込みはバックグラウンドで続行されるため、デフォルトが保存される可能性はあります。次のセッションがどのモデルで開始されるかを確認するか、/model <name> を再度実行してください。
v2.1.265 より前では、書き込みが失敗した場合でも、通知はモデルが saved as your default for new sessions であると表示していました。
アドバイザーが現在のメインモデルより能力が低いです
アドバイザーモデルがセッションのメインモデルより下位にランク付けされているため、Claude Code は選択を保持しますが、メインモデルのリクエストにアドバイザーを付加しません。- 対話セッションでは、
Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisorという通知が表示されます。 --advisorフラグを付けて起動した場合は、"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.という警告が表示され、セッションはそのまま開始されます。
- より上位のアドバイザーか、より下位のメインモデルを選択してください。アドバイザーモデルを選択するでは、ランキングと各メインモデルで受け入れられるアドバイザーを一覧で示しています。
- アドバイザーがモデルに助言できる サブエージェントで引き続き使用したい場合は、アドバイザーを設定したままにしてください
thinking.type.enabled is not supported for this model
Claude Code のバージョンが選択したモデルの最小バージョンより古いです。CLI は、モデルが受け入れなくなった思考設定を送信しました。claude updateを実行して Claude Code を再起動してください。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 以降が必要です- stable リリースチャネルでは、更新しても最新の stable リリースより先には進まず、そのリリースはこれらのバージョンより古い可能性があります。latest チャネルに移行してから更新してください
- アップグレードできない場合は、
/modelを実行して代わりに Opus 4.6 または Sonnet 4.6 を選択してください - Agent SDK でこれに遭遇した場合は、代わりに SDK パッケージをアップグレードしてください。Opus 4.8 には TypeScript SDK v0.3.154 以降と Python SDK v0.2.88 以降が必要です。Sonnet 5 には TypeScript SDK v0.3.197 以降が必要です。Opus 5 には TypeScript SDK v0.3.219 以降が必要です。Opus 5.5 には TypeScript SDK v0.3.280 以降が必要です。Sonnet 5.5 には TypeScript SDK v0.3.284 以降が必要です
Effort isn’t available with thinking turned off
拡張思考をオフにして、effort レベルをhigh より上にして実行しました。モデルはその組み合わせを受け入れないため、API はリクエストを拒否しました。
· の後のヒントはセッションによって異なります:非対話セッションでは use --effort high (or the effortLevel setting) と表示され、Claude Desktop アプリが実行するセッションでは you can lower effort to High と表示されます。
対応方法:
- effort レベルを
high以下に下げてください。 - 思考をオンに戻してください。たとえば、
MAX_THINKING_TOKENSを未設定にするか、設定から"alwaysThinkingEnabled": falseを削除してください。
API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking.v2.1.251 より前では、Claude Code は設定された effort レベルでリクエストを送信していたため、思考がオフの場合、Opus 5 は high を超えるすべてのリクエストを拒否していました。現在、Claude Code は Opus 5 など、この組み合わせを拒否することがわかっているモデルには代わりに effort high を送信します。
思考予算が出力制限を超えています
設定された拡張思考の予算が最大応答長を超えているため、実際の回答のためのスペースが残っていません。CLAUDE_CODE_MAX_OUTPUT_TOKENSを思考予算より大きくしてください- 予算が出力長とどのように相互作用するかについては、拡張思考を参照してください
ツール使用または思考ブロックの不一致
会話履歴が矛盾した状態で API に到達しました。tool_use、tool_result、thinking ブロックのシーケンスが、API が期待するものと一致しなくなっています。
対応方法:
- Opus 4.7 または Opus 4.8 を使用している場合は、最初に
claude updateを実行してください。v2.1.156 より前のバージョンは、通常のツール使用中にこのエラーをトリガーすることがあり、/rewindではそれを解消できません。 /rewindを実行するか、Esc キーを 2 回押して、破損したターンの前のチェックポイントに戻り、そこから続行してください。チェックポイントがどのように作成および復元されるかについては、チェックポイント機能を参照してください。
Invalid data in redacted_thinking block
会話履歴内の以前のターンに含まれるredacted_thinking ブロックを受け入れられなかったため、API は 400 でリクエストを拒否しました。
- v2.1.281 以前を使用していて、すべてのターンがこのエラーで失敗する場合は、
claude updateを実行してセッションを再開してください - エラーが続く場合は、
/clearを実行してブロックを含まない会話を開始してください
Unsupported tool content removed
Claude Code が Anthropic API に直接接続し、保存されたセッションを読み込むまたはプレビューする場合、Anthropic API が受け入れないツールコンテンツを削除し、削除されたコンテンツが 2 つの思考ブロックの間にあった場所にこの行を残します:ANTHROPIC_BASE_URL で設定された、別のプロバイダーのツール呼び出しを変換するサードパーティプロキシです。Claude Code はセッションが Anthropic API に直接接続する場合にのみこれを削除し、セッションがプロキシ経由または別のプロバイダーで実行される場合は、保存された履歴をそのまま読み込みます。v2.1.246 より前では、Claude Code はツール使用とその結果を API に送り返し、再開されたセッションのすべてのターンが messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ... などの 400 エラーで失敗しました。
対応方法:
- プレースホルダー行が表示される場合は、対応は不要です。セッションは削除されたコンテンツなしで続行されます。
- 代わりに再開されたセッションのすべてのターンが 400 エラーで失敗する場合は、
claude updateを実行してセッションを再度再開してください。v2.1.246 より前のバージョンはコンテンツを削除しません。
role ‘system’ must precede an ‘assistant’ message
システムメッセージが、API が受け入れない会話内の位置にあるため、API は 400 でリクエストを拒否しました:use the top-level 'system' parameter for the initial system prompt など)にも同じ復旧が適用されます。
それでもエラーが表示される場合、拒否されたシステムメッセージは Claude Code が削除できるものではありません。これは通常、Claude Code と API の間のプロキシまたは LLM ゲートウェイが独自のシステムメッセージを追加したことを意味します。
対応方法:
ANTHROPIC_BASE_URLで設定されたプロキシまたはゲートウェイの背後でエラーがすべてのターンで繰り返される場合は、プロキシなしで接続して原因を確認し、その運用者にエラーを報告してください/clearを実行して新しい会話を開始してください。そこでもエラーが再発する場合、原因は保存された会話ではなく、リクエストの経路にあります。
Invalid encrypted_content in search_result block
会話履歴に API が復号化できないホスト型 Web 検索コンテンツが含まれているため、API は 400 でリクエストを拒否しました。表現は読み取れないフィールドを示します:encrypted_stdout の表現は、そのような結果を読み取ったホスト型コード実行プログラムの出力を示しており、API はこれも暗号化します。API は、別の組織向けに生成されたコンテンツなど、復号化できないコンテンツを再送するリクエストを拒否します。
Claude Code 独自の WebSearch ツールは検索結果をプレーンテキストとして記録するため、これらのブロックは通常、ホスト型 Web 検索を自ら実行したプロキシまたは LLM ゲートウェイを通じて会話に入り込みます。
3 つの Web 検索の表現については、Claude Code は検索呼び出し、結果、引用を送信内容から除外し、リクエストを 1 回再試行するため、セッションはエラーを表示せずに続行されます。encrypted_stdout の表現にはそのような復旧がないため、そのメッセージは引き続き表示されます。v2.1.282 より前では、Claude Code は拒否された Web 検索ブロックも保持し、それ以降のすべてのターンと /compact が同じように失敗しました。
対応方法:
- v2.1.281 以前を使用していて、すべてのターンが Web 検索の表現のいずれかで失敗する場合は、
claude updateを実行してセッションを再開してください - エラーが続く場合、またはメッセージが
encrypted_stdoutを示す場合は、/rewindを実行してそのコンテンツを追加したターンの前のチェックポイントに戻るか、/clearを実行してそれを含まない会話を開始してください - Claude Code をプロキシまたはゲートウェイの背後で実行している場合は、その運用者にエラーを報告してください
使用ポリシーによる拒否
会話内のコンテンツが 使用ポリシーのチェックをトリガーしたため、API は応答を拒否しました。 メッセージにDetails: `[reasoning_extraction]` という行が含まれている場合は、セーフガードが Claude の推論を求めるリクエストを警告しましたを参照してください。
メッセージには、拒否が誤りだと思われる場合にサポートに伝えることができるリクエスト ID とメッセージ ID が含まれています。
Claude を示します。
チェックは最新のプロンプトだけでなく会話全体を評価するため、同じセッションで新しいメッセージを送信すると、通常、同じ拒否が再度トリガーされます。--continue または --resume でセッションを終了して再度開いた後も同様です。ディスク上のトランスクリプトにはまだトリガーとなったコンテンツが含まれているためです。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry では、このメッセージはモデルの安全対策がサイバーセキュリティのトピックとして警告したリクエストも対象とします。安全対策がサイバーセキュリティのトピックを警告しましたを参照してください。
v2.1.219 より前では、メッセージは Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task. と表示されていました。
対応方法:
- Esc キーを 2 回押すか、
/rewindを実行して、拒否をトリガーしたターンの前のチェックポイントに戻り、言い換えるか別のアプローチを試してください。チェックポイント機能を参照してください。 - どのターンが原因であるかを特定できない場合は、
/clearを実行して同じプロジェクトで新しい会話を開始してください。以前の会話はディスクに保持され、/resumeで引き続き利用できます。 - 巻き戻しが利用できない 非対話モード(
-p)では、--continueなしの新しいセッションで、言い換えたプロンプトで再試行してください。ポリシーチェックはモデルによって異なるため、--modelで別のモデルに切り替えることで拒否が解消される場合もあります。
安全対策がサイバーセキュリティのトピックを警告しました
モデルの安全対策が、会話内のコンテンツをサイバーセキュリティのトピックとして警告しました。メッセージはリクエストを警告したモデルを示します:Details: `[reasoning_extraction]` という行が含まれている場合は、セーフガードが Claude の推論を求めるリクエストを警告しましたを参照してください。
このメッセージは、正当なサイバーセキュリティ作業へのアクセスを付与する Cyber Verification Program にリンクしています。自動モデルフォールバックを備えたモデルは、このリンクを含まない別のメッセージを表示します。Opus 5.5 と Sonnet 5.5 では、そのメッセージは <model>'s safeguards flagged this session で始まります。Claude Code が代わりにモデルを切り替える場合についても、そのセクションで説明しています。
Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry では、サイバーセキュリティの警告は代わりに 使用ポリシーによる拒否のメッセージになります。
セーフガード自体はサーバー側にあり、v2.1.203 より前から存在しています。それ以降のクライアントリリースで変更されたのはメッセージの表現のみです。
v2.1.203 から v2.1.218 までは、メッセージは <model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center: と表示され、その後に同じヘルプセンターのリンクが続き、対話セッションでは If you were not engaging in a cybersecurity topic, please send feedback via /feedback. が追加されていました。
v2.1.203 より前では、<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption: と表示され、その後に免除申請フォームのリンクが続いていました。
対応方法:
- 作業にこのコンテンツが必要な場合は、Cyber Verification Program を通じてアクセスを申請してください
- リクエストがサイバーセキュリティのトピックに関するものではなかった場合は、
/feedbackを実行して誤検知を報告してください - 同じセッションで作業を続けるには、Esc キーを 2 回押すか、
/rewindを実行して、警告をトリガーしたターンの前のチェックポイントに戻り、別のアプローチを試してください。チェックポイント機能を参照してください。
セーフガードが Claude の推論を求めるリクエストを警告しました
モデルに内部の推論を応答内で再現するよう求めるものとしてセーフガードがリクエストを警告したため、API はリクエストを拒否しました。API はこの 拒否カテゴリをreasoning_extraction と呼び、拒否メッセージには次の行が含まれます:
Details 行は含まれていませんでした。
対応方法:
- Claude に思考や推論をそのまま、または固定形式で書き出すよう求める指示(
<thinking>セクション、スクラッチパッドセクション、JSON 出力のreasoningフィールドなど)を削除するか、言い換えてください。この指示は、プロンプト内にある場合もあれば、Claude Code がプロンプトとともに読み込むカスタマイズ(CLAUDE.md、スキル、サブエージェントのプロンプト、出力スタイル、MCP ツールの説明など)内にある場合もあります。 - カスタマイズがトリガーかどうかを確認するには、ターミナルで
claude --safe-modeを実行してカスタマイズを無効にしたセッションを開始し、同じプロンプトを送信してください - カスタマイズを変更した後は、新しいセッションを開始してください
- すでに送信したプロンプトを言い換えるには、巻き戻しと要約を参照してください
- Claude に回答の説明を求めることは引き続き可能です。短い説明、結果の根拠、または実行したアクションの要約を求めてください。Claude の思考の要約を読むには、
showThinkingSummariesを参照してください。 - その他の例や、言い換えたリクエストが引き続き拒否される場合の対応については、Keep reasoning in thinking blocksを参照してください
Output blocked by content filtering policy
API の出力コンテンツフィルターが、Claude が生成していた応答を停止しました。メッセージテキストは API から送られます:- 最後のメッセージを言い換えるか、別のアプローチを試してください
- ブロックをトリガーしたターンの前のチェックポイントに戻るには、Esc キーを 2 回押すか、
/rewindを実行してください。チェックポイント機能を参照してください
コマンドラインエラー
これらのエラーは、claude コマンドラインとそのサブコマンド、プロンプトで送信したコマンド名、そして /security-review のようにプロンプトの実行前にシェルコマンドを実行してコンテキストを収集するコマンドから発生します。CLI を再起動する /tui からも発生します。
--bg と --print の競合
このメッセージには Claude Code v2.1.198 以降が必要です。同じ claude の呼び出しで --bg と -p または --print を組み合わせました。--bg は後から claude agents でアタッチするバックグラウンドセッションを開始しますが、--print は非対話で実行され、claude agents がアタッチする対話セッションを開始しません。v2.1.198 より前は、この組み合わせによって、アタッチできないバックグラウンドジョブが何も通知されずに作成されていました。
-pまたは--printを削除します。--bgはプロンプトを位置引数として受け取るため、claude --bg "<task>"だけで完全なコマンドになります。シェルから新しいエージェントをディスパッチするを参照してください。- バックグラウンドセッションを作成せずにプロンプトを非対話で実行して結果を出力するには、
--bgを削除してclaude -p "<task>"を実行します
システムプロンプトフラグとそのファイル形式の競合
1 回のclaude の呼び出しで --append-subagent-system-prompt と --append-subagent-system-prompt-file を同時に渡したため、claude はセッションを開始せずに終了コード 1 で終了します:
--system-prompt と --system-prompt-file、または --append-system-prompt と --append-system-prompt-file を渡した場合にも、claude は同じように終了していました。これらの組み合わせは結合されずに競合していたためです。これらのバージョンでは、メッセージに組み合わせたフラグのペアが表示されます。
対処方法:
- フラグの一方の形式だけを残し、もう一方を削除します。固定のプロンプトファイルと実行ごとのテキストを組み合わせるには、両方のフラグを渡すのではなく、起動前にテキストをファイルにマージします
Invalid --agents configuration
--agents に渡した値が無効なため、claude はセッションを開始せずに終了コード 1 で終了します。--safe-mode を渡すか CLAUDE_CODE_SAFE_MODE を設定すると、Claude Code は --agents を完全に無視します。--resume または --continue を使用する場合、インライン JSON の値はチェックされずにセッションが開始されますが、ファイルから読み込んだ値は起動のたびにチェックされます。v2.1.242 より前は、Claude Code はそれでもセッションを開始していました。
- 値が
{で始まるのに JSON として解析できない場合、または--agentsファイルの内容を解析できない場合、Claude Code は JSON パーサー自身のメッセージを含むinvalid JSON:行を 1 行出力します - 解析はできるものの、エージェント定義が CLI で定義されたサブエージェントのスキーマに一致しない場合、Claude Code は問題ごとに 1 行を出力します
- エージェント名が
-で始まる場合、Claude Code は<name>: agent names must not start with '-'を出力します
…and N more に置き換えます。
--print を使用する場合、--agents はインラインのオブジェクトの代わりに JSON ファイルへのパスも受け付けます。v2.1.281 より前は、--agents はインライン JSON のみを受け付け、ファイルパスを無効な JSON として扱っていました。ファイル形式には独自の拒否メッセージがあり、このメッセージの代わりに出力されます。たとえば次のようなものがあります:
Error: --agents takes a JSON object, or a file path only with --print (-p): Claude Code が対話セッションで値をファイルパスとして読み取りました。定義をインライン JSON として渡すか、-pを追加してファイルから読み込ませてください。Error: --agents file not found: <path>: そのパスにファイルが存在しません。{で始まらず有効な JSON でもない値はパスとして読み取られるため、シェルによって崩れたインライン JSON でもこのように失敗することがあります。パスまたはクォートを確認して、コマンドを再実行してください。
- メッセージに列挙された各問題を修正してから、コマンドを再実行します。CLI で定義されたサブエージェントが受け付けるフィールドを参照してください。
Cloud sessions cannot be created from a --restricted session
--restricted でセッションを開始した場合、Claude Code はそのセッションからクラウドセッションを作成することを拒否します。新しいセッションは制限されたプロセスの外部で実行され、制限モードを適用しないためです。Claude Code はサーバーに接続する前にクライアント側で拒否するため、クラウドセッションは作成されません:
- 制限されたセッション内でタスクをローカルに実行します
- セッションの起動方法を制御できる場合は、
--restrictedを付けずに新しいclaudeセッションを開始し、そこからクラウドセッションを作成します
--restricted フラグがありません。それ以前のバージョンでは、フラグ自体が不明なオプションのエラーとして拒否されます。
Cloud sessions are disabled by your organization’s policy
組織のallow_remote_sessions ポリシーがオフになっているため、クラウドセッションとそれを使用するコマンドは利用できません:
/teleport、/remote-env、/web-setup など、クラウドセッションを必要とするコマンドを送信したときに表示されます。v2.1.268 より前は、これらのコマンドを送信すると代わりに Unknown command が返されていました。
メッセージが、このセッションで使用している認証情報を挙げ、Cloud sessions use your claude.ai login. で終わっている場合は、Cloud sessions use your claude.ai login を参照してください。Claude Code が組織のポリシーをまったく読み込めなかった場合は、代わりに別のメッセージが表示されます。
対処方法:
- 組織の Owner に、claude.ai/admin-settings/claude-code の Claude Code 管理設定でクラウドセッションを有効にするよう依頼します
Cloud sessions use your claude.ai login
ポリシーによる拒否のメッセージが、このセッションで使用している認証情報を挙げ、この文で終わっている場合、Claude Code はその認証情報を発行した組織のクラウドセッションポリシーをチェックしています。その組織は、claude.ai のログインが属する組織とは異なる場合があります:--cloud や --teleport などを使用して、シェルからクラウドセッションを開始、再開、またはメッセージを送信したときに表示されます。v2.1.296 より前は、この場合にも、組織の管理者に連絡するよう求める形式が出力されていました。
Couldn’t verify your organization’s policy for cloud sessions
これらのメッセージは、Claude Code が組織のポリシーを読み込めなかったことを意味します。Claude Code は、クラウドセッションを作成、再開、またはメッセージを送信する前にこのポリシーをチェックします。ポリシーのリクエストが完了していない間は、次のメッセージが表示されます:/teleport や /web-setup など、クラウドセッションを必要とするコマンドでもこのメッセージが表示されます。シェルであれば Cloud sessions aren't available: の形式が出力される場合でもこのメッセージが表示され、2 文目は Check your network connection, then restart Claude Code and try again. となります。
ポリシーのリクエストが失敗した後は、メッセージに何が失敗したかが示されます。これは、--cloud や --teleport などのフラグを使用して、シェルからクラウドセッションを開始、再開、またはメッセージを送信した場合に該当します。API への経路がない場合は、次のように表示されます:
ANTHROPIC_API_KEY 環境変数など、このセッションが claude.ai のログインの代わりに使用している認証情報を API が受け付けなかった場合、メッセージにはその認証情報の名前と、その設定を解除するよう求める内容も含まれることがあります:
Couldn't verify メッセージが出力されていました。
対処方法:
Couldn't verifyメッセージの場合は、ネットワーク接続を確認して再試行します。セッション内の場合は、まず Claude Code を再起動しますCloud sessions aren't available:メッセージの場合は、プロキシの確認や、メッセージに示された認証情報の設定解除など、原因に応じた対処を行ってから、コマンドを再実行します
追跡対象のファイルがフォルダーに置き換わったため何もスタッシュされなかった
このメッセージは、チェックアウト内で、git が追跡しているファイルまたはリンクがあった場所にフォルダーが存在するようになったことを意味します。これは、claude --teleport や /teleport などでクラウドセッションをターミナルに取り込む際にスタッシュのオプションを選択した後に表示されます。その状態をスタッシュするとフォルダー内のファイルが削除される可能性があるため、Claude Code はスタッシュを拒否し、チェックアウトとインデックスを変更せずにそのままにします:
- メッセージのとおり、変更をコミットするかフォルダーを別の場所に移動してから、teleport を再実行します
The --json-schema value is not a valid JSON Schema
非対話モードで --json-schema に渡したスキーマが JSON Schema のコンパイルに失敗したため、claude はプロンプトを実行せずに終了コード 1 で終了します。v2.1.205 より前は、無効なスキーマはエラーなしに構造化されていない出力を生成し、format キーワードを使用するスキーマはすべて無効として扱われていました。
"format": "email" のように format キーワードを使用するスキーマは有効です。Claude Code は format を注釈として受け付け、その内容を強制しません。
Claude Code はスキーマのコンパイルの前に 2 つのチェックを行います。解析可能な JSON でない値は Error: --json-schema is not valid JSON で、オブジェクトではない有効な JSON は Error: --json-schema must be a JSON object で拒否されます。
対処方法:
- 診断メッセージが示すスキーマの部分を修正してから、コマンドを再実行します
- 動作するスキーマとコマンドの例については、構造化された出力を取得するを参照してください
Settings file exceeds the 2MiB limit
--settings に渡したファイルが 2 MiB を超えているため、claude はファイルを読み込まずに起動時に終了コード 1 で終了します。v2.1.214 より前は、Claude Code はサイズをチェックせずにファイルを読み込んでいたため、数ギガバイトのファイルや /dev/zero などのデバイスファイルによってメモリが際限なく増加していました。
--settings のパスも同じように拒否します。デバイス、FIFO、ソケットの場合は Error: Cannot use settings file (Not a regular file (device, FIFO, or socket)) の後にパスが表示され、ディレクトリの場合は EISDIR という理由が表示されます。
対処方法:
--settingsには 2 MiB 未満の通常の JSON 設定ファイルを指定します。形式については設定を参照してください。
The current directory no longer exists
シェルがディレクトリに入った後に削除または移動されたディレクトリ(たとえば、別のシェルが削除した worktree や一時ディレクトリ)からclaude を開始しました。Claude Code は作業ディレクトリを読み取れないため、対話モードでも非対話モードでも、セッションを開始する前に終了コード 1 で終了します。v2.1.239 より前は、このメッセージの代わりに、Claude Code はミニファイされたバンドルのソースと生の ENOENT ... uv_cwd スタックを stderr に出力してクラッシュしていました。
Can't read the current directory (EACCES). Start Claude Code from a different directory.
macOS で、~/Desktop、~/Documents、~/Downloads、または iCloud Drive 内のディレクトリに対して EPERM が表示される場合、通常は macOS がターミナルアプリによるそのフォルダーへのアクセスをブロックしています。そのフォルダーを読み取る他のコマンドも同じように失敗します。そこで ls を実行すると、sudo を付けても Operation not permitted が表示されます。
対処方法:
- ホームディレクトリやプロジェクトディレクトリなど、存在するディレクトリに移動してから、
claudeを再実行します - ディレクトリが同じパスに再作成された場合、シェルはまだ削除されたディレクトリを保持しています。
cd "$PWD"を実行するか、ディレクトリから出て再び入ってから、claudeを再実行します - macOS で
EPERMが表示される場合は、Cmd+Q でターミナルアプリを終了し、再度開いてそのフォルダーに戻ってからclaudeを実行します。それでもそのフォルダーでlsが失敗する場合は、システム設定 > プライバシーとセキュリティ > ファイルとフォルダ を開き、ターミナルアプリに対してそのフォルダーをオンにしてから、ターミナルを開き直します
一時ディレクトリが拒否される、または作成できない
macOS と Linux では、Claude Code は起動時に、システムの一時ディレクトリまたはCLAUDE_CODE_TMPDIR による上書き先の下に、専用の一時ディレクトリ claude-<uid> を作成します。ディレクトリを作成できない場合、またはそのパスにすでに存在するエントリが安全性チェックに失敗した場合、Claude Code はセッションを開始せずに、失敗内容を stderr に出力して終了コード 1 で終了します:
ENOSPCの場合は、一時ディレクトリがあるボリュームのディスク容量を空けますRefusing to use itを含む形式の場合は、リンクの参照先ではなく、示されたエントリ自体を削除してから、Claude Code を再起動します。owned by uidの形式の場合、削除できるのは管理者またはそのユーザーのみですis not readableの場合は、示されたディレクトリに対してchmod 0700を実行するか、ディレクトリを削除してから再起動します- いずれの場合も、拒否されたパスには手を触れずに、
CLAUDE_CODE_TMPDIRを自分が管理するディレクトリに設定して Claude Code を再起動することもできます
Directory couldn’t be resolved to a real location
作業ディレクトリのサブディレクトリに対して/add-dir を実行しましたが、Claude Code がそのディレクトリを実際の場所に解決できませんでした。
作業ディレクトリのサブディレクトリにはすでにファイルアクセス権があるため、/add-dir はそのスキル、コマンド、エージェントを読み込むだけです。読み込む前に、Claude Code はシンボリックリンクを解決したディレクトリの実際の場所が作業ディレクトリ内にあることをチェックします。その場所を解決できない場合、Claude Code は何も読み込まずに次のメッセージを表示します:
- パスが作業ディレクトリ内の実在するディレクトリを指していることを確認してから、
/add-dirを再実行します - このメッセージはファイルアクセスを変更しません。ディレクトリの
.claude/の内容が読み込まれなかったことを報告しているだけです
/net/<host> の自動マウント上にある場合、すべての /add-dir <subdirectory> でもこのメッセージが表示されていました。Claude Code は設計上そのようなパスを解決しないためで、ディレクトリには問題がなく、再試行しても解決しませんでした。
Workspace not trusted when starting Remote Control
信頼していないディレクトリでclaude remote-control またはそのエイリアス claude rc を使用して Remote Control のサーバーモードを開始しましたが、コマンドがそのディレクトリを信頼するかどうかを確認できませんでした。たとえば、標準入力または標準出力のいずれかがリダイレクトまたはパイプされているため、ターミナルではない場合です。コマンドは終了コード 1 で終了します:
Error: Workspace not trusted. で始まる 2 つのバリエーションが、ディレクトリを信頼すると何が有効になるかを表示するには小さすぎるターミナル、またはサイズを報告しなかったターミナルで表示されます。ウィンドウを大きくするか通常のターミナルウィンドウに切り替えてから、claude rc を再実行してください。
ホームディレクトリでは、メッセージが異なります。ワークスペースの信頼ダイアログはホームディレクトリの信頼を保存しないため、そこでダイアログを承認してもこのチェックを満たせないからです。v2.1.214 より前は、ホームディレクトリでも上記のメッセージが表示されていましたが、その助言はホームディレクトリでは成功しません。
Trust <directory>? の質問に n と答えるか Enter を押した場合、コマンドはディレクトリ名を含む Remote Control did not start メッセージを出力して終了コード 1 で終了します。y と答えるには claude rc を再実行してください。
対処方法:
- まずターミナルからディレクトリを信頼します。そこで
claude rcを実行してyと答えるか、そこでclaudeを実行してワークスペースの信頼ダイアログを承認してから、元のコマンドを再実行します - ホームディレクトリにいる場合は、プロジェクトディレクトリに移動してそこで Remote Control を開始します
Not carried over to the sessions Remote Control starts
remote-control 動詞の前に、Remote Control が開始するセッションを制限または設定するグローバルな claude フラグ(--settings、--setting-sources、--permission-mode、--disallowed-tools、--mcp-config など)を付けて Remote Control を開始しました。動詞の前に置いたフラグは、それらのセッションに届きません。Claude Code は代わりに、フラグ名を示して起動を拒否します:
--verbose、--model、ラッパーによって挿入される --session-id や --plugin-dir など、破棄しても問題のないグローバルフラグについては、Claude Code は拒否しません。それらを無視して Remote Control を開始します。
Claude Code は、まだ無害と認識していないグローバルフラグについても起動を拒否します。そのため、新しいリリースで追加されたフラグは、後のリリースで無害とマークされるまでこのメッセージに表示されることがあります。
対処方法:
- 動詞の前からフラグを削除し、Remote Control 独自のオプションを動詞の後に渡します。
claude remote-control --helpでそれらの一覧を確認できます - 拒否されたフラグが
--permission-modeの場合は、claude remote-control --permission-mode <mode>を実行して、Remote Control が開始するセッションの権限モードを設定します
claude remote-control は独自のフラグを受け付けず、コマンドは unknown option エラーで失敗していました。
claude import is not yet available in this build
claude import を実行しましたが、Claude Code がインポートフローがオフになっていることを検出したため、コマンドはインポートを開始せずに終了コード 1 で終了します。v2.1.222 より前は、インポートフローがオフのビルドでは import がプロンプトとして扱われ、このメッセージを出力する代わりに対話セッションが開始されていました。
claude import をオンにします。このメッセージは、キャッシュされた値がオフであることを意味します。原因は通常、次のいずれかです:
- インストール後にまだセッションを開始していないため、Claude Code がフラグをまだ取得していません。機能が利用可能な場合でも、最初の
claude importでこのメッセージが出力されることがあります。 - Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、Claude Platform on AWS、または Claude apps gateway を通じて Claude Code を使用しています。これらのセッションでは Claude Code が機能フラグを取得しないため、
claude importは利用できないままです。 - 機能フラグの取得をオフにする
DISABLE_TELEMETRY、DO_NOT_TRACK、DISABLE_GROWTHBOOK、またはCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICを設定しているため、claude importは利用できないままです。
- 新規インストールの場合は、
claudeを起動し、セッションが読み込まれるのを待ってから終了し、claude importを再実行します - 機能フラグの取得がオフのままの環境では、設定を自分でセットアップします。
claude mcp addで MCP サーバーを追加し、引き継ぎたいCLAUDE.mdファイル、スキルとコマンド、サブエージェントを作成します。メッセージでは~/.claude/settings.jsonも挙げられていますが、claude importが引き継ぐ設定のうち、このファイルに保存されるのは権限モードだけです。Claude Code はこのファイルから MCP サーバーを読み込みません。
Could not read Claude Code config
Claude Code が~/.claude.json(ログインとプロジェクトごとの状態を保存するファイル)を解析できない状態で claude import を実行しました。このサブコマンドは利用可否をチェックするためにそのファイルを読み込みますが、対話セッションが表示する復旧ダイアログは表示しないため、終了コード 1 で終了します。v2.1.222 より前は、設定ファイルが読み取れない状態で claude import を実行すると対話セッションが開始され、その復旧ダイアログでファイルが処理されていました。
- 引数なしで
claudeを実行します。Claude Code が無効なファイルを検出し、リセットを提案します。その後、claude importを再実行します。 - 手動で加えた編集を残したい場合は、代わりにエディターで
~/.claude.jsonの JSON 構文を修正してから、claude importを再実行します
Could not import a server from Claude Desktop
Claude Code は、claude mcp add-from-claude-desktop で選択したサーバーのいずれかを追加できませんでした。コマンドは選択された他のサーバーのインポートを続行し、追加できなかったサーバーごとに 1 行を出力します。v2.1.205 より前は、最初に失敗したサーバーでインポートが停止していました。
claude mcp では英字、数字、ハイフン、アンダースコアに制限されています。その他の理由としては、サーバー設定の検証の失敗や、組織の MCP ポリシーによってブロックされたサーバーなどがあります。
対処方法:
claude_desktop_config.json内のサーバー名を英字、数字、ハイフン、アンダースコアのみを使用する名前に変更してから、claude mcp add-from-claude-desktopを再実行します- 有効な名前で、
claude mcp addまたはclaude mcp add-jsonを使用してそのサーバーを直接追加します。Claude Desktop から MCP サーバーをインポートするを参照してください。
Cannot add MCP server to the managed scope
--scope managed を付けて claude mcp add または claude mcp add-json を実行しました。このスコープには、組織が managedMcpServers 管理設定を通じて提供するサーバーが含まれます。Claude Code はこれらを管理設定からのみ読み込むため、コマンドはそのスコープにサーバーを書き込めません。
- 書き込み可能なスコープ(
local、user、またはproject)にサーバーを追加します。--scopeを指定しない場合、コマンドはlocalを使用します。MCP のインストールスコープを参照してください - 組織内のすべてのユーザーにサーバーを提供するには、デプロイする管理設定の
managedMcpServersにサーバーを追加します
管理設定でプラグインのサーバーのみが許可されている場合に MCP サーバーを追加できない
組織の管理設定でstrictPluginOnlyCustomization が true、または mcp を含むリストに設定されている状態で、claude mcp add または claude mcp add-json を実行しました。この設定では、Claude Code は ~/.claude.json や .mcp.json から MCP サーバーを読み込まないため、コマンドは決して読み込まれないサーバーを保存する代わりに、終了コード 1 で終了します:
claude mcp add-from-claude-desktop は、選択した各サーバーをインポートされなかったものとして報告し、その理由としてこのメッセージを表示します。/import は、追加しようとした各 MCP サーバーについてこのメッセージを報告し、見つかった他の項目のインポートは続行します。
v2.1.284 より前は、これらのコマンドはサーバーを保存して成功を報告していましたが、サーバーが読み込まれることはありませんでした。
対処方法:
- サーバーを提供するプラグインをインストールします
- 管理者に、サーバーをプラグインで配布するか、リモート HTTP または SSE サーバーであれば
managedMcpServersを通じて提供するよう依頼します
Can’t read .mcp.json
プロジェクトの.mcp.json を読み込むコマンド(--scope project を付けた claude mcp add や claude mcp add-json、または claude mcp remove など)が、現在のディレクトリにあるそのファイルが通常のファイルではないか、2 MiB を超えていることを検出したため、ファイルを読み込まずにこのエラーで終了します。
.mcp.json が FIFO の場合はコマンドが出力なしで永久に待機し、/dev/zero などのデバイスファイルへのシンボリックリンクの場合はプロセスが強制終了されるまでメモリが増加していました。
対処方法:
- 現在のディレクトリの
.mcp.jsonにあるものを確認します。プロジェクトスコープの形式の通常の JSON ファイルに置き換えるか削除してから、コマンドを再実行します。
MCP server was not saved or removed
user または local スコープのサーバーに対して claude mcp add、claude mcp add-json、または claude mcp remove を実行しました。どちらのスコープも ~/.claude.json に保存されますが、書き込み後に Claude Code がそのファイルを読み直したときに、変更が反映されていませんでした。コマンドは成功を示す行の代わりにこのエラーで終了します。
was not removed from となり、then remove the server again で終わります。local スコープのサーバーの場合、パスの後にエントリが属するプロジェクトディレクトリが (local scope for /path/to/project) の形式で続きます。
v2.1.283 より前は、変更がファイルに反映されなかった場合でも、claude mcp add、claude mcp add-json、claude mcp remove は成功を報告していました。
対処方法:
- メッセージに示されたファイルを書き込み可能にするか、サンドボックスの外でコマンドを実行してから、同じ追加または削除のコマンドを再実行します。
MCP server may not have been saved or removed
user または local スコープのサーバーに対して claude mcp add、claude mcp add-json、または claude mcp remove を実行しましたが、Claude Code が変更を確認するために ~/.claude.json を読み直せませんでした。変更はディスクに反映されている場合もあれば、されていない場合もあります。括弧内のテキストは、その読み込み時のエラーです。
may not have been removed となり、then remove the server again if it is still listed で終わります。
v2.1.283 より前は、変更を確認できなかった場合でも、これらのコマンドは成功を報告していました。
対処方法:
claude mcp get <name>を実行して、変更がディスクに反映されているかを確認します。localスコープのサーバーの場合は、ローカルスコープがプロジェクトごとであるため、サーバーが属するプロジェクトディレクトリから実行します。- 追加の後にサーバーが存在しない場合、または削除の後にまだ一覧に表示される場合は、同じ追加または削除のコマンドを再実行します。
Server is Anthropic-hosted and doesn’t support local OAuth
URL が、サードパーティの ID プロバイダーを通じて認証する Anthropic ホストのコネクタホストを指している MCP サーバーに対してサインインを開始しました。これらのホストにはmicrosoft365.mcp.claude.com、gmail.mcp.claude.com、gcal.mcp.claude.com が含まれます。これらのサインインは claude.ai を通じてのみ機能するため、Claude Code は /mcp パネルからも claude mcp login からも、これらのホストに対するローカルの OAuth フローの開始を拒否します。
- 同じ URL の claude.ai コネクタが隠れないように、
claude mcp remove <name>でエントリを削除します - 削除した後、Claude Code で使用しているアカウントにサインインした状態で、claude.ai/customize/connectors でサービスを接続します。接続後、アクティブな認証方法が claude.ai のサブスクリプションログインであれば、コネクタは Claude Code に自動的に表示されます
Server rejected the Authorization header minted by the configured headersHelper
headersHelper が Authorization ヘッダーを提供する MCP サーバーが HTTP 401 または 403 で接続に応答したため、Claude Code は接続を失敗として報告します。ヘルパーが Authorization ヘッダーを提供するため、Claude Code はそのサーバーについて OAuth にフォールバックしません:
- Claude Code が実行するのと同じ方法で、
headersHelperコマンドを自分で実行します。つまり、Claude Code がヘルパーを実行するディレクトリから、Claude Code がヘルパー用に設定する環境変数を付け、プロジェクトの.mcp.json、プラグイン、またはプロジェクトのエージェントファイルのサーバーの場合はClaude Code が削除する認証情報の変数を除いて実行します。サーバーのエンドポイントが受け付けるAuthorizationの値が出力されることを確認してください - ヘルパーまたはその認証情報のソースを修正した後、
/mcpでサーバーを選択し、Reconnect を選択します
Authorization ヘッダーを提供するサーバーに対しても Claude Code は OAuth の検出を実行していました。その検出は、拒否された認証情報を報告する代わりに、Incompatible auth server: does not support dynamic client registration で失敗することがありました。
MCP permission prompt tool not found
--permission-prompt-tool に渡したツールが、実行で初めて権限の判断が必要になった時点で、接続済みの MCP ツールの中にありませんでした。そのサーバーが接続しなかったか、接続済みのどのサーバーもその名前のツールを公開していないためです。Claude Code はそれでもプロンプトを送信します。非対話の実行は最初のツール呼び出しでこのエラーと終了コード 1 で終了するため、リクエストは行われたものの回答は生成されません。最初のプロンプトの前に、Claude Code はそのサーバーが接続するまで、MCP_TIMEOUT で設定されるサーバーごとの接続タイムアウト(30 秒)まで待機します。v2.1.206 より前は、起動時にサーバーの接続完了を待たなかったため、起動が遅いものの正常なサーバーでもこのエラーが発生していました。
Available MCP tools: の後の一覧は、接続されていた MCP ツールを示します。
対処方法:
- サーバーが起動し、接続を維持していることを確認します。同じディレクトリで
claude mcp listを実行し、サーバーが接続済みとして一覧に表示されることを確認してください - ツール名が、サーバーが公開する
mcp__<server>__<tool>の名前と一致することを確認します - サーバーの起動に 30 秒より長くかかる場合は、
MCP_TIMEOUTの値を引き上げます
OAuth callback port is already in use
OAuth でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためのローカルリスナーを起動します。そのリスナーが必要とするポートを別のプロセスが保持している場合、サインインはこのメッセージで失敗します。これは主に、MCP_OAUTH_CALLBACK_PORT 変数または --callback-port で固定のコールバックポートを設定している場合に発生します。固定ポートを設定しない場合、Claude Code は利用可能なポートを選ぶためです。
netstat -ano | findstr :<port> が提案されます。
対処方法:
- メッセージのコマンドを実行してポートを保持しているプロセスを特定し、そのプロセスを停止するか、終了するまで待ちます
- 別のプログラムがそのポートを常に必要とする場合は、サーバーに別のリダイレクト URI を登録し、使用している方法に応じて
MCP_OAUTH_CALLBACK_PORTまたは--callback-portでそのポートを設定します - その後、たとえば
/mcpでサーバーを選択して、サインインを再度開始します
No available ports for OAuth redirect
OAuth でリモート MCP サーバーにサインインすると、Claude Code はサインインのコールバックを受け取るためのローカルリスナーを起動します。そのためのローカルポートを Claude Code がバインドできない場合、サインインはこのメッセージで失敗します。セキュリティソフトウェアや、ローカルリスナーを拒否するサンドボックスポリシーなど、マシン上の何かが127.0.0.1 での待ち受けを妨げています。
- セキュリティソフトウェアまたはサンドボックスポリシーが、プロセスによる
127.0.0.1での待ち受けをブロックしていないかを確認し、Claude Code がローカルポートをバインドできるように許可します - その後、たとえば
/mcpでサーバーを選択して、サインインを再度開始します
origin/HEAD がない場合に /security-review が失敗する
/security-review は、ブランチと origin/HEAD(origin リモートでどのブランチがデフォルトかを記録するローカル参照)との差分を取ることで、レビューのコンテキストを構築します。その参照が存在しない場合、差分を収集する git コマンドが失敗し、レビューは開始前に停止します。
git log や別の git diff が引用されている場合もあります。Git が origin/HEAD を作成するのは、リモートがデフォルトブランチを通知し、フェッチの refspec がそれを含む場合だけです。コミットのあるリモートを完全に git clone した場合はこれに該当します。次のような構成では、参照が存在しません:
- 単一ブランチのチェックアウトや CI のチェックアウト。フェッチする refspec が狭すぎます
- サーバー側の HEAD が、誰もプッシュしていないブランチを指しているリモート
originリモートがないリポジトリ、または一度もフェッチしていないリポジトリ
Shell command permission check failed for pattern "...": コマンドの権限チェックで許可されませんでした。挿入されたコマンドの権限チェックでは、各権限モードでどの結果によって中止されるか、およびallowed-toolsでコマンドを事前承認する方法を説明していますSkill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found: スキルのフロントマターが、bash のないマシンで bash を要求しています。Git for Windows をインストールするか、フロントマターをshell: powershellに変更してください。挿入されたコマンドの実行方法を参照してください
- リモートのデフォルトブランチを指定して参照を作成します:
git remote set-head origin <default-branch>。これは、ローカルの追跡参照origin/<default-branch>が存在する場合に機能します。単一ブランチのクローンのように存在しない場合は、まずブランチをフェッチします。git remote set-branches --add origin <branch>を実行し、次にgit fetch originを実行してから、set-head コマンドを再実行します。その後、/security-reviewを再実行します。 - ブランチを指定したくない場合は、
git fetch originを実行してからgit remote set-head origin --autoを実行します。これはリモートにデフォルトブランチを問い合わせます。リモートが空であるか、HEAD が誰もプッシュしていないブランチを指しているためにデフォルトブランチを通知しない場合は、error: Cannot determine remote HEADで失敗します。その場合は代わりにブランチを明示的に指定してください。クローンがそのブランチをフェッチしない場合はerror: Not a valid refで失敗します。まず上記のとおり refspec を広げてください。 - リポジトリにリモートがない場合は、
git remote add origin <url>でリモートを追加し、フェッチしてから参照を作成します。リモートが空の場合は、まずgit push -u origin HEADでブランチをプッシュし、set-head コマンドでそのブランチを指定します。するとorigin/HEADはプッシュしたばかりのブランチを指すため、ブランチがそこから分岐するまで/security-reviewには空の差分が表示されます。
Input must be provided when using --print
引数なしの claude で対話 UI を開始するには、stdout がターミナルである必要があります。stdout がリダイレクトされている場合や、PowerShell ISE や一部の IDE の出力ペインのようにコンソールが本物のターミナルではない場合、claude は代わりに非対話で実行されます。これは claude -p と同じモードで、プロンプトが必要です。そのため、フラグを渡していなくてもメッセージには --print が示されます。プロンプトなしで、stdin にも何もパイプせずに -p/--print を渡した場合も、どこであっても同じエラーが発生します。
- 対話的に使用する場合は、本物のターミナルで
claudeを実行します。ISE ではなく Windows Terminal または PowerShell コンソールを、出力ペインではなく IDE の統合ターミナルを使用してください - 単発で使用する場合は、プロンプトを渡します:
claude -p "your question"、またはecho "your question" | claude -pでパイプします
Claude Code can’t read the keyboard here
-p を付けずに claude を実行したため対話セッションが開始されますが、その標準入力がターミナルではありません。何かがパイプまたはリダイレクトしているか、claude を起動したプログラムが独自の入力ストリームを提供しています。
対話セッションではキー入力を読み取るためのターミナルが必要であり、ターミナルがない場合の Claude Code の動作はプラットフォームによって異なります:
- Windows: Claude Code はインターフェースを開始せず、メッセージを stderr に出力して終了コード 1 で終了します
- macOS と Linux: Claude Code は
/dev/ttyからキー入力を読み取ってセッションを開始し、パイプされたテキストがあれば最初のプロンプトとして使用します。/dev/ttyを開けない場合にメッセージが表示され、その 1 行目では Windows の文言の代わりに/dev/ttyが示されます。
- 対話的に作業するには、入力をパイプまたはリダイレクトせずに、ターミナルで直接
claudeを実行します - スクリプトからなど、対話インターフェースなしで応答を得るには、
-pを追加し、claude -p "your question"やecho "your question" | claude -pのように、プロンプトを引数または stdin で渡します。--continueや--resume <session-id>でも同じように機能します。
Raw mode is not supported を含むエラーで失敗していました。
代わりに claude install の実行中に Raw mode is not supported が表示される場合は、インストール中の Raw mode is not supported を参照してください。
Input contained only whitespace
非対話モードでは、Claude Code はスペース、タブ、改行だけで構成されたプロンプトを送信せずに拒否します。API は表示可能なテキストのないメッセージを拒否するためです。表示されるメッセージは、空白のプロンプトがどこから来たかによって異なります:claude -pのプロンプト引数またはパイプされた stdin:claudeはError: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --printで終了します- 実行中の
--input-format stream-jsonまたは Agent SDK セッションに送信されたメッセージ: Claude Code はモデルを呼び出さずにターンを終了し、セッションは引き続き使用できます。拒否は、情報メッセージとして、またターンの結果テキストとして届きます:Blank prompt — the message was only whitespace, so nothing was sent to the model.
- プロンプトに表示可能なテキストを含めます。スクリプトが変数やファイルからプロンプトを作成する場合は、Claude Code を呼び出す前にソースが空でないことを確認します。
stream-json input carried over 256M characters with no newline
プログラムがclaude -p --input-format stream-json の実行に対して、改行なしで 268,435,456 文字を超える内容を stdin に送信したため、Claude Code は入力をそれ以上バッファリングせずに、このエラーを stderr に出力して終了コード 1 で終了します。メッセージではこの上限を 256M と表記しています。v2.1.257 より前は、Claude Code はそのような入力を無制限にバッファリングし、プロセスがクラッシュするか強制終了されるまでメモリが増加していました。
- stdin に何がパイプされているかを確認します。
--input-format stream-jsonでは、すべてのメッセージが改行で終わる 1 行の JSON である必要があります - 代わりにプレーンテキストを送信するには、
--input-format stream-jsonを削除します。claude -pはデフォルトで stdin からプレーンテキストのプロンプトを読み取ります
Unknown command
対話型のターミナルセッションで、このセッションのどのコマンドにも一致しない/ 名を送信したため、Claude Code は何も実行せずにその名前を報告します:
/helpを/heplと入力するようなタイプミス。コマンドメニューが入力内容とどのように一致するかでは、送信前に近い候補を選ぶ方法を説明しています- コマンドは存在するものの、プラットフォーム、プラン、認証方法などの要件が満たされていないため、このセッションでは利用できない。
/web-setupと/scheduleのトラブルシューティング項目で、よくある 2 つのケースを説明しています。一部のコマンドは、組織のポリシーで無効になっている場合に、Cloud sessions are disabled by your organization's policyのような独自のメッセージで応答します - このセッションでインストールまたは接続されていないプラグインや MCP サーバーのコマンド
/ 名にこのように応答するのは、対話型のターミナルセッションの場合だけです。それ以外のすべてのセッションでは、代わりにプロンプトを通常のメッセージとして Claude に送信し、コマンドが実行されなかったことを示すメモと、セッションで Claude が実行できるコマンドの一覧を添えます。そのようなセッションには次のものがあります:
-pでの実行- Agent SDK アプリケーション
- デスクトップアプリの Code タブ
- VS Code 拡張機能のチャットパネル
- クラウドセッションとルーティン
Unknown command と応答していました。
Claude Code は、/ で始まるすべてのプロンプトをコマンドとして扱うわけではありません。/ の後の最初の単語が、Lean のドキュメントコメントを開始する /-- のように句読点で始まる場合、または /var/log/syslog のようなパスである場合は、プロンプトを通常のメッセージとして Claude に送信します。
v2.1.236 より前は、入力した名前に近い候補がコマンドメニューに表示されている状態で Enter を押すと、Claude Code はその候補を実行していました。そのため、/hepl のようなタイプミスでは、このメッセージを表示する代わりに /help が実行されていました。
対処方法:
- 提案された名前を実行するか、
/に続けて名前の一部を入力し、このセッションで利用できるものを確認します - ドキュメントに記載されたコマンドが不明として報告される場合は、コマンドリファレンスのその行で、示されている要件を確認します
Diff is too large for ultrareview
コミットされていない変更やステージされた変更を含む、ブランチとベースブランチとの差分が ultrareview のサイズ制限を超えているため、/code-review ultra と claude ultrareview サブコマンドは、クラウドセッションの開始前にレビューを拒否します。拒否されたレビューは無料実行回数を消費せず、使用クレジットも請求されません。メッセージには、適用されている制限、差分のサイズ、そして変更行数が最も多いファイルが示されます。v2.1.216 より前は、メッセージには生の差分統計のみが表示されていました。
PR #<N> is too large for ultrareview で始まり、PR のファイル数と行数が示されます。
対処方法:
/code-review ultra developのように、作業に近いベースブランチを渡して、レビューがそのブランチとの差分だけを対象とするようにします- 変更をより小さなブランチに分割し、それぞれをレビューします。メッセージに示されたファイルは変更行数が最も多いため、まずそれらを専用のブランチに移動することから始めてください。
Could not find merge-base with the base branch
/code-review ultra と claude ultrareview サブコマンドは、ブランチとベースブランチとの差分をレビューします。そのためには、両者が共有するコミットが必要です。git merge-base が共有コミットを見つけられない場合、Claude Code はクラウドセッションの開始前にレビューを拒否します。Claude Code が完全であると確認できるクローンで、ブランチが 1 つ以上ある場合は、拒否する代わりに追跡されているすべてのファイルのレビューにフォールバックします。この拒否が表示されるのは、ベースブランチがまったく見つからない場合、Claude Code がクローンの完全性を確認できない場合、または SHA-256 オブジェクト形式のように、ツリー全体の差分が不可能なまれなリポジトリの場合です。
- ベースブランチを渡さなかった場合: Claude Code はリポジトリのデフォルトブランチと比較し、上の例のように、ベースを明示的に渡すよう提案します
- すでにクローン内にあるベースブランチを渡した場合: ヒントは
Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)となります - クローン内にないベースブランチを渡した場合: Claude Code は比較の前に origin からそのブランチをフェッチしました。ヒントは
<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)となります。クローンがシャロークローンかどうかを Claude Code が判断できない場合は、代わりにgit fetch --unshallow originを提案します。v2.1.221 より前は、フェッチしたすべてのベースブランチについてgit fetch --unshallow originが提案されていましたが、完全なクローンでは、このコマンドはfatal: --unshallow on a complete repository does not make senseで失敗します。
- 別のブランチが本当のベースである場合は、それを明示的に渡します:
/code-review ultra <branch> - クローンに完全な履歴がない可能性がある場合は、
git fetch --unshallow originを実行してからレビューを再実行します
Your checkout has no branches
チェックアウトには、コミットはあってもブランチがない場合があります。git init の後に git fetch <url> と git checkout FETCH_HEAD を実行すると、参照のない detached HEAD の状態になります。Claude Code は ultrareview のためにリポジトリを git バンドルとしてパッケージ化してアップロードしますが、ブランチやその他の参照のないリポジトリはバンドルできないため、/code-review ultra と claude ultrareview サブコマンドはクラウドセッションの開始前にレビューを拒否します。
git checkout -b <name>で現在のコミットにブランチを作成してから、レビューを再実行します
No GitHub account is connected to your Claude account
/code-review ultra <PR#> または claude ultrareview <PR#> を実行しました。Claude Code はクラウドセッションを作成する前に、Claude アカウントに接続された GitHub アカウントが PR のリポジトリにアクセスできるかをサーバーに問い合わせます。アカウントが接続されていないか、接続の有効期限が切れているため、クラウドでのクローンが失敗することになり、Claude Code は起動を拒否します。拒否された起動では、無料実行回数は消費されず、使用クレジットも請求されません。
/web-setup が利用できない場合、メッセージには claude.ai のリンクのみが示されます。
対処方法:
/web-setupを実行して GitHub CLI のログインを Claude アカウントに接続するか、claude.ai/connect-github でアカウントを接続します- 接続してから 1 分ほど待って、レビューを再実行します
Your connected GitHub account can’t see the repository
/code-review ultra <PR#> または claude ultrareview <PR#> を実行しましたが、Claude アカウントに接続された GitHub アカウントが PR のリポジトリを読み取れないため、クラウドでのクローンが失敗することになり、Claude Code は起動を拒否します。拒否された起動では、無料実行回数は消費されず、使用クレジットも請求されません。
/web-setup が利用できない場合、メッセージにはアプリのインストールのみが示されます。
対処方法:
- ローカルの
ghCLI がリポジトリを読み取れる場合は、/web-setupを実行してそのログインを Claude アカウントに接続します - 変更後にレビューを再実行します
The GitHub App preflight failed transiently
ローカルリポジトリからクラウドセッションを開始しましたが、2 つのステップが同時に失敗しました。Claude Code はリポジトリのバンドルをビルドまたはアップロードできませんでした。アップロードの前に、Claude Code はクラウドサービスが GitHub からリポジトリをクローンできるかをチェックしましたが、そのチェックは明確な答えではなく、ネットワークエラー、タイムアウト、一時的なサーバーエラーなど、再試行で解消される可能性のあるエラーで終了しました。完全なメッセージは、Could not upload repo bundle (<error>) のようにバンドルを妨げた原因で始まり、事前チェックに関する文で終わります:
- 少し待ってからコマンドを再実行します。GitHub のチェックに合格すると、Claude Code は GitHub のクローンからセッションを開始できるため、失敗したアップロードによって起動が妨げられることはなくなります
- 再試行しても失敗が続く場合は、メッセージの冒頭にアップロードを妨げた原因が示されています。その原因が修正可能なものであれば修正して、代わりにローカルリポジトリからセッションを開始できるようにします
Please set up GitHub on https://claude.ai/code を表示していましたが、セットアップの助言では一時的な失敗は解消できません。
リポジトリのアップロードが git 設定に従えない
ローカルリポジトリをアップロードするクラウドセッション、またはブランチの ultrareview を開始しましたが、ファイルにどの属性ルールを適用するかを決める git 設定のいずれかに、アップロードが従えません。アップロードをそのまま進めてルールを見落とすと、git が保存前に変換するファイル(clean フィルターで暗号化されるファイルなど)が、ディスク上の状態のままクラウドに届く可能性があります。そのため Claude Code はアップロードを拒否し、何もアップロードされません:core.attributesFile と attr.tree についても同じ拒否が表示され、それぞれ固有の修正方法が示されます。
メッセージには、git の設定が include または includeIf ディレクティブを通じて読み込む設定ファイルが示されることがあります。これは、そのディレクティブの条件がこのリポジトリに該当しない場合でも同様です。
対処方法:
- メッセージの最後の文に記載された修正を適用します
GitHub isn’t connected to your Claude account
ローカルリポジトリから、たとえば/autofix-pr を使ってクラウドセッションを開始しました。Claude アカウントに GitHub アカウントが接続されていないか、接続の有効期限が切れているため、Claude Code は起動を拒否します:
/schedule でルーティンを作成する場合は、同じメッセージがリポジトリ名を示すセットアップの注記として表示されます。この注記はルーティンの作成をブロックしません。
対処方法:
/web-setupを実行して GitHub CLI のログインを Claude アカウントに接続するか、claude.ai/connect-github でアカウントを接続します。両者の違いについては GitHub 認証オプションを参照してください。- 接続してから 1 分後にコマンドを再実行します
GitHub 組織のポリシーが Claude をブロックしている
Claude Code のプロンプトで、/autofix-pr などクラウドセッションを開始するコマンドを実行しました。Claude Code はセッションを作成する前に GitHub 上のリポジトリへの Claude のアクセスを確認しますが、GitHub 組織に Claude をブロックするポリシーがあるため、GitHub が拒否しました。Claude Code はそこで停止し、そのポリシーを示すメッセージを表示します。
IP 許可リストがアクセスをブロックしている場合、メッセージは次のようになります:
- IP 許可リスト: GitHub 組織または Enterprise のオーナーに、Anthropic の送信元 IP アドレスを許可するよう依頼します。アドレスと変更すべき GitHub の設定については、GitHub の許可リストとファイアウォールを参照してください。
- シングルサインオン: claude.ai/customize/connectors で GitHub の接続を解除してから、再度接続します。GitHub から求められたら、組織の横にある Authorize をクリックして、新しい接続がその組織のシングルサインオンに対して認可されるようにします。
- 条件付きアクセスポリシー: GitHub Enterprise または Microsoft Entra ID の管理者に、そのポリシーで Claude を許可するよう依頼します
- 変更後、コマンドを再度実行します
Single sign-on authorization needed
/install-github-app を実行し、SAML シングルサインオンを強制している組織のリポジトリを選択しました。セットアップの前に Claude Code は GitHub CLI でリポジトリへのアクセスを確認しますが、gh トークンがまだその組織に対して認可されていないため、GitHub がその確認を拒否しました。ウィザードには、認可の手順とともに警告が表示されます:
gh auth refresh -h github.com -s repo,workflowを実行して、repoとworkflowスコープで GitHub CLI のログインを再認可し、GitHub からシングルサインオンを求められたら組織を認可しますGH_TOKENの個人アクセストークンで認証している場合は、github.com/settings/tokens を開き、トークンの Configure SSO を選択して組織を認可します/install-github-appを再度実行します
Admin permissions required という警告を表示していました。
Failed to resume the conversation
claude --resume ピッカーで選択したセッションの保存済みトランスクリプトを Claude Code が読み取りまたは処理できなかったため、部分的に読み込まれた状態で続行するのではなくプロセスを終了します。メッセージには再試行のためのコマンドが含まれます:
/resume ピッカーでは、代わりに会話内に Failed to resume conversation と表示され、現在のセッションは実行を続けます。v2.1.216 より前では、claude --resume ピッカーからの再開に失敗すると、このメッセージを表示する代わりに Resuming conversation… スピナーが表示されたままになっていました。
対処方法:
- メッセージに示されたセッション ID を使って
claude --resume <session-id>を実行し、再試行します - v2.1.285 より前のバージョンで、再試行が同じように失敗する場合は、
claude updateを実行してから再度再開します。これらのバージョンでは、保存済みトランスクリプトに読み取れないエントリが含まれていると再開に失敗します。 - 再試行が再び失敗する場合は、
claudeを実行して新しいセッションを開始します
No conversation found with the session ID
claude --resume <session-id> にセッション ID を渡しましたが、一致する保存済みトランスクリプトがありませんでした:
- ID の入力ミス: 非対話型の実行では、ID は
--output-format jsonの出力のsession_idフィールドです - トランスクリプトの削除: Claude Code は保持期間(デフォルトは 30 日)が過ぎると、保持スイープのルールに従ってトランスクリプトを削除します
- 別のマシン: Claude Code はトランスクリプトをローカルに保存するため、セッションを実行したマシンで再開してください
- 重複したコピー:
~/.claude/projects配下のプロジェクトディレクトリをコピーして 2 つのトランスクリプトが同じ ID を持つ場合、Claude Code はどちらかのコピーを任意に再開するのではなく、このメッセージを表示します
- 対話型セッションの場合は、
claude --resumeでセッションピッカーを開き、Ctrl+Aを押してこのマシン上のすべてのプロジェクトに範囲を広げてから、セッションを選択します claude -pまたは Agent SDK で作成したセッションはピッカーに表示されないため、元の実行で出力されたsession_idと ID を照合し直してください
Windows reported an error (EBADF) when Claude Code read this session’s transcript file
Windows でセッションを再開し、保存済みのトランスクリプトファイルは正常に開かれましたが、その後の読み取りがシステムエラー EBADF で失敗しました。システムエラーからは読み取りが失敗した理由がわからないため、メッセージでは考えられる原因と試すべきことが提案されます:Failed to resume session <session-id> などのコマンド自体の失敗行に続いて表示されます。claude --resume または claude -p コマンドは、これを表示した後に終了コード 1 で終了します。セッション内で /resume を実行した場合は、現在のセッションが実行を続けます。
対処方法:
- セキュリティ、暗号化、エンドポイント管理ツールなど、ファイルの読み取りをスキャンまたはインターセプトするソフトウェアの対象から、セッションのトランスクリプトを保持するフォルダーを除外します。トランスクリプトはデフォルトで
%USERPROFILE%\.claude\projects配下、またはCLAUDE_CONFIG_DIRが指定するディレクトリ配下に保存されます - 除外を追加できない場合は、代わりにそのソフトウェアの許可されたアプリケーションに Claude Code を追加します
- セッションを再度再開します
claude --resume <session-id> は Failed to resume session <session-id> で終了し、-p の実行では Failed to resume session: EBADF: bad file descriptor, read のようなシステムエラーのテキストのみが出力されていました。
Cannot switch renderers in this session
レンダラーを切り替えると、Claude Code はプロセスを再起動します。Claude Code が再起動を拒否するセッションで/tui を実行したため、切り替えは行われず、何も保存されません。表示されるメッセージによって原因がわかります:
Cannot switch renderers while work is running in the background: バックグラウンドシェルやサブエージェントなど、再起動すると放棄されてしまうバックグラウンドの作業が実行中です。作業が終わるのを待つか、/tasksで停止してから、/tui fullscreenまたは/tui defaultを再度実行しますCannot switch renderers in this session: セッションに、Claude Code が再起動後のプロセスに引き継げない制限があります。v2.1.234 より前では、Claude Code はそれでも再起動し、再起動されたセッションはそれらの制限なしで実行されていました
launch flags: a custom system prompt, a tool allowlist, or restricted settings: Claude Code が再起動後のプロセスに引き継がないフラグを付けてセッションを開始しました。これらのフラグには、--system-prompt、--system-prompt-file、--append-system-prompt-file、--toolsの許可リスト、--setting-sources、--permission-prompt-toolが含まれますpermission rules set for this session only: フックまたは SDK の呼び出し元からの権限の更新により、sessionを保存先とする拒否ルールまたは確認ルールが追加されました。セッションスコープの許可ルールでは拒否は発生しません。再起動するとそれらは破棄され、Claude Code は代わりに再度確認を求めますask-before-running rules with no command-line form: フックまたは SDK の呼び出し元からの権限の更新により、Claude Code が--allowed-toolsと--disallowed-toolsとして引き継ぐルールに加えて、確認ルールが追加されました。確認ルール用のフラグは存在しませんpermission rules a command line cannot carry intactおよびadded directories a command line cannot carry intact: 権限の更新により、セッションの途中でルールまたはディレクトリパスが追加されました。再起動後のプロセスのコマンドラインでは、そのテキストを同じ値として引き継げません
- それらの制限なしで開始したセッションで
/tui fullscreenを実行するか、元に戻す場合は/tui defaultを実行します。Claude Code はそのセッションでtui設定を保存します
Claude Code couldn’t restart
このメッセージで会話が保存されていると示されている場合、会話はディスク上にあり、中断したところから再開できます。Claude Code は、たとえば/tui の実行後にフルスクリーンレンダリングへの切り替えまたはその解除のために自身を再起動しようとしましたが、新しいプロセスを開始できなかったため、ステータス 1 で終了しました:
/tui が最初の入力だったために、再起動時に再度開く会話がなかった場合、メッセージは Claude Code couldn't restart. Start Claude Code again. となります。
対処方法:
- シェルで
claudeを再度実行します。メッセージで会話が保存されていると示されていた場合は、新しいセッションで/resumeを実行し、その会話を選択します。一覧にない場合は、セッションピッカーの範囲を広げます - 再起動が失敗し続ける場合は、シェルから
claude --debug-file claude-debug.logで Claude Code を起動します。そのセッションからの再起動が失敗すると、起動したディレクトリのclaude-debug.logに、オペレーティングシステムのエラーを含むFailed to relaunch:行が記録されます。問題を報告する際は、その行を含めてください
Couldn’t open Claude Desktop
セッションで/desktop またはそのエイリアス /app を実行したか、シェルで claude --desktop を実行しましたが、Claude Code が Claude Desktop を開くために使うシステムコマンドが失敗しました。/desktop の後、セッションはターミナルにとどまります。claude --desktop は Error: プレフィックスなしでメッセージを出力し、ステータス 1 で終了します。
括弧内のテキストには、失敗したコマンドと、そのコマンドが出力した場合は終了ステータスおよびエラー出力の最初の行が示されます。macOS ではこの例のように open コマンド、Windows では rundll32 コマンドです:
- Claude Desktop を自分で開いてから、
/desktopまたはclaude --desktopを再度実行します - 失敗したコマンドの完全なエラー出力を確認するには、
/debugでデバッグログをオンにして/desktopを再度実行するか、claude --desktop --debug-file <path>を実行してから、デバッグログを確認します
Open Claude Desktop and run /desktop again. でした。v2.1.275 より前では、メッセージは Failed to open Claude Desktop. Please try opening it manually. で、何が失敗したかは示されませんでした。
/terminal-setup で Zed のキーマップが変更されなかった
Zed で/terminal-setup を実行しましたが、Claude Code は Zed の keymap.json の更新を完了できなかったため、ファイルを元のままにしました。
各メッセージにはキーマップのパスが示され、最後に自分で追加するためのキーボードショートカットのブロックが記載されます:
Couldn't read your Zed keymap, so it was left unchanged.: ファイルの権限などが原因で、Claude Code がファイルを読み取れませんでしたYour Zed keymap isn't a readable list of keybindings, so it was left unchanged.: ファイルは読み取れましたが、//コメントや末尾のカンマを許容しても、キーボードショートカットのブロックの配列として解析できませんCouldn't back up your Zed keymap; not modifying it.: Claude Code がファイルをその隣の.bakバックアップにコピーできなかったため、何も変更しませんでしたCouldn't update your Zed keymap, so it was left unchanged.: マージした結果が、そのキーボードショートカットを含む有効なキーマップとして検証できなかったため、Claude Code は書き込まずに破棄しました。キーが重複したキーボードショートカットのブロックがあると、これが発生することがあります
- メッセージに記載されたブロックを、メッセージが示すパスにある
keymap.jsonのトップレベルの配列にコピーします isn't a readable list of keybindingsの場合は、構文エラーを修正するか、ファイルのトップレベルの値を配列にしてから、/terminal-setupを再度実行します
/terminal-setup は // コメントや末尾のカンマを使った Zed のキーマップを解析できず、ファイル全体を自身のキーボードショートカットのみに置き換えたうえで、そのキーボードショートカットがインストールされたと報告していました。以前のバージョンによって置き換えられたキーマップを復元するには、複数行のプロンプトを入力するで説明されている .bak バックアップファイルを使用します。
Skill usage reports are not available on this connection
スマートフォンまたはブラウザから Remote Control 経由で/skill-doctor を実行しました。Claude Code はスキルの使用状況レポートを Remote Control 経由で送信せず、代わりに次のメッセージで応答します:
- セッションが実行されているマシンのターミナルで
/skill-doctorを実行するか、そこでclaude -p "/skill-doctor"を実行します
Custom output styles can’t be selected over Remote Control
Remote Control 経由でモバイルアプリまたは Web から/output-style を実行したか、セッションに中継されたメッセージでそのコマンドが届きました。このようなターンはアカウント所有者からのものではない可能性があるため、Claude Code はそのターンでは組み込みスタイルのみを一覧表示および選択し、コマンドがスタイルを一覧表示したとき、または指定した名前を認識できなかったときには、常にこの通知を追加します。カスタムスタイルの名前には、存在しない名前と同じ応答が返されます:
/output-style conciseなどの組み込みスタイルを選択します- カスタムスタイルを使用するには、プロジェクトの
.claude/settings.local.jsonでoutputStyleを設定するか、セッション自体にターミナルがある場合はそこで/output-style <style>を実行します
Output styles are saved to local settings which this session doesn’t load
設定ソースからlocal が除外されているセッションで、/output-style <style> または /config outputStyle=<style> を使って出力スタイルを切り替えようとしました。たとえば、settingSources に "local" が含まれていない Agent SDK セッションや、local を含まない --setting-sources の値で開始した CLI セッションが該当します。どちらのコマンドもスタイルを .claude/settings.local.json に保存しますが、このようなセッションはこのファイルを読み込まないため、Claude Code は効果のない設定を書き込む代わりに拒否します:
- セッションの設定ソースに
localを追加してから、再度切り替えます - プロジェクトの
.claude/settings.jsonや~/.claude/settings.jsonなど、セッションが読み込む設定ファイルでoutputStyleキーを設定します。TypeScript SDK では、代わりにインラインのsettingsオブジェクト内でoutputStyleを設定します。出力スタイルを有効にするを参照してください
/recap only runs when you ask for it yourself
/recap のリクエストがユーザー自身の入力からのものではありませんでした。Slack、Teams、またはプロジェクトのスレッドからセッションに中継されたメッセージ、あるいはルーティンや別のプログラムが送信したプロンプトで届きました。
中継されたメッセージは、ユーザー自身が書いたものであっても通知の対象になります。Claude Code は、中継されたメッセージや自動化されたメッセージが、セッションを実行しているアカウントの持ち主からのものかどうかを判断できないため、要約の代わりに次の通知で応答します:
claude -p に渡した /recap や、独自の Agent SDK アプリケーションが起動したセッションに送信した /recap は、ユーザー自身の入力として扱われます。
対処方法:
- 自分でセッションを開き、そこで
/recapを実行します。セッションのターミナル、デスクトップアプリやモバイルアプリ、claude.ai/code、または Remote Control 経由で実行できます - ルーティンや別のプログラムが送信した場合は、そのプロンプトから
/recapを削除します
プラグインエラー
これらのエラーは、プラグインとマーケットプレイスの設定から発生します。このページのメッセージを生成しないプラグインの問題(マーケットプレイス URL が読み込まれない、またはプラグインがインストールされても表示されないなど)については、プラグインのトラブルシューティングを参照してください。plugin eval は現在早期アクセス中です
claude plugin evalまたは claude plugin eval init を実行し、何もする前に終了コード 1 で以下のいずれかのメッセージで終了しました:
claude --versionを実行してからclaude updateを実行し、新しいセッションでコマンドを再度実行してください。プラグイン eval の要件を参照してください- 現在のビルドで 2 番目のメッセージが表示される場合は、別の
claude updateの後で後で再度試してください
マーケットプレイスが信頼されていないソースから登録されています
マーケットプレイスは、公式 Anthropic マーケットプレイス用に予約されている名前で登録されていますが、登録されたソースはanthropics GitHub リポジトリではありません。Claude Code は、マーケットプレイスを読み込むか更新するたびに予約名を再確認するため、マーケットプレイスとそこからインストールされたプラグインの読み込みが停止します。v2.1.205 より前では、名前が予約される前に登録されたエントリは読み込みを続けていました。
can only be used with GitHub sources from the 'anthropics' organization の代わりに読みます。claude plugin marketplace add は同じチェックを実行し、予約名を Failed to add marketplace: で拒否し、その後に同じ予約名の文が続きます。
対処方法:
- マーケットプレイスが既に登録されている場合は、
claude plugin marketplace remove <name>を実行してから、公式のgithub.com/anthropicsリポジトリから再度追加してください - 名前が予約される前に使用した第三者マーケットプレイスを公開する場合は、名前を変更し、ユーザーにソースから再度追加するよう依頼してください
- マーケットプレイススキーマの下の予約名リストを参照してください
マーケットプレイス名は予約名の別のスペルです
マーケットプレイスの名前自体は予約名ではありませんが、Claude Code はそれを別のスペルとして扱います。予約名は、どのスペルが予約名として数えられるかをリストします。Claude Code は、マーケットプレイスを追加するときにそのような名前を拒否します:/plugin、claude plugin install、および claude plugin update は警告します:
This marketplace's name is another spelling of "<reserved>", a reserved marketplace name. It is not exactly the reserved name it appears to be. と読みます。
対処方法:
- マーケットプレイスの名前を予約名のスペルではない名前に変更し、再度追加してください
- 無視されたエントリの警告については、提供される
claude plugin marketplace removeコマンドを実行するか、~/.claude/plugins/known_marketplaces.jsonからエントリを削除してください
Claude Code がマーケットプレイス名を拒否します
登録されたマーケットプレイスの名前は、公式 Anthropic マーケットプレイスを偽装します。そのセクションがリストするルールの下で。 マーケットプレイスがチェックがそれをブロックする前にそのような名前で登録された場合、マーケットプレイスとそこからインストールされたプラグインは読み込みを停止します。Claude Code はマーケットプレイスのカタログを読むたびに名前をチェックするためです。名前が公式のものを模倣する場合、claude plugin list と /plugin エラータブは、以下で始まるメッセージで影響を受けた各プラグインを報告します:
Claude Code refuses this marketplace's name: it looks like one of Anthropic's own と読みます。claude plugin marketplace add は、Marketplace name impersonates an official Anthropic/Claude marketplace で任意の偽装名を拒否します。
v2.1.282 より前では、claude plugin list と /plugin は、マーケットプレイスの名前が原因として名前を付けずに、模倣する名前のプラグインを読み込みに失敗したものとして報告していました。
対処方法:
- 設定ファイルが
"source": "settings"でインライン宣言しているマーケットプレイスを保持するには、古い名前を削除する前に名前を変更してください。マーケットプレイスを削除すると、設定ファイルからもそのエントリが削除されるためです。Claude Code v2.1.292 以降では、メッセージに次の手順が表示されます:extraKnownMarketplacesにそのマーケットプレイスを記載している各設定ファイルで、エントリのキーとそのsource.nameに、公式のものに見えない新しいプレーン ASCII の名前を 1 つ付けます。管理者が組織の管理設定を通じてマーケットプレイスを追加している場合は、この手順は管理者が行いますclaude plugin marketplace remove <old-name>を実行するか、/pluginの マーケットプレイスタブで古い名前を削除します。これにより、そのプラグインもアンインストールされ、それらのデータ、オプション、シークレットが削除されます- Claude Code を再起動します。ファイルがプロジェクトの設定ファイルである場合は、プロジェクトのフォルダで起動します。その後、名前を変更したマーケットプレイスからプラグインをインストールします
- その他のマーケットプレイスを保持するには、メンテナーが名前を変更するまで待ってから、
claude plugin marketplace update <name>を実行してください - マーケットプレイスを削除するには、
claude plugin marketplace remove <name>を実行してください。これにより、マーケットプレイスからインストールされたプラグインもアンインストールされ、それらのデータ、オプション、シークレットが削除されます - マーケットプレイスを公開する場合は、
marketplace.jsonで名前を変更してください。ユーザーはマーケットプレイスを削除する代わりに更新します
マーケットプレイスは既に別のソースから追加されています
セッション内またはシェルから、インストールコマンドの--marketplace <source> で新しいマーケットプレイスソースを指定しました。Claude Code がそのソースから取得したカタログは、既に別のソースから追加したマーケットプレイスと同じ名前を持っています。Claude Code は既存のマーケットプレイスを置き換えずに保持し、プラグインはインストールされません。
- 既に追加したマーケットプレイスが必要なものである場合は、名前でそこからインストールしてください:
/plugin install <plugin>@<name> - 新しいソースに切り替えるには、
/plugin marketplace remove <name>を実行してから、インストールを再試行してください
プラグインコマンドがシェルコマンドで user_config を参照しています
プラグインフック、monitor、または MCPheadersHelperコマンドは、${user_config.KEY} プラグインオプションを参照し、置換された文字列はシェルに渡されます。$(...) を含む設定値、バックティック、または ; はそこでコードとして実行されるため、Claude Code は値を置換する代わりにコンポーネントの開始を拒否します。チェックはコマンドテンプレートで実行されるため、値がまだ設定されていない場合でもエラーが表示されます。v2.1.207 より前では、値はシェルコマンドに置換されていました。
表現は、どの表面がオプションを参照したかによって異なります。シェル形式フックは以下を報告します:
headersHelper は以下を報告します:
- フックの場合、
args配列を追加して、exec 形式で実行されるようにします。ここで、各${user_config.KEY}は、その間にシェルがない 1 つの引数になります。または参照をドロップし、スクリプト内から$CLAUDE_PLUGIN_OPTION_<KEY>環境変数を読み取ります - モニターの場合、参照をドロップし、モニタースクリプトに設定ファイルから値を読み取らせます
headersHelperの場合、${user_config.KEY}をサーバーのheadersフィールドに移動します。これはシェル解析されません。または、ヘルパースクリプト内から値を読み取ります
プラグインアーカイブの整合性チェックが失敗しました
プラグインのマーケットプレイスエントリは、sha256 ピン付きの archive ソースを使用し、ダウンロードされたファイルのダイジェストはピンと一致しません。Claude Code はインストールを拒否するため、プラグインキャッシュに何も変わりません。不一致には 3 つの考えられる原因があります:
- 著者がピンを計算した後、URL のファイルが変更されました
- 著者がマーケットプレイスエントリに間違ったダイジェストを入力しました
- URL は著者がピンしたファイルとは異なるファイルを提供します
- プラグインを公開する場合は、URL が提供する正確なファイルのダイジェストを再計算します。例えば
shasum -a 256 my-plugin.zipまたは PowerShell でGet-FileHash -Algorithm SHA256 my-plugin.zipを使用し、マーケットプレイスエントリのsha256を更新してください - プラグインをインストールする場合は、
/plugin marketplace update <name>を実行してカタログをリフレッシュします。エントリが修正された場合、インストールを再試行してください - リフレッシュ後もダイジェストが一致しない場合は、インストール前にマーケットプレイス所有者にどのファイルをピンしたかを尋ねてください
パスがプラグインディレクトリをエスケープします
プラグインコンポーネントパスは、プラグインのplugin.json またはそのマーケットプレイスエントリで宣言され、プラグイン自体のディレクトリの外に解決されます。Claude Code はそのパスをドロップし、プラグインの残りを読み込みます。メッセージ内のコンポーネント名(commands や hooks など)は、パスを宣言したフィールドに名前を付けます。
claude plugin コマンド出力では、同じエラーは Path escapes plugin directory: ./../shared.md (commands) と読みます。
Claude Code は、../shared-utils のように書かれたプラグイン外を指すパスと、プラグイン外に導くシンボリックリンク(マーケットプレイスシンボリックリンクルールが許可するものではない)の両方を拒否します。シンボリックリンクの場合、メッセージはパスが解決される場所も示します:
commands パスを、プラグインディレクトリの外を指していても読み込みました。
v2.1.257 より前では、チェックはパスのスペルのみを調べ、シンボリックリンクが導く場所を調べませんでした。
対処方法:
- 参照されたファイルをプラグインディレクトリ内に移動し、
./相対パスでそれを指してください - パスがプラグイン外のファイルへのシンボリックリンクである場合は、シンボリックリンクをファイルのコピーに置き換えてください
- メッセージがパスにバックスラッシュが含まれていると言う場合は、パスを前方スラッシュで書いてください。例えば
./commands/deploy.md - 同じマーケットプレイス内の他のプラグインとファイルを共有するには、プラグインディレクトリ内のシンボリックリンクでそれらをリンクし、シンボリックリンクルールに従ってください
パスをチェックできませんでした
Claude Code はプラグインパスが存在するかどうかをオペレーティングシステムに尋ね、「見つかりません」以外のエラーを取得したため、パスが名前を付けるものを読み込みません。プラグインの読み込み量は、どのパスが失敗したかによって異なります:- プラグインのデフォルトコンポーネント位置の 1 つ(
skills/フォルダ、monitors/monitors.jsonファイル、またはプラグインルートのSKILL.md):プラグインの他のコンポーネントは引き続き読み込まれます - プラグイン自体のディレクトリ:そのプラグインから何も読み込まれません
/plugin では、エラーはプラグインの下に表示され、パスとオペレーティングシステムが返したコードに名前を付けます:
claude plugin list では、同じエラーは Path not found: /home/user/my-plugin/skills (skills, ELOOP) と読みます。
このエラーを生成する原因には以下が含まれます:
ELOOP:パス内のシンボリックリンクが自分自身を指すか、ループを形成しますEIOまたはESTALE:パスは壊れているか古いネットワークマウント上にありますEACCES:パスの上のディレクトリの 1 つがそれを横断する権限を拒否します
- 自分自身を指すシンボリックリンクを実フォルダに置き換えるか、削除してください
- パスがネットワークマウント上にある場合は、共有を再マウントしてください
- コードが
EACCESの場合は、パスの上のディレクトリに対する実行権限を復元してください - パスを修正した後、
/reload-pluginsを実行するか、Claude Code を再起動して、プラグインまたはコンポーネントを読み込んでください
マーケットプレイスエントリパスはマーケットプレイスディレクトリ内に留まりません
プラグインのマーケットプレイスエントリは、Claude Code がマーケットプレイス自体のディレクトリ内の位置に解決できないソースパスを宣言するため、プラグインはインストールまたは読み込まれません。拒否は以下をカバーします:- 絶対的なエントリパス、
..でマーケットプレイスから登ります、またはネットワークパスのようにスペルされています - macOS と Linux では、先頭の
./の後のどこかにバックスラッシュを含むエントリパス - git または URL などのリモートソースから取得されたマーケットプレイス内のエントリ。マーケットプレイスディレクトリの外に解決するシンボリックリンクを通じてターゲットに到達します
- マーケットプレイスの
marketplace.jsonへの直接 URL から追加された相対エントリ:Claude Code はそのファイルのみをダウンロードするため、パスが名前を付けるローカルプラグインファイルは存在しません。相対パスを持つプラグインが URL ベースのマーケットプレイスで失敗しますを参照してください
claude plugin install は拒否を次のように報告します:
claude plugin list はプラグインを failed to load として表示します:
- マーケットプレイスを維持する場合は、エントリの
sourceを./plugins/my-pluginなどの単純な相対パスとして書き、それが横断するシンボリックリンクをマーケットプレイスディレクトリ内を指すようにしてください - マーケットプレイスを直接 URL から追加した場合、相対エントリは解決できません。マーケットプレイス作成者に別のプラグインソースを使用するよう依頼するか、代わりに git リポジトリからマーケットプレイスを追加してください
マーケットプレイス設定の読み込みに失敗しました
Claude Code は、~/.claude/plugins/known_marketplaces.json のレジストリファイルに追加したプラグインマーケットプレイスを保持します。claude plugin install などのレジストリが必要なプラグインコマンドは、Claude Code がファイルを使用できない場合、2 つのメッセージのいずれかで失敗します:
Failed to load marketplace configuration:ファイルは存在しますが、有効な JSON ではないか、読み取ることができません。空のファイルもこの方法で失敗します。Marketplace configuration file is corrupted:ファイルは有効な JSON ですが、その内容はレジストリスキーマと一致しません。
claude plugin install は以下を報告します:
claude plugin install はこの失敗を報告しませんでした。
対処方法:
~/.claude/plugins/known_marketplaces.jsonを開き、JSON を修復するか、メッセージが名前を付けるエントリをレジストリスキーマと一致するように修正してください- 修復できない場合は、ファイルを削除するか、その内容を
{}に置き換えてから、claude plugin marketplace add <source>で各マーケットプレイスを再度追加してください。Claude Code は、信頼したフォルダで次回起動するときに、ユーザーまたは管理設定がextraKnownMarketplacesで宣言するマーケットプレイスを再登録します。
プラグインは組織で必須です
claude plugin disable を実行するか、/plugin インストール済みタブを使用して、組織が必須としてマークする claude.ai から同期されたプラグインをオフにしました:
- claude.ai 組織の管理者に、プラグインの必須ステータスを claude.ai で変更するよう依頼してください
プラグインはアンインストールされませんでした
claude plugin uninstallを実行するか、/plugin インストール済みタブで アンインストールを選択し、アンインストールは "<plugin>" was not uninstalled: で始まるメッセージで停止しました。そのコロンの後のテキストが設定ファイルの名前ではなく installed_plugins.json で始まる場合、原因は installed_plugins.json 内のこのバージョンの Claude Code が読み取ることができないコンテンツです。その形式については、installed_plugins.json はこのバージョンが読み取ることができないレコードを保持していますを参照してください。
Claude Code がプラグインのエントリを enabledPlugins から削除し、そのスコープの設定ファイルを読み直したとき、プラグインはそこでまだオンに切り替えられたか、それをオンに切り替えることができるファイルを読み取ったり確認したりできませんでした。プラグインの保存されたオプション、シークレット、およびデータを削除しながら、設定エントリがそれをオンに切り替えることができるのは、それらを失うことになるため、アンインストールは代わりに停止します:プラグインはインストールされたままで、保存されたものは削除されません。
it is still switched on in <file>, although the settings change reported no error:設定の書き込みは成功を報告しましたが、エントリはファイルを読み直すときにまだそこにありますit is still switched on in <file>, and the settings change failed (<error>):ファイルを保存できませんでした。括弧内の理由のため<file> is there and could not be read:ファイルは存在しますが、設定として読み取ることができませんでした。例えば、有効な JSON ではないため、プラグインを有効にしたままの可能性があります<file> (not read: it is on a network path or is a link to one, or could not be checked):Claude Code はプロジェクトまたはローカル設定ファイルを読み取りませんでした。ファイル、またはそれを保持する.claudeフォルダは、ネットワークの場所にリンクしているか、そのパスを調べることができなかったためです
claude plugin uninstall は終了コード 1 で、--json を使用すると結果は failureCode: "settings_still_on" を含みます。/plugin は同じメッセージを表示します。
対処方法:
- メッセージの最後の文に従ってください:それが名前を付ける設定ファイルを修復または置き換えるか、そのファイルの
enabledPluginsからプラグインのエントリを自分で削除してから、アンインストールを再度実行してください
ツールエラー
これらのエラーは Claude のツール呼び出しから発生します。Claude はほとんどのツールエラーを自動的に修正します。変更が必要な場合、そのエラーの What to do リストに何を変更するかが記載されています。No such tool available
Claude が、セッションのツールリストにない名前でツールを呼び出しました。Claude Code はそのエラーをツール呼び出しの結果として Claude に返し、ターンは続行します。ツールが存在しない理由を Claude Code が判断できる場合は、2 行目のように、ツール名の後に理由や代わりに呼び出すべきツールを示す文を追加します。- 1 回だけ発生した場合は、何もする必要はありません。Claude がエラーを読み取り、ターンは続行します。
- MCP サーバーのツールへの呼び出しがこのエラーで失敗し続ける場合は、セッション内で
/mcpを実行するか、シェルでclaude mcp listを実行してサーバーの ステータス を確認し、失敗したサーバーを/mcpから再接続します。Agent SDK では、エラー処理 を参照してください。
Agent would be spawned with zero tools
サブエージェントのtools リスト のすべてのエントリが使用可能なツールと一致しなかったため、Claude Code はサブエージェントの起動を拒否しました。ツールがないと、サブエージェントは動作できません。メッセージはエントリを何が問題かでグループ化します。
- Unrecognized: エントリがツール名と一致しません。通常は
GrpeのようなGrepのタイプミスです。 - Not available to subagents: エントリが サブエージェントが使用できない 実際のツールを指定しています。バックグラウンドサブエージェントはより小さい組み込みツールセットを保持しているため、フォアグラウンドサブエージェントのみが使用できるエントリは、サブエージェントがバックグラウンドで実行される場合(これがデフォルトです)、ここに表示されます。
Agentをリストする場合、メッセージは代わりに次のグループの下に報告します。 - Matched no tools in this session: エントリは有効ですが、現在のセッションのツールが今すぐそれと一致しません。例えば、GitHub MCP サーバーが接続されていない
mcp__github__*や、深さ制限 にあるサブエージェントのAgentなどです。
tools フィールドを省略することは、この拒否をトリガーしません。tools リストを空のままにするか、disallowedTools がそれ内のすべてのエントリを削除する場合、Claude Code も拒否をスキップし、ツールなしでサブエージェントを起動します。
v2.1.208 より前は、サブエージェントはツールなしで起動し、空または混乱した結果を返す可能性がありました。
- エラーが指定する各エントリを サブエージェントが利用可能なツール に対して修正します
- セッションが持たないツールのエントリを削除します。例えば、接続されていないサーバーからの MCP ツール
- バックグラウンドサブエージェントが削除する ツール(例えば
CronCreate)の場合、エントリを削除します。ツールを保持するには、フォークモードをオフにして Claude にサブエージェントをフォアグラウンドで実行するよう依頼します toolsフィールドを削除して、サブエージェントに サブエージェントが利用可能なすべてのツール を与えますAgentのみを含むtoolsリストの場合、深さ制限 を上げるか、エージェントに少なくとも 1 つの他のツールを与えます。Claude Code はその制限でAgentを保留するため、リストに他に何もない場合、ツールに解決されません
File is covered by a Read deny rule
Edit または Write ツールがRead 拒否ルール と一致するパスで呼び出されました。これには、そのパスで新しいファイルを作成することも含まれます。両方のツールは Claude が読み戻す必要があるコンテンツを変更するため、Claude Code はファイルアクセスの前に呼び出しを拒否します。NotebookEdit は Read 拒否ルールの対象ではありません。v2.1.228 より前は、ルールは Edit ツールのみをブロックし、v2.1.208 より前は、Edit 拒否ルールのみが編集をブロックしました。
and cannot be written で終わります。
What to do:
- Claude がファイルを変更できるべき場合、
/permissionsまたは 設定 のRead拒否ルールを削除または縮小します - ファイルが変更されないままである必要がある場合、ルールを保持し、NotebookEdit ツールもブロックするために同じパスの
Edit拒否ルールを追加します
Path cannot contain null bytes
ファイルツール呼び出しのパスまたはパターン引数に null バイトが含まれていました。ファイルシステムと検索ツールはこれを受け入れることができません。Read、Write、Edit、NotebookEdit、Glob、Grep はこれをチェックし、メッセージはツールと引数を指定します。- ユーザー側で行う必要のある操作はありません。エラーはツールの結果として Claude に返され、メッセージ自体が Claude に null バイトを削除して再度試すよう指示します
Path contains null bytes という名前のエラーで終了し、ツールは実行されませんでした。
subagent_type is required
subagent_type なしで Agent ツール を呼び出し、このセッションにはフォールバックする 汎用サブエージェント がありません。これは 2 つのセットアップの場合です。
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1は非対話モードで設定されており、すべての組み込みサブエージェントを削除します- セッションのメインスレッドエージェントには
tools: Agent(...)許可リスト があり、general-purposeを除外しています
- 通常は何もしません。メッセージはセッションが持つサブエージェントをリストするため、Claude はそのうちの 1 つで再試行できます
- Claude が失敗し続ける場合、
tools: Agent(...)許可リストにgeneral-purposeを追加するか、CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTSを設定解除します
Agent type 'general-purpose' not found で失敗しました。
Memory index is over its read limit
Claude は 自動メモリ インデックスMEMORY.md に書き込み、その読み取り制限の 1 つを超えたままにしました。200 行または 25KB です。書き込みは成功しましたが、最初の 200 行または 25KB のみ(どちらか先に来た方)がセッションの開始時に読み込まれるため、制限を超えるすべてのものはインデックスが読み込まれるたびに削除されます。v2.1.210 より前は、制限を超えたインデックスは書き込み時の信号なしで次の読み込み時に静かに切り詰められました。
- Claude に
MEMORY.mdを書き直させるか、依頼します。エントリごとに 1 行を保持し、詳細をトピックファイルに移動し、古いエントリをマージまたは削除します - インデックスを自分でトリミングするには、メモリの監査と編集 を参照してください
pkill pattern matches the Claude Code process
Bash ツール呼び出しのpkill コマンドは、通常 -f を使用して、Claude Code プロセス自体と一致するパターンを使用したため、Claude Code はコマンドを実行してセッションを終了させるのではなく、コマンドを拒否します。Claude Code は pkill を実行する前に pgrep でパターンをテストし、独自のプロセス ID が結果に含まれている場合は拒否します。チェックは Linux でのみ実行されます。macOS では、pkill は変更されずに実行されます。v2.1.214 より前は、コマンドが実行され、一致するパターンが Claude Code セッションをターン中に終了しました。
- パターンを絞り込んで、意図したプロセスのみと一致するようにします。例えば、短い部分文字列ではなく、ターゲットバイナリの完全なパスです
- 現在のシェルで開始されたプロセスを停止するには、パターンで
pkill -P $$を使用します。これにより、マッチをシェルの独自の子プロセスに制限します
Failed to write to a teammate’s inbox
Claude Code は~/.claude/teams/{team-name}/inboxes/ の下のチームメイトのメールボックスファイルにメッセージを書き込むことができなかったため、受信者は何も受け取りませんでした。書き込みは、Claude Code がファイルを作成または更新できない場合に失敗します。例えば、ディスクがいっぱいである、ディレクトリが書き込み可能でない、または別のエージェントがインボックスロックを長時間保持している場合です。v2.1.224 より前は、Claude Code は書き込みが失敗した場合でも、メッセージが送信されたと報告していました。
エラーはターミナルのバナーではなく、送信エージェントのツール結果に表示され、テキストは Claude に再度試すよう指示します。
Failed to write the <message> to <name>'s inbox — nothing was sent と読みます。そのリストの plan approval はチームリーダーの決定であり、チームメイトの計画を承認します。チームメイトの計画提出は別の plan approval request メッセージです。そのメッセージと他の 2 つのプロトコルメッセージは、独自のメッセージテキストと結果を持ちます。
Failed to write the plan approval request to the lead's inbox — plan not submitted; try again: チームメイトの計画がチームリーダーに到達せず、チームメイトは再提出が成功するまで plan モードのままですThe permission request could not be delivered to the team lead (mailbox write failed): チームメイトの権限要求がチームリーダーに到達しなかったため、誰もツール呼び出しを承認しませんでしたThe confirmation could not be written to team-lead's inbox.: シャットダウン承認自体が有効になり、チームメイトは終了します。チームリーダーへの確認のみが不足しています
@name に続けてメッセージを入力し、自分でチームメイトにメッセージを送信する場合、同じ失敗は通知 Couldn't write to @name's inbox — message not sent. Try again. として表示され、Claude Code はテキストをプロンプトボックスに保持して、再度送信できるようにします。
What to do:
- 送信者にメッセージを再送信するよう依頼します。インボックスロックの競合は一時的であり、再試行時にクリアされます
- 空きディスク容量を確認し、
~/.claude/teamsとその下のファイルがユーザーによって書き込み可能であることを確認します
Teammate’s agent definition was not restored
Claude が停止した エージェントチーム のチームメイトにメッセージを送信し、Claude Code はそのチームメイトを復帰させましたが、生成元の サブエージェント定義 を再適用しませんでした。通知は、送信エージェントのツール結果の再開レポートに続いて表示され、理由を示します。定義ファイルが信頼の保存されていないフォルダから来た場合、通知は次のようになります。--add-dir ディレクトリの .claude/agents/ ディレクトリ内の定義に適用され、親フォルダの信頼ダイアログを受け入れることはそれを満たしません。
What to do:
- デバッグログ が指定するフォルダで
claudeを実行し、信頼ダイアログを受け入れます。定義は Claude Code がチームメイトを次に復帰させるときに再適用されます。チームリーダーのセッションを再起動する必要はありません - または、
~/.claude.jsonのhasTrustDialogAcceptedエントリをtrueに設定します。デバッグログが出力する正確なprojects["<path>"]キーを使用します
Message too large for cross-session delivery
Claude の クロスセッションメッセージ は、このマシン上の別のセッションに対して長すぎて送信できませんでした。Claude Code はそれを拒否し、受信セッションは何も受け取りませんでした。拒否はターミナルのバナーではなく、送信セッションのツール結果に表示されます。両方のサイズとメッセージを適合させる方法を指定します。- Claude にメッセージを要約するか、バルクコンテンツをファイルに入れてそのファイルのパスを送信するよう依頼します
- Claude にコンテンツを複数の短いメッセージに分割するよう依頼します
Too many messages to this session just now
Claude は クロスセッションメッセージ の急速なバーストをこのマシン上の 1 つのセッションに送信し、バーストはそのセッションのインボックスが受け入れるものに達しました。Claude Code は次の送信を拒否し、受信セッションはそれから何も受け取りませんでした。拒否はターミナルのバナーではなく、送信セッションのツール結果に表示されます。- 通常は何もしません。Claude は残りのコンテンツを 1 つのメッセージにバッチ処理するか、さらに送信する前に少し待ちます
- バースト自体をプロンプトした場合、Claude に残りのものを 1 つのメッセージに結合するよう依頼します
Cross-session message was dropped at the recipient session’s inbox
Claude は クロスセッションメッセージ をこのマシン上の別のセッションに送信し、そのセッションのインボックスは Claude がそのセッションで読む前にそれを破棄しました。行は受信者のアドレスを指定し、受信者が理由を与えた場合、ダッシュの後に理由を追加します。Cross-session messages (12) were dropped。アドレスがどのセッションに属しているかを見つけるには、各セッションで /status が表示する Peer address 行 と比較します。
ダッシュの後、行は以下の 1 つ以上の理由を与えます。
its queue of undelivered peer messages was full: 受信者は既に他のセッションから配信されていないメッセージを多く保持しており、そのキューが許可する限りですyou sent faster than that session accepts: 送信セッションのメッセージは受信者が 1 つの送信者から受け入れるより速く到着しましたit repeated your previous message: メッセージは送信セッションが最近この受信者に送信したものと同じでしたa relay loop between sessions was cut: メッセージはセッションが互いにメッセージを送信するチェーンを続け、チェーンは受信者を何度も通過したか、成長しすぎました
- 削除されたメッセージを受信者が見たことがないと仮定します。Claude Code は同じことを Claude に伝え、それでも重要なものを 1 つの後のメッセージに含めるよう指示し、すぐに再送信しないよう指示します
- セッションが互いに頻繁に更新を送信する場合、Claude にセッションが作業を完了したときなど、より少なく、より大きなメッセージを送信するよう依頼します
a relay loop between sessions was cutの場合、セッションの 1 つに自分で次の指示を入力します。Claude が自分のプロンプトに応答して送信するメッセージは新しいチェーンを開始します
Refusing to send a cross-session message
Claude Code が クロスセッションメッセージ をこのマシン上の別のセッションに書き込む前に、ターゲットセッションのインボックスソケットがメッセージが宛てられたエンドポイントであることを確認します。チェックが失敗すると、Claude Code は送信セッションで送信を拒否し、ターゲットセッションは何も受け取りません。Claude が送信するメッセージの場合、拒否は送信セッションのツール結果に表示されます。Refusing to send: の後のテキストは、失敗したチェックを指定します。
reply target is a symlink: シンボリックリンクがターゲットセッションのソケットパスにあります。Claude Code はそれを通じて配信しません。リンクがそこにあると、メッセージをターゲットセッションが作成しなかったエンドポイントにリダイレクトする可能性があるためです。cannot vet reply target: Claude Code はターゲットパスをまったく検査できませんでした。例えば、権限エラーで読み取りが失敗したためです。
- 通常は何もしません。チェックはメッセージが宛てられたセッション以外のエンドポイントに到達するのを防ぎ、何も送信されませんでした
reply target is a symlinkがセッションで繰り返される場合、そのセッションのソケットパスにリンクを作成したものを確認します。これは/statusのPeer addressに表示されます
Refusing to read, write, or search a path
Claude Code はファイルパスの 権限ルール をチェックし、ツールがファイルを開くか検索を開始するときに解決を再度確認します。パスがチェックが承認した場所にまだ導いていることを確認できない場合、Claude Code はパスをたどらずに操作を拒否します。拒否はツール結果に表示されます。its symlink resolution changed after permission was checked: パスに沿ったシンボリックリンク、または Grep または Glob 検索ルートが、権限チェックと操作の間に置き換えられました。読み取り拒否では、括弧内のフレーズはどの比較が失敗したかを指定します。its parent-directory symlink resolution changed after permission was checked: 書き込みパスが通過するディレクトリは、承認された場所に解決されなくなりましたwhere it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve): Claude Code はパスをディスク上の最終的な場所まで追跡できませんでした。例えば、パス上のシンボリックリンクがループを形成しているためですit is a symbolic link. Write to the link's target path instead: シンボリックリンクが要求された書き込み場所自体にあります。例えば、CLAUDE.mdがAGENTS.mdへのシンボリックリンクです。メッセージは Claude をリンクのターゲットに指示しますRefusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.: 別のライターがファイルを開くときに捕捉された同じ条件。例えば、シンボリックリンクされた.mcp.jsonへの書き込みRefusing to write into symlinked directory: <path>: ファイルを保持するディレクトリ自体がシンボリックリンクです。例えば、プロジェクトの.claude/ディレクトリが別の場所にリンクされていますa path one of its Read deny rules is written through changed while the search was being prepared. Retry.: 検索のRead拒否ルールはシンボリックリンクを通過するパスを指定し、そのリンクは Claude Code が検索を準備している間に変更されましたit could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.: 検索ルートは存在しますが、開くことができませんでした。括弧内のコードはオペレーティングシステムエラーですits permission check expired before it ran (too many concurrent file operations). Retry.: Claude Code は多くの同時ファイル操作の下で、ツールが使用する前に承認レコードを削除しました。再試行は新しい権限チェックを実行しますripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration: Claude Code はrgバイナリを絶対パスに解決できなかったため、拒否ルールをカバーしない検索を実行するのではなく、作業ディレクトリの外の検索を拒否します
- 通常は何もしません。拒否は Claude にツール結果として到達し、拒否された操作は実行されません
- シンボリックリンク拒否が 1 つのパスで繰り返される場合、ビルドツールやファイルウォッチャーなど、リンクをそこで書き直し続けるものを見つけるか、Claude にファイルのリンクされたパスではなく解決されたパスを使用するよう依頼します
- Windows 上の AppContainer または制限されたトークンサンドボックス内で Claude Code を実行しているときに、すべてのファイルでこの拒否が表示される場合、v2.1.265 以降にアップグレードします
- プロンプトにドラッグしたスクリーンショットなど、何も書き直していないファイルに対して macOS で読み取り拒否が表示される場合、v2.1.273 以降にアップグレードします
- ripgrep 拒否の場合、パッケージマネージャーで ripgrep をインストールして、
rgがPATH上の絶対パスに解決されるようにするか、作業ディレクトリの下で検索を保持します
where it leads on disk could not be determined 拒否は表示されませんでした。
Task output swap refused
Claude Code は各 Bash コマンドの出力を一時ディレクトリの下のファイルに保存します。これらのファイルの 1 つを開くたびに、シンボリックリンク、追加のハードリンク、または移動されたディレクトリによってリダイレクトされることなく、パスがまだ作成したファイルに導いていることを確認します。このメッセージは、そのチェックが失敗したことを意味するため、Claude Code はそのパスを通じて出力を書き込みまたは読み取るのではなく、操作を拒否しました。メッセージは Bash ツール結果に表示されます。output symlink was re-pointed、output file identity changed、not a regular file などの理由はすべて同じ条件を報告します。出力パスにある、またはパスに沿ったものが、Claude Code が作成したファイルではなくなっています。一部の理由のみが To recover: 文を持ちます。
コマンドがまだ実行中にチェックが失敗する場合、Claude Code はコマンドを停止し、その結果は以下を報告します。
- v2.1.260 以降にアップグレードします。以前のバージョンは、リンクまたは移動されたディレクトリが存在しない場合でも、このメッセージを表示することがありました
CLAUDE_CODE_TMPDIRを新しいディレクトリに設定して Claude Code を再起動します- または、Claude Code の一時ディレクトリの下にあるプロジェクトのディレクトリ(例のメッセージでは
/private/tmp/claude-501/-Users-you-my-project)を確認します。そのパスがシンボリックリンクである場合、またはそこにあるべきではないディレクトリである場合、リンクのターゲットではなく、リンクまたはディレクトリ自体を削除して、Claude Code を再起動します - 拒否が繰り返される場合、プロセスはセッションの実行中に Claude Code の一時ディレクトリの下のエントリを置き換え、リンク、または削除しています。
CLAUDE_CODE_TMPDIRを他に何も管理しないディレクトリに設定して再起動します
Disk quota or temp filesystem is full
Claude Code は各 Bash および PowerShell コマンドの出力を一時ディレクトリの下のファイルに保存します。コマンドがゼロ以外のコードで終了し、出力がまったくない場合、Claude Code はそのファイルを保持するファイルシステムが容量不足またはアイノード不足であるか、またはそれに対するディスク割り当てが使い果たされているかをチェックします。そうである場合、診断はコマンドの結果に空の出力の代わりに表示されます。Your disk quota is full ... (EDQUOT): そのファイルシステムに対するユーザー自身の割り当てが使い果たされています。割り当ては、ファイルシステムがまだ空き容量を表示している間に満杯になる可能性がありますThe filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC): ファイルシステム、またはそれに対するユーザーの割り当てに、容量が残っていませんCommand output was lost: the temp filesystem at ... is fullまたは... is out of inodes: ファイルシステムにはほぼ空き容量がないか、アイノードが不足しています
- Claude Code の一時ディレクトリを保持するファイルシステム上で不要になったファイルを削除します。
EDQUOTの場合、自分の割り当てにカウントされるファイルを削除します。out of inodesの場合、少数の大きなファイルではなく、多くのファイルを削除します。各ファイルはサイズに関係なく 1 つのアイノードを取ります - または、
CLAUDE_CODE_TMPDIRを容量のあるファイルシステム上のディレクトリに設定して Claude Code を再起動します - その後、Claude にコマンドを再度実行させます。コマンドが出力した内容は、切り詰められたのではなく失われています
File is not valid UTF-8
Claude が、バイトを UTF-8 としてデコードできないファイルに対して Edit または NotebookEdit ツールを使用したため、Claude Code は変更を拒否しました。何も書き込まれていないため、ファイルは元のままです。これらのツールはファイル全体を UTF-8 として保存し直すため、デコードできなかったすべてのバイトが置換文字U+FFFD に変わってしまうところでした。メッセージはツール結果に表示されます。
- ファイルを現在のエンコーディングのまま保持するには、メッセージが指示するとおり、そのエンコーディングでファイルを読み書きするシェルコマンドで Claude に変更を行わせます
- Edit ツールでファイルの編集を続けるには、ファイルを UTF-8 に変換するか、UTF-8 であるはずのファイルの場合は無効なバイトを修正してから、Claude に再度編集を依頼します
U+FFFD として保存していました。これらのバージョンを使用している場合は、Claude Code をアップデートしてください。
The source file is not valid UTF-8 text
Claude は、バイトがテキストとしてデコードされないか、テキストが既に置換文字U+FFFD を含むファイルから アーティファクト を公開しようとしたため、Claude Code は何もアップロードする前に公開を拒否しました。メッセージは Artifact ツール結果に表示され、修正する最初の位置を指定します。
UTF-16 を指定し、それでもファイルを UTF-8 として書き直すよう指示します。指定された位置の後にさらに位置が続く場合、メッセージは位置の後に (+2 more) などのカウントを追加します。
What to do:
- 通常は何もしません。Claude はファイルを書き直して再度公開します
- ファイルが自分で書いたものまたはエクスポートしたものである場合、UTF-8 として再度保存し、各
U+FFFDを以前の編集、貼り付け、または変換が失った文字に置き換えます - ページに意図的な
U+FFFDを表示するには、リテラル文字ではなく HTML で�として書き込みます
Not published: that file is on a network share
Claude が、ネットワークホストを指定するパスにあるファイルから アーティファクト を公開しようとしました。- Windows では、起動時に
--add-dirで渡したマップ済みネットワークドライブの下にない\\server\shareパス - macOS または Linux では、
/net/<host>/page.htmlなどの自動マウントパス
- そのファイル自体が必要でない場合は、何もする必要はありません。メッセージは Claude に、代わりにセッション自身のフォルダからファイルを公開するよう指示します
- そのファイル自体を公開するには、ローカルディスク上のフォルダにコピーして、再度依頼します
- Windows で Claude が共有から直接公開できるようにするには、共有をドライブ文字にマップし、Claude Code の起動時にそのドライブを渡します。たとえば PowerShell では、
net use Z: \\server\shareを実行してからclaude --add-dir Z:\を実行します。これで Claude はそのドライブからファイルを公開できます。セッション中に/add-dirでドライブを追加するだけでは不十分です。 - macOS または Linux では、
/mntや/Volumesの下などのディレクトリに共有をマウントし、自動マウントパスではなくそのパスから公開します
Reading a local file from outside the connected folders in a Cowork session
Claude Desktop アプリでマシン上で実行されている Cowork セッションで、Claude が アーティファクト 用のローカルファイルを指定しました。Claude Code はファイルがセッションの接続されたフォルダ内のプレーンファイルであることを確認できませんでした。パスはそれらのフォルダの外にあるか、シンボリックリンクを通過するか、見た目とは異なるファイルを指定しうる方法で記述されています。そのようなファイルを読み取るには承認が必要であり、すべての承認をスキップするように設定されたセッションなど、承認カードを表示できないセッションでは、Claude Code は読み取りを拒否します。 拒否は Artifact ツール結果に表示されます。ファイルをまったく検査できない場合、代わりにその失敗を指定します。- 通常は何もしません。メッセージは Claude に接続されたフォルダ内のプレーンファイルを代わりに使用するよう指示します
- そのファイル自体をアーティファクトに入れるには、シンボリックリンクではなく通常のファイルとして、セッションの接続されたフォルダの 1 つにコピーして、再度依頼します
WebFetch cannot fetch localhost
Claude は WebFetch を、http://localhost:3000 や http://wiki/ のような単独のイントラネット名など、ドットのないホスト名を持つ URL で呼び出しました。WebFetch はリクエストを行う前にこれらの URL を拒否します。
- 通常は何もしません。メッセージは Claude を Bash ツール経由の
curlに指示します。これはローカルおよびイントラネットサーバーに到達できます
Invalid URL エラーで報告していました。
WebFetch domain safety check failed
URL をフェッチする前に、WebFetch は URL のホスト名をapi.anthropic.com に送信して、Anthropic の ドメイン安全ブロックリスト に対してチェックします。チェックが完了できない場合、WebFetch はドメインが安全であることを確認できないため、ページをフェッチせず、ツール結果は代わりにこれらのメッセージの 1 つを持ちます。
rate-limited: チェックエンドポイントは HTTP429で応答しました。メッセージは Claude にページなしで続行し、後で最大 1 回だけ再度試すよう指示します。Claude Code は失敗したチェックをキャッシュしないため、そのドメインの後の取得はチェックを再度実行します。ネットワーク上のセッションがこれに頻繁に該当する場合、設定でskipWebFetchPreflight: trueを指定してチェックをスキップできます。Unable to verify: チェックリクエストが失敗した、タイムアウトした、または別のエラーステータスを受け取りました。ネットワークがapi.anthropic.comをブロックする場合、そのドメインを許可リストに追加するか、設定でskipWebFetchPreflight: trueを指定してチェックをスキップします。
The safety check for domain example.com is temporarily rate-limited (too many domain checks from this network). Retry after about a minute; retrying sooner will fail the same way. と読みました。
v2.1.285 より前は、レート制限されたチェックは代わりに Unable to verify メッセージで報告されました。
バックグラウンドセッションエラー
バックグラウンドセッションは独自の対話型ターミナルなしで実行されるため、ターミナルが必要なコマンドはそこで異なる動作をします。これらのメッセージはバックグラウンドセッションのトランスクリプト、それに接続するターミナル、ディスパッチ元のセッションまたはシェル、または以下のworktree-guard エントリの場合は worktree に分離されたセッションまたは worktree 分離サブエージェントを実行しているセッションに表示されます。メッセージが特定のサーフェスに固有の場合、そのエントリに記載されています。バックグラウンドセッションで拒否されたコマンド
対話型ダイアログを開くコマンドは、バックグラウンドセッションにターミナルが接続されていない間は実行できません。/install-github-app、/mcp 設定リスト、および MCP サーバーメニューの認証アクションは、メッセージで応答します。/install-github-app と /mcp 設定リストの場合、セッションはエージェントビューの入力が必要に表示されるため、セッションを見つけて接続し、コマンドを再度実行できます。ターミナルが接続されている間、これらのコマンドは正常に機能します。
v2.1.216 より前では、/install-github-app または /mcp 設定リストが拒否された後、セッションは入力が必要に表示されませんでした。v2.1.213 から v2.1.215 では、ターミナルが接続されている間、コマンドは引き続き機能し、拒否メッセージは接続して再度コマンドを実行するよう指示していました。v2.1.208 から v2.1.212 では、Claude Code はターミナルが接続されている間でもこれらを拒否し、Can't open MCP settings in a background session などのメッセージが表示されていました。これらのバージョンでは、通常の claude セッションからコマンドを実行するか、アップグレードしてください。v2.1.208 より前では、バックグラウンドセッション内でダイアログが開きました。v2.1.208 のみで、Claude Code はバックグラウンドセッションの /model ピッカーも拒否し、/upgrade はブラウザを開く代わりにアップグレード URL を出力しました。
表現はコマンドに名前を付けます。/mcp 設定リストは以下を報告します:
- エージェントビューからセッションに接続して、コマンドを再度実行します
- または、メッセージが名前を付けた形式を使用します。例えば
/mcp reconnect <server>、/mcp enable、または/mcp disableは、接続せずに機能します
パスを安全に解決できないため、書き込みまたはコマンドがブロックされました
Claude は、worktree 分離ガードが 1 つの検証可能な場所に解決できないスペルを通じてファイルまたは作業ディレクトリにアクセスしました。ガードは、worktree に分離されたセッション(対話型またはバックグラウンド)およびworktree 分離サブエージェントでの書き込みとコマンド作業ディレクトリをチェックします。シンボリックリンクを解決してから、操作が共有チェックアウトに到達しないことを確認します。解決に失敗すると、操作をブロックして、そこに到達させません。メッセージは、拒否するパス形式と再試行方法に名前を付けます:re-run the command from its direct symlink-free path で終わります。v2.1.217 より前では、ガードはシンボリックリンクを解決せずにパススペルを比較していたため、これらのスペルはブロックされず、シンボリックリンクを通じた書き込みは共有チェックアウトに到達する可能性がありました。
対処方法:
- 通常は何もしません:完全なメッセージは Claude にツールエラーとして送信され、Claude は名前を付けた直接パスで再試行します。ブロックされたファイル編集の場合、会話ビューには短い
Error editing file行のみが表示されます。完全なメッセージはトランスクリプトビューに表示されます。これはCtrl+Oで開きます。ブロックされたコマンドはコマンド出力に出力します。 - 同じファイルでブロックが繰り返される場合、パスは
docs/current -> ../README.mdなど..を含むコミット済みシンボリックリンクを通じて実行される可能性があります。Claude にリンクを通じてではなく、実際のパスでターゲットファイルを編集するよう依頼してください
パスがネットワークロケーションに名前を付けているため、書き込みまたはコマンドがブロックされました
Claude は、マシン上にないドライブ、\\server\share\file などの UNC 共有、または /net オートマウントパスに名前を付けるパスを通じてファイルまたは作業ディレクトリにアクセスしました。セッションのチェックアウトはローカルディスク上にあります。同じworktree 分離ガードは、そのようなパスが共有チェックアウトから外れていることを確認できないため、操作をブロックします。セッションを worktree に分離してもブロックは解除されません。メッセージは、代わりに使用するパスの形式に名前を付けます:
re-run the command from its local, plainly-spelled path で終わります。v2.1.217 より前では、ガードはパステキストのみを比較していたため、UNC または /net パスを通じてチェックアウト内のファイルにアクセスすることはブロックされませんでした。
対処方法:
- 通常は何もしません:Claude はメッセージが要求するローカルスペルで再試行します
worktree 分離チェックによってコマンドがブロックされました
Claude は、worktree に分離されたセッションで Bash、PowerShell、または Monitor コマンドを実行し、Claude Code は次のいずれかの理由でそれを拒否しました:- コマンドがメインチェックアウトまたは別の worktree で実行されることになります。メッセージには、作業ディレクトリが
resolved to the shared checkoutまたはis in a different worktreeと表示されます。 - Bash または Monitor コマンドが git をメインチェックアウトに向けています。
- Claude Code は、Bash または Monitor コマンドのテキストから、コマンドが実行する git が worktree 内に留まることを確認できません。git に名前を付けないコマンドでも、
${!name}などの変数間接参照を展開するか、${ command; }などの Bash 関数置換を実行すると、実行時に生成される値自体がコマンドになり得るため、この理由で拒否される可能性があります。
is isolated in the worktree <path>, but this command に続けて理由が表示されます。以下は、Claude Code がテキストを検証できなかったコマンドの例です:
- git がメインチェックアウトに向けられている場合、またはコマンドテキストを検証できない場合:何もする必要はありません。Claude はメッセージを読み、最後の文が要求する方法でコマンドを書き直します。要求したコマンドがテキスト内の展開のために拒否され続ける場合、フラグが付いた値をリテラルで記述し、git を worktree 内から独立したプレーンなコマンドとして実行します
- メインチェックアウトで意図的に動作するには、セッション外のターミナルでコマンドを自分で実行します
This session has no saved transcript
← または /background でバックグラウンドに移動し、自身のターンを実行する前に停止したセッションに接続しました。Claude Code は移動元の会話を見つけられなかったため、このセッションには再開するものがありません。メッセージは、このセッションの claude respawn コマンドで終わります:
Press enter again to restart this session fresh が表示され、行で 2 回目の Enter を押すとセッションが空の会話で再開されます。
対処方法:
- 停止したセッションを新しく開始するには、メッセージの ID で
claude respawn <id>を実行するか、エージェントビューの行でEnterを 2 回押します - セッションが応答を完了し、v2.1.214 より前のバージョンでこの拒否が表示される場合、
~/.claude/projectsの読み取り不可フォルダがトランスクリプトスキャンが保存された会話を見つけるのを妨げる可能性があります。v2.1.214 以降にアップグレードしてください。これはスキャン中に読み取り不可フォルダを許容します
This session is running in another terminal
エージェントビューで停止したセッションの行を開きました。その保存された会話は、このマシン上の別のライブ Claude Code プロセスで既に開かれているため、Claude Code は同じトランスクリプトに書き込む 2 番目のプロセスの開始を拒否します。表示されるメッセージは、会話を保持しているものによって異なります:running in another terminal:ターミナルが会話を保持しています。例えば、claude --resumeまたは/resumeで再開したターミナル。行にはOpen in a terminalも表示されます。already open in another running Claude session:別の非対話型 Claude Code プロセスがそれを保持しています。例えば、同じ会話のバックグラウンドセッションプロセスがまだ終了していません。
- 会話を開いているプロセスで会話を続けるか、そのプロセスを終了して行を再度開きます
already open in another running Claude session 拒否のみが存在していました:ターミナルで再開された会話は開いているとはカウントされず、行を開くと同じ会話に書き込む 2 番目の Claude Code プロセスが開始されました。
This session’s saved conversation is no longer on disk
バックグラウンドセッションを開きました。このセッションはバックグラウンドサービスがオフの間に終了し、トランスクリプトクリーンアップがその保存された会話を削除しました。例えば、マシンが数週間オフになった後です。通常、そのような行を開くと、保存された会話を再開します。再開するものがないため、Claude Code は、確認なしにセッションの元のプロンプトを再実行するのではなく、拒否します:claude attach <id> はこのテキストを出力します。エージェントビューでは、フッターはより短く、ctrl+x deletes the row で終わります。
対処方法:
claude rm <id>を実行して行を削除します。保持されたケースの 1 つが適用される場合、claude rmは行と worktree を保持し、理由に名前を付けます- セッションの元のプロンプトを新しい会話として再度実行するには、
claude respawn <id>を実行します
Worktree has commits that are not pushed anywhere
バックグラウンドセッションを削除しようとしました。その worktree は、Claude Code が他の場所に保存されていることを確認できないコミットを保持しています。Claude Code は、コミットを見ずに破棄するのではなく、worktree とセッション行を保持します。claude rm はブランチとプッシュされていないコミットに名前を付け、進め方を説明します:
The worktree has unpushed commits となります。エージェントビューでは、セッションの行は同じ理由で not deleted を表示します。
リモート上のコミットは削除をブロックしません。origin リモートのデフォルトブランチのローカルコピー上のコミットもブロックしません。ただし、そのブランチがメインチェックアウト(worktree ではなく、リポジトリディレクトリ自体)でチェックアウトされている限りです。
対処方法:
- コミットを保持するには、worktree のブランチをプッシュするか、メインチェックアウトでチェックアウトされたデフォルトブランチにマージしてから、セッションを再度削除します
- コミットを破棄するには、メッセージが出力した
claude rm <id> --discard-unpushedコマンドを実行するか、エージェントビューのセッション行で再度Ctrl+Xを 2 回押します。これにより、セッション、worktree、そのブランチ、プッシュされていないコミット、およびコミットされていない変更が削除されます。worktree が拒否以降にコミットを獲得した場合、Claude Code はそれを再度保持し、更新された状態を表示します - メッセージが worktree が別の完了したセッションによっても記録されていることを示す場合、再度削除してもそれは破棄されません:コミットをプッシュしてから、セッションを再度削除します
claude rm はコミット要約を kept 行自体に置いていました。claude rm がコミットを要約できない場合、kept 行は要約の代わりに worktree has commits that are not pushed anywhere となっていました。
v2.1.260 より前では、メッセージはブランチまたはコミットに名前を付けず、再度削除することは同じ方法で拒否されました:セッションを削除してプッシュしないことは、git worktree remove --force <path> で worktree を自分で削除してから、claude rm <id> を再度実行することを意味していました。
v2.1.248 より前では、メインチェックアウトでチェックアウトされたデフォルトブランチはカウントされませんでした:既にそこにマージしたブランチは、そのコミットがリモートに到達するまで、この拒否をトリガーしました。
Terminal host process died
各バックグラウンドセッションのターミナルはバックグラウンドサービスの下のホストプロセスで実行され、そのプロセスはサービスがその接続を保持している間に終了したため、セッションに到達できませんでした。 Linux と WSL では、バックグラウンドサービスは数秒ごとに各ホストプロセスをチェックし、プロセスが終了しているがサービスへの接続が閉じられていない場合、セッションを失敗とマークし、エージェントビューの行に理由を表示します:claude attach <id> は既に死んだホストで失敗とマークされたセッションを再開し、そうでなければ原因を出力して終了します:
terminal host process died — its output is gone; the command was not run again を表示し、claude attach は This command's terminal host process died — its output is gone and the command was not run again を出力します。Claude Code はコマンドを再実行することはありません。
対処方法:
- エージェントビューで、失敗した行で
Enterを押します。セッションは新しいホストプロセスで再開され、会話が再開されます - シェルから、
claude attach <id>を再度実行します。Claude Code はSession <id>'s terminal host died — restarting it on a fresh one…を出力し、セッションを再度開きます - シェルコマンド行をこの方法で再開することはできません。コマンドを再度ディスパッチして再実行します
opening… · esc to cancel が無期限に表示され、claude attach <id> はエラーを報告せずに待機していました。
Session isn’t responding
バックグラウンドセッションを開きました。バックグラウンドサービスは開くことを受け入れましたが、約 10 秒間出力が到着しなかったため、Claude Code は、セッションのターミナルをリレーするプロセスが出力を配信できないと結論付け、待機する代わりに試行を終了します。 エージェントビューでは、Claude Code はフッターで再開を提供します:claude attach <id> は原因を出力して終了します:
- エージェントビューで、同じ行で
Enterを再度押します。Claude Code は応答しないプロセスを停止し、セッションを再開し、会話が再開されます。2 番目のプレスなしに何も停止されません - シェルから、
claude stop <id>を実行してから、claude attach <id>を実行します - シェルコマンド行の場合、エージェントビューで
Ctrl+Xを押すか、claude stop <id>を実行してそれを停止します。コマンドを再度ディスパッチして再実行します
Session was stopped while the respawn was in flight
バックグラウンドセッションを開きました。そのプロセスは実行されていなかったため、Claude Code はそれを再開していました。その間に、別の Claude Code プロセスがそれを停止しました。例えば、別のターミナルでclaude stop を実行しました。Claude Code はセッションを停止したままにします:
- セッションを停止しなかった場合、エージェントビューで行を再度開くか、
claude respawn <id>を実行して再開します - セッションを自分で停止した場合、残っているものはありません:セッションは停止したままです
セッションエージェントはもう利用できません
--agent または agent 設定で開始されたカスタムエージェントを実行していたセッションを再開しましたが、Claude Code はその名前のエージェントを見つけられませんでした。Claude Code は、そのワークスペースを信頼している場合はまずセッションの元のディレクトリを検索し、次に再開元のディレクトリを検索します。セッションは引き続き再開されますが、デフォルトツールを使用するため、エージェントのツール制限は適用されなくなります:
/resume または claude --resume を実行するか、非対話モードで再開するかどうかに関わらず、再開された会話に表示されます。非対話モードでは stderr にも送信されます。--input-format stream-json を使用するセッションは、Agent SDK がスタートアップ後にエージェントを提供するため、表示されません。
Claude Code はセッションへのフォールバックを保存しないため、警告は、対処するまで各再開で繰り返されます。組み込みの claude エージェントは、デフォルトツールセットへのフォールバックがそれに対して何も変わらないため、警告をトリガーしません。v2.1.216 より前では、Claude Code は静かにデフォルトエージェントとして続行し、ルックアップは再開するディレクトリのみをカバーしていたため、プロジェクトスコープのエージェントは別のディレクトリから再開すると失われました。
対処方法:
- セッションのプロジェクトの
.claude/agents/<name>.mdまたは個人エージェントの~/.claude/agents/<name>.mdにエージェントファイルを再作成してから、再度再開します - または、存在するエージェントを指定して
--agent <name>で再開し、セッションをそのエージェントとして実行します - エージェントがプロジェクトスコープで、セッションの元のディレクトリを信頼していない場合、そこで Claude Code を 1 回実行し、信頼ダイアログを受け入れてから、再度再開します
This session restarted after its next /loop wakeup was due
バックグラウンドセッションの自己ペースの/loopが停止しました。ループが次のウェイクアップを待っている間にセッションのプロセスが終了し、セッションの次のプロセスが開始する前にそのウェイクアップの予定時刻が過ぎました。逃したウェイクアップが遅れて発火することはありません。通知には、セッションが再開した時点でウェイクアップがどれだけ遅れていたかが示されます:
- ループを続行するには、セッションに返信してその旨を伝えます(例:
keep the loop running)。Claude は返信と一緒に通知を読み、次のウェイクアップをスケジュールできます - ループが不要な場合は、何もする必要はありません。ループは既に停止しています
CLAUDE_CODE_PROCESS_WRAPPER ランチャーエラー
CLAUDE_CODE_PROCESS_WRAPPERが設定されており、その値は使用できないため、Claude Code はランチャーなしで実行するのではなく、影響を受けるプロセスの開始を拒否します。設定の問題は、変数名で始まり、理由を述べるメッセージで報告されます。例えば:
must exec, not daemonize であることを、ランチャーが出力したものに続けて報告します。ランチャーが原因で開始できない、またはバックグラウンドサービスに到達できないセッションは、ランチャーの問題を理由として Couldn't reach the background service (...) 内で報告します。
対処方法:
- 変数を、
exec "$@"を呼び出して終了する実行可能ファイルの絶対パスに設定します。完全な契約については、ランチャー契約を参照してください /statusをチェックします。これは Self-exec エントリで解決された起動コマンドを表示し、実行中のバックグラウンドサービスが一致しない場合に警告します。または、シェルからclaude daemon statusを実行します- 設定の
envブロックで値を修正した後、claude daemon stop --anyでバックグラウンドサービスを再開して、次のディスパッチがラップされたものを開始するようにします
バックグラウンドセッションを開始するときの EUNKNOWN
Windows は標準名を持たないエラーコードでプログラムの開始を拒否したため、失敗はEUNKNOWN として表示されます。通常のトリガーはソフトウェア制限ポリシー(グループポリシーや AppLocker など)で、開始されるプログラムをブロックしています。エラーは、/background または claude --bg でバックグラウンドセッションを開始するときに表示されます:
background service の代わりに daemon を示しています。
npm インストールでは、npm install -g @anthropic-ai/claude-code がバイナリを置き換えている間に表示される EUNKNOWN は、再インストール中の EACCESと同じ原因を持ち、インストール完了後に再試行するとクリアされます。
Claude Code は PowerShell を通じてバックグラウンドサービスを開始するため、ターミナルを閉じてもサービスが存続します。PowerShell 7 がインストールされている場合はそれを使用し、そうでない場合は Windows PowerShell 5.1 を使用します。どちらの PowerShell も実行できない場合、Claude Code は代わりにサービスを直接開始するため、PowerShell のみをブロックするポリシーはこのエラーを引き起こしません。
v2.1.212 より前では、Claude Code は Windows PowerShell 5.1 のみを使用してサービスを開始していたため、グループポリシーが PowerShell 5.1 をブロックしたマシンは、PowerShell 7 がインストールされていても Couldn't start the session — EUNKNOWN: unknown error, uv_spawn で失敗しました。
対処方法:
- メッセージが
Couldn't start the sessionとなっている場合、v2.1.212 以降にアップグレードします。以前のバージョンでは、別のターミナルで最初にclaude daemon runを実行してから、バックグラウンドセッションを再度開始することもできます。そのコマンドはバックグラウンドサービスをターミナルのフォアグラウンドで実行するため、サービスはそのターミナルが開いている限り続きます。 - npm インストールがバイナリを置き換えていた場合、完了するまで待ってから、バックグラウンドセッションを再度開始します
- npm インストールが実行されていないのに v2.1.212 以降でエラーが表示される場合、制限ポリシーが Claude Code 実行可能ファイルをブロックしているかどうかを Windows 管理者に確認します
- ターミナルを閉じるとバックグラウンドサービスが停止する場合、Claude Code は PowerShell なしでそれを開始しました。PowerShell 7 をインストールするか、管理者に PowerShell をブロック解除するよう依頼して、サービスがターミナルより長く続くようにします。
バックグラウンドセッションを開始するときの EACCES
Claude Code は、バックグラウンドセッションをホストするバックグラウンドサービスを開始するために、独自のバイナリを実行できませんでした。npm インストールでは、これは通常、npm install -g @anthropic-ai/claude-code がその時点でバイナリを置き換えていたことを意味します。ユーザーが実行したか、自動アップデーターが実行したかは問いません。エラーは、エージェントビューからセッションを開くときに表示されます:
/background または claude --bg でセッションを開始する場合、同じ理由は Couldn't reach the background service (...) 内に表示されます。同じ再インストールウィンドウ中に、エラーは ENOENT または ENOEXEC などの別のコードに名前を付けることができます。または Windows では EUNKNOWN または EPERM。再試行全体で持続する EUNKNOWN は異なる原因を持っています。
npm インストールでは、Claude Code は再インストールが完了するのを待ち、独自に再試行します:最大 10 秒、および Claude Code の npm インストールがマシン上で明らかにまだ実行されている間、最大 2 分。これは別の Claude Code プロセスがアップデートをダウンロードしている場合をカバーします。インストールがその待機を超える場合、失敗は裸のエラーコードではなくアップデートに名前を付けます:
- 数秒待ってから、セッションを開くか再度ディスパッチします。メッセージが Claude Code が更新されていることを示す場合、アップデートが完了した後に再試行します。
- npm インストールが実行されていない間にエラーが持続する場合、ユーザーはインストールされたバイナリを実行できません。その権限とそのディレクトリの権限をチェックするか、Claude Code を再インストールします。
バックグラウンドサービスが到達可能になる前に終了しました
Claude Code がバックグラウンドサービスとして開始したプロセスは、接続を受け入れる前に終了したため、Claude Code はセッションを開くことができませんでした。サービスが終了する前にエラーを出力した場合、括弧内の理由は終了コードまたはシグナルと、サービスが出力した最初の行を示します。これはそれを停止したものに名前を付けます:Couldn't start the background service — に続きます。サービスが終了する前に何も出力しなかった場合、メッセージは代わりに nothing on stderr を示しています。
Claude Code はサービスのエラー行で失敗を報告します。v2.1.246 より前では、失敗は 45 秒の待機後にのみ表示され、background service did not become reachable within 45s として、サービスのエラー行なしで表示されました。
2 つの引用された理由は既知の原因を持っています:
Error: claude native binary not installed.:npm インストールがその時点で Claude Code バイナリを置き換えていたため、サービスは npm のプレースホルダーを実行しました。インストール完了後に再試行します。インストールが実行されていない間に行が持続する場合、npm インストールを完了します。v2.1.257 より前では、macOS npm 自己更新はインストールウィンドウ中のすべての開始でこの失敗を生成しました。- Windows で、すべての開始で終了コード 1 で
nothing on stderr:daemon.lockは、Claude Code がシグナルを送信することも、消えたことを証明することもできないプロセスに名前を付けます。そのため、各新しいサービスは別のサービスがロックを保持していると結論付け、終了します。Claude Code が書き込み元の消失を証明できるロックは、独自に置き換えられ、この失敗を生成しません。失敗がすべての開始で繰り返される場合、~/.claude/daemon.lockを削除してから、セッションを開くか再度ディスパッチします。v2.1.257 より前では、そのようなロックはファイルを削除するまですべての開始をブロックしました。
- メッセージが行を引用する場合、それが名前を付けるものを修正してから、セッションを開くか再度ディスパッチします。次の試行はサービスを再度開始します
claude daemon statusを実行して、サービスが現在実行されているかどうかをチェックします
バックグラウンドセッションを開始するときに作業ディレクトリが存在しなくなりました
バックグラウンドセッションを開始したディレクトリが、セッションの開始中に削除されました。Claude Code はセッションを開始せず、メッセージは見つからないディレクトリに名前を付けます:could not be resolved on diskを報告します。
対処方法:
- メッセージが名前を付けるディレクトリを再作成するか、存在するディレクトリからディスパッチしてから、再度試してください
バックグラウンドセッションをディスパッチするときにワークスペースが信頼されていません
信頼していないディレクトリでバックグラウンドセッションを開始または再開しましたが、ワークスペース信頼ダイアログを表示して確認することができませんでした。Claude Code はセッションを開始しません:The home directory is trusted one session at a time:セッションのディレクトリはホームディレクトリです。Claude Code はホームディレクトリの信頼を保存しないため、以前のセッションでそこでダイアログを受け入れてもカウントされません。<path> could not be resolved on disk:Claude Code はディスク上のセッションのディレクトリを見つけることができませんでした。
- メッセージが名前を付けるディレクトリで
claudeを実行し、信頼ダイアログを受け入れてから、コマンドを再度実行します - ホームディレクトリメッセージの場合、ホームディレクトリのターミナルからコマンドを実行してダイアログが表示されるようにするか、プロジェクトディレクトリからセッションを開始します
could not be resolved on diskメッセージの場合、ディレクトリを再作成するか、存在するディレクトリから新しいセッションを開始します
ラッパーと IDE エラー
これらのエラーは、IDE 拡張機能や Agent SDK アプリケーションなど、Claude Code を起動したプログラムから発生します。Claude Code 自体からではなく、ラッパーから発生するものです。Claude Code プロセスがコード N で終了しました
基盤となるclaude プロセスがゼロ以外のコードで終了しました。終了コードだけでは何が失敗したかは分かりません。実際のエラーはプロセス自体の出力にあり、ラッパーはキャプチャした場合はそれを追加し、そうでない場合はログに保持します。
4294967295 で終了することがあります。その終了がターン境界に着地し、待機中のメッセージがなく、バックグラウンドタスクが実行されていない場合、VS Code 拡張機能 はこのエラーを表示する代わりに、セッションを静かに閉じます。次のメッセージで会話が再開されます。
v2.1.273 より前では、拡張機能は何も失われていないにもかかわらず、すべてのターン境界でそのエラーを表示していました。
対応方法:
- VS Code では、エラーと共に表示される View output logs リンクをクリックして、基盤となるエラーを確認してください
- Agent SDK アプリケーションでは、メッセージループの周りでエラーをキャッチしてください。CLI プロセス終了 の下のエントリは、各 SDK 言語でコードが受け取るものをカバーしています。
- 同じプロジェクトのターミナルで
claudeを実行してください。通常、失敗はそこで実際のエラーメッセージと共に再現され、このページで検索できます。 - ターミナルで
claude doctorを実行して、インストールと設定を確認してください
Claude CLI が PATH に見つかりません
VS Code 拡張機能 は、Windows で統合ターミナルで Claude Code を開き、ターミナルのシェルが PowerShell で、拡張機能がインストールされたclaude 実行ファイルを PATH で見つけられない場合、このエラーを表示します。拡張機能は、インストールされた claude を PATH で見つけるまで Claude Code の起動を拒否します。
- VS Code の外で新しい PowerShell ウィンドウを開き、
where.exe claudeを実行してください。パスが出力されない場合、CLI は PATH にありません。PATH を確認する に従ってインストールディレクトリを追加してください。パスが出力される場合、エントリは PowerShell プロファイルから、または VS Code がまだ取得していない PATH 変更から来ています。次の 2 つのステップがこれらのケースをカバーしています。 - PATH エントリを PowerShell プロファイルではなく、ユーザーまたはシステム環境変数として設定してください。拡張機能はプロファイルを実行しないため、そこにのみ存在する PATH 編集は拡張機能に到達しません。
- PATH を変更した後、VS Code を再起動してください。拡張機能は VS Code が起動時にキャプチャした PATH をチェックするため、PATH 変更は再起動後にのみ有効になります。
Claude Code への接続がこのメッセージの完了前に終了しました
VS Code 拡張機能 はメッセージをclaude プロセスに送信し、プロセスが確認または完了する前に接続がエラーなしで終了しました。拡張機能はメッセージが処理されたかどうかを判断できないため、再度送信するよう求めます。
- メッセージを再度送信してください。次のメッセージは会話を再開する新しい
claudeプロセスを開始します。 - 繰り返される場合は、同じプロジェクトのターミナルで
claudeを実行してください。プロセスを終了し続ける失敗は通常、そこで実際のエラーメッセージと共に再現されます。
Rewind の警告とエラー
これらのメッセージは、/rewind コード復元から発生します。Restored the code, but skipped N files は Claude Code が一部のパスをスキップしたことを示す警告です。No files were restored は何も復元されなかったことを意味するエラーです。
Restored the code, but skipped files
/rewind コード復元は、1 つ以上の追跡パスをスキップしました。これらのパスに対して書き込みまたは削除を行いませんでした。Claude Code は以下の場合にパスをスキップします。
- シンボリックリンク、ハードリンク、またはその他の通常ファイル以外のファイルである、またはそうなった場合
- チェックポイント以降にそのディレクトリが変更された場合
- バックアップを安全に読み取ることができない場合
/rewind は追跡パスのリンクを通じて書き込みと削除を行い、部分的な復元を報告しませんでした。
- スキップされたファイルを特定して、以下の手順で各ファイルを処理してください。メッセージはカウントのみを示します。
~/.claude/debug/<session-id>.txtのデバッグログには、復元の実行時に各スキップされたパスが記載されます。次の復元の前に/debugでデバッグログを有効にしてください。macOS または Linux では、代わりにリンクを直接見つけることができます。シンボリックリンクの場合はfind . -type l、ハードリンクされたファイルの場合はfind . -type f -links +1を実行してください。 - スキップされたファイルが、dotfile マネージャーで管理されている設定ファイルや pnpm などのツールでハードリンクされたファイルなど、意図的に作成したリンクである場合、rewind はその内容をそのままにしました。セッションの変更を元に戻すには、Claude にその編集を逆にするよう依頼するか、ファイルを自分で編集してください。
- リンクを作成していない場合は、その内容を信頼する前にパスを検査してください。
No files were restored
Claude Code は、/rewind でコードを復元しようとしたときにそのチェックポイント内のファイルを復元できない場合、このメッセージを表示します。各ファイルについて、Claude Code が編集前に保存したバックアップが見つからないか、Claude Code がファイルに書き込みまたは削除できませんでした。
/rewind はそのチェックポイントをリストしますが、そのいずれかに rewind すると、このエラーで失敗する可能性があります。メッセージに N paths were skipped for link safety も表示されている場合は、これらのパスについて Restored the code, but skipped files を参照してください。
セッションをフォークする場合(例えば --fork-session または /branch を使用する場合)、Claude Code は元のセッションのバックアップをフォークにコピーします。Claude Code がバックアップをコピーできない場合(例えばディスクがいっぱいの場合)、そのバックアップはフォークに存在しません。それを必要とするチェックポイントに rewind すると、このエラーで失敗する可能性があります。
対応方法:
- 別の方法で変更を元に戻してください。Claude に編集を逆にするよう依頼するか、バージョン管理からファイルを復元してください。バックアップがなくなると、
/rewindを再度実行しても同じ方法で失敗します。 - Claude Code がファイルに書き込みまたは削除できない場合は、ファイル権限など書き込みをブロックしているものを修正してから、
/rewindを再度実行してください。 - 今後のセッションでバックアップをより長く保持するには、
cleanupPeriodDaysを増やしてください。
セッション保存の警告
Claude Code は、セッショントランスクリプトを保存していない場合、入力ボックスの下の永続的な行に以下の警告を表示します。セッションはどちらの場合でも機能し続けます。警告は、後で--resume でセッションが見つからない可能性があることを示しています。
トランスクリプト書き込みが失敗しています
Claude Code は作業中にトランスクリプトをディスクに保存し、トランスクリプトファイル への書き込みが失敗しています。メッセージは原因を基になるエラーコードで示します。例えば、ディスクがいっぱいの場合:- 自動的にクリアされない条件での最初の失敗:ディスクがいっぱい、ディスククォータを超過、ファイルシステムが読み取り専用、パスがファイルシステムの長さ制限を超過、または macOS と Linux では権限エラー
- 少なくとも 1 分間にわたる繰り返しの失敗(Windows での権限エラーを含む、ウイルス対策スキャンが単一の書き込みに失敗してから再試行で成功する場合など)
--resume で最近のメッセージが見つからないことが最初の兆候でした。
対応方法:
- エラーコードが示す条件を修正します:
ENOSPCの場合はディスク容量を解放、EDQUOTの場合はクォータを引き上げるかクリア、EACCES、EPERM、またはEROFSの場合はトランスクリプト位置への書き込みアクセスを復元 - 警告は次の書き込み成功時に自動的にクリアされます。再起動は不要です
- 警告が表示されている間に送信されたメッセージは、後でセッションを再開するときに見つからない可能性があります
CLAUDE_CODE_SKIP_PROMPT_HISTORY が設定されているため、トランスクリプト保存がオフになっています
このセッションはCLAUDE_CODE_SKIP_PROMPT_HISTORY が設定された状態で開始されたため、Claude Code はこのセッションのトランスクリプトまたはプロンプト履歴を書き込みません:
- 変数を意図的に設定した場合、アクションは不要です。通知は、セッションが
--resume、--continue、または上矢印履歴に表示されないことを確認します - 設定していない場合は、
claudeを起動するシェルまたはスクリプトから変数を削除し、新しいセッションを開始します。現在のセッションからのメッセージは遡及的に保存されません。
CLAUDE_CODE_CHILD_SESSION マーカーを継承しているため、トランスクリプト保存がオフになっています
Claude Code は、生成するサブプロセスでCLAUDE_CODE_CHILD_SESSION を設定し、それを継承するインタラクティブセッションをネストされたものとして扱います:Claude Code はそのトランスクリプトを保存しないため、Claude 自体が開始するセッションは --resume リストを埋めません。この通知は、現在のセッションがマーカーを継承したことを意味します:
claude を実行した場合に予想されます。マーカーが長寿命の仲介者(例えば、Claude Code セッションが元々開始したターミナル、screen セッション、またはランチャー)を通じてリークした場合、誤分類を示します。
tmux 内では、Claude Code は tmux サーバーのグローバル環境を通じて到達したマーカーを検出し、保存を続けるため、このケースではこの通知は表示されません。
対応方法:
- このセッションを別の Claude Code セッション内から意図的に開始した場合、アクションは不要です
- これがトップレベルセッションの場合、終了して
CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1を設定して再起動します。保存は再起動から適用されるため、その前に送信されたメッセージは保存されません。 - 同じターミナルまたはランチャーからの将来の起動を修正するには、その環境から
CLAUDE_CODE_CHILD_SESSIONを削除します
設定の警告
Claude Code はこれらのメッセージのほとんどを会話ではなく stderr に書き込み、そのほとんどを起動時に書き込みます。メッセージがデバッグログや会話ビューの起動時通知など別の場所に表示される場合や、リクエスト時の認識されないモデルの診断行のように別のタイミングで表示される場合は、各項目にその旨を記載しています。Claude Code exited after an unrecoverable interface error
Claude Code は、ターミナルインターフェースが回復できないエラーに遭遇して終了したときに、使用していたレンダラーがどちらであってもこのメッセージを表示します。2 文目は、フルスクリーンレンダラーの起動中にエラーが発生した場合にのみ表示されます。- Claude Code を再度起動します。会話を再開するには、同じディレクトリで
claude --resumeを実行します。 - メッセージにフルスクリーンレンダラーが示されている場合、次回の起動時の動作(フルスクリーンをどのようにオンにしたかによって異なります)と、フルスクリーンを再度試す方法やクラシックレンダラーを使い続ける方法については、フルスクリーンレンダリングを参照してください。
Agent descriptions are over the 15.0k-token limit
Claude Code はこの警告を stderr ではなく、会話ビューの起動時通知として表示します。組み込みのものを除くサブエージェントの説明の合計が、Claude Code の推定で 15,000 トークンを超えています。各エージェントについて、名前とdescription フロントマターがカウントされます。合計が上限を超えているかどうかにかかわらず Claude Code はすべてのエージェントを読み込むため、この警告によって読み込まれる内容は変わりません。
- エージェントファイルの
descriptionフロントマターを短くするか、Claude に短縮を依頼します。 - 使用しなくなったエージェントファイルを削除します。
Hook needs quotes around a path with a space
会話ビューに表示されるこの通知は、フックのスクリプトのパスにスペースが含まれていて引用符で囲まれていないため、そのスクリプトが実行されなかったことを意味します。そのフックはシェル形式のasyncRewake フックです。その command では、python3 などのインタープリターの後に引用符で囲まれていないパスのプレースホルダーが続いており、解決されたパスにスペースが含まれています。
通知はフックのイベント名で始まり、スクリプトの名前が示されます。
- 通知に示されたスクリプトを実行するフックの
commandで、パスを二重引用符で囲みます。JSON ファイルでは、"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\""のように記述します。
名前が予約されているため、スキル、コマンド、またはワークフローが読み込まれなかった
スキルフォルダ、フロントマターのname、.claude/commands/ 内のファイルやサブフォルダ、または保存されたワークフローが、anthropic-skills という名前、または anthropic-skills: で始まる名前を使用しています。Claude Code はこの名前を claude.ai から同期されたスキル用に予約しているため、その項目を読み込みません。
Claude Code はこの警告を stderr ではなく、会話ビューの起動時通知として表示します。
name: 行、または名前を変更するワークフローです。複数の項目が拒否された場合、通知の末尾に · 2 more のような件数が付き、デバッグログにそれぞれの項目が記録されます。
対処方法:
- 通知に示された項目の名前を変更するか、通知が指す
name:行を編集してから、セッションを再起動します。
Skill or command name refused
この起動時通知は、Claude Code が少なくとも 1 つのスキルまたはカスタムコマンドの名前を拒否したため、そのスキルやコマンドが読み込まれなかったか、name フィールドなしで読み込まれたことを意味します。
- 読み込まれなかった場合: Claude Code が、ディレクトリ名、コマンドファイルの名前やサブフォルダなど、スキルやコマンドの呼び名となる名前を拒否しました。そのスキルやコマンドは
/メニューに表示されず、Claude も呼び出せません。デバッグログ内の該当行は<name> is not offeredとなります。 nameフィールドが無視された場合: Claude Code がスキルのフロントマターのnameを拒否しました。スキル自体は読み込まれますが、/メニューにはnameの値が表示されず、その値を入力してもスキルは呼び出されません。デバッグログ内の該当行は<name value> is not shown for <skill>となります。
- シェルから
claude --debugで Claude Code を起動し、デバッグログで[names]を検索します。通知でカウントされた名前ごとに 1 行ずつ記録されています。行内では、ゼロ幅スペースを\u{200B}と表すなど一部の不可視文字がコードで表記されるため、それらの位置を確認できます。 - フォルダやファイルの名前を変更するか
name:行を編集して、スキル名に含められない文字を取り除くか、256 文字を超える名前を短くします。その後、ファイルが Claude Code が変更を監視しているディレクトリにある場合を除き、セッションを再起動します。自分が作成していないプラグインのスキルの場合は、プラグインの作成者に名前の変更を依頼してください。
Workspace has not been trusted
Claude Code はプロジェクトの.claude/settings.json または .claude/settings.local.json に permissions.allow ルールまたは permissions.additionalDirectories エントリを見つけましたが、プロジェクト設定の許可ルールにはワークスペースの信頼が必要であるため、それらを適用しませんでした。メッセージに示される件数、設定名、ファイルは設定内容によって異なります。deny ルールと ask ルールは影響を受けません。
- そのディレクトリで
claudeを実行し、信頼ダイアログを承認します。その承認がどのフォルダに適用されるかについては、プロジェクトの許可ルールとワークスペースの信頼を参照してください。 -pを使用した非対話モードではダイアログは表示されません。メッセージに表示されたprojectsキーをそのまま使用して、~/.claude.jsonのhasTrustDialogAcceptedエントリを設定します。- メッセージに
.claude/settings.local.jsonが示されていて、Git リポジトリの外またはホームディレクトリで Claude Code を起動した場合は、v2.1.200 以降に更新してください。バージョン 2.1.196 から 2.1.199 では、これらのワークスペースで自分の.claude/settings.local.jsonがリポジトリ由来のものとして扱われていました。v2.1.207 以降では、フォルダを信頼していない場合、Git リポジトリの外では更新だけでは不十分です。フォルダがリポジトリ内にないことを判定するには git を実行する必要があり、Claude Code はこのチェックを信頼ダイアログの承認後にのみ実行するため、最初の手順を使用してください。ホームディレクトリやその他の設定ホームは対象外で、ダイアログを待ちません。プロジェクトの許可ルールとワークスペースの信頼を参照してください。
Working directory is a network path
Claude Code はネットワークパスを作業ディレクトリとして追加しません。ネットワークパスを参照すると、そのパスが示すホストに接続する可能性があり、Windows ではその接続によってホストに認証情報が送信される場合があるため、Claude Code はパスを参照せずに拒否します。このメッセージは、そのようなパスで/add-dir を実行したとき、または起動時の警告として表示されます。起動時に表示された場合、Claude Code はそのディレクトリなしで起動します。
\\server\shareなどの UNC 共有/net/<host>などの自動マウントパス(そのホストの自動マウント配下のディレクトリから Claude Code を起動した場合を除く)。その自動マウント配下の読み取りは、引き続きネットワークパスのチェックの対象になります。- シンボリックリンクやジャンクションを介してネットワーク上の場所に到達するローカルパス
\\wsl$ パスはネットワークパスとして扱われません。
対処方法:
- Windows では、
net use Z: \\server\shareなどで共有をドライブ文字にマップし、起動時にclaude --add-dir Z:\でそのドライブを渡します。 - macOS または Linux では、共有をローカルパスにマウントし、代わりにそのパスを追加します。
- パスが
permissions.additionalDirectoriesに含まれている場合は、そのパスを記載している設定ファイルから削除します。
Remote managed settings failed to load
セッションはサーバー管理設定の対象ですが、Claude Code がそれらを取得できなかったか、サーバーから返された内容を適用できなかったため、対話セッションでこの警告が表示されます。 括弧内の原因には、network error、request timed out、authentication rejected (401) など、失敗した内容が示されます。原因が no setting in the server response could be applied as written の場合は、サーバーは応答したものの、返された設定のいずれも検証に合格しなかったことを意味します。v2.1.282 より前では、この原因は server returned invalid settings と表示されていました。
行の残りの部分には、セッションがどのポリシーで実行されるかが示されます。
- 以前の取得成功時にキャッシュされた設定がある場合: Claude Code は、保留される環境変数を除き、そのキャッシュされたポリシーでセッションを実行し、行には
using cached policyと表示されます。 - キャッシュがない場合: Claude Code はサーバー管理設定なしでセッションを実行し、行には
no remote policy appliedと表示されます。
- メッセージに示された原因に対処します。ネットワークが原因の場合は、このマシンが
api.anthropic.comに到達できるか確認します。認証が原因の場合は、/statusでサインイン状態を確認します no setting in the server response could be applied as writtenの場合は、管理者にサーバー上の設定の修正を依頼します- 完全な診断を確認するには、
/statusまたはclaude doctorを実行します
Managed settings were not approved
組織のサーバー管理設定に承認が必要な設定が含まれており、セキュリティ承認ダイアログを拒否したため、Claude Code はそれらを適用せずに終了します。- Claude Code を再度起動し、ダイアログを承認して組織の設定のもとで続行します。拒否したダイアログは記憶されないため、次回の起動時にも再び表示されます。
- ダイアログに表示された設定について不明な点がある場合は、承認する前に組織の管理設定を管理している担当者に確認してください
Managed settings block the default model
組織の管理設定が、Default オプションが解決されるモデルと、その段階的フォールバック先となり得るすべてのモデルをブロックしています。Default オプションで開始されるはずのセッションは、ブロックされたモデルを実行する代わりに起動時に終了します。表示されるメッセージは、ブロックしている設定によって異なります。deniedModels リストによってブロックされている場合、メッセージは次のようになります。
availableModelsMatch が "exact" に設定された availableModels リストにそのモデルが含まれていない場合、メッセージは次のようになります。
- 設定を管理している場合は、ユーザーが実行できるモデルを
availableModelsに追加するか、すべてのフォールバックをブロックしているdeniedModelsエントリの範囲を狭めます。Default オプションが段階的にフォールバックする仕組みについては、特定のモデルまたはバージョンをブロックするを参照してください - 設定を管理していない場合は、メッセージを管理者に送ってください。自分の設定ファイルでは、管理された
availableModelsリストやdeniedModelsリストを拡張できません
管理設定がこの API プロバイダーを許可していない
組織の管理設定がallowedProviders リストを設定しており、セッションの API プロバイダーがそのリストに含まれていないか、セッションがそのエントリで必要とされる方法で固定されていないエンドポイントを使用しています。Claude Code は、起動時、ログイン前、またはセッションが次に API に接続するときに拒否します。メッセージは許可されたプロバイダーの一覧から始まります。
(allowedProviders lists only unrecognized entries) となります。
対処方法:
- メッセージの
To continue:の手順に従います - 設定を管理している場合は、メッセージの
Admins:で始まる行に、追加すべきエントリまたは固定すべき値が示されています。どのソースのenvブロックで固定できるかについては、allowedProvidersの項目を参照してください
MCP server is blocked by enterprise managed policy
/mcp でサーバーの Reconnect を選択したか、無効化されたサーバーをそこで再度オンにしたものの、MCP サーバーを制限する設定がそのサーバーをブロックしています。Claude Code は接続を拒否し、次のメッセージを表示します。
- サーバーに一致する
deniedMcpServersエントリ(自分の~/.claude/settings.jsonやプロジェクトの.claude/settings.jsonにあるものを含む) - サーバーが一致しない
allowedMcpServersリスト mcpがロックされたstrictPluginOnlyCustomization(~/.claude.jsonと.mcp.jsonで設定されたサーバーをブロックします)- サーバーが claude.ai コネクタである場合の
disableClaudeAiConnectors
- 自分のユーザー設定ファイルとプロジェクト設定ファイルにこれらの設定がないか確認し、変更または削除します
- 自分の設定でブロックの理由が説明できない場合は、どの管理設定がサーバーをブロックしているかを管理者に確認してください
/mcp の Reconnect や再有効化によって、セッション中のポリシー更新でブロックされたサーバーに接続できてしまう場合がありました。
Managed settings document could not be parsed
組織が管理設定をデプロイしており、デプロイされたドキュメントの 1 つが存在するものの JSON オブジェクトとして解析できないため、Claude Code は、そのドキュメントに含まれるポリシーなしで実行する代わりに、起動時に終了コード 1 で終了します。行のメッセージの前に、失敗したソースが示されます。managed-settings.jsonファイルのパス、またはmanaged-settings.d配下のドロップインファイルのパス- macOS の管理対象環境設定プロファイル(
per-user managed preferencesまたはdevice-level managed preferences) - Windows レジストリの値(
Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings)
claude -p、Agent SDK セッション、バックグラウンドセッション、および claude doctor を含むほとんどのサブコマンドで表示されます。この拒否は意図的なフェイルクローズです。Claude Code が解析できないドキュメント内の設定は強制できず、それでも起動すると組織の制御なしでセッションが実行されることになります。
解析可能なドキュメント内のスキーマの問題では、このエラーは発生しません。その場合の Claude Code の動作については、Claude Code が破棄したエントリを見つけるを参照してください。
managed-settings.d/ ディレクトリが存在するものの一覧を取得できない場合、Claude Code は代わりに Managed settings drop-in directory could not be read: に続けて根本的なエラーを報告します。読み取りの失敗によって起動時に終了する場合については、Claude Code が破棄したエントリを見つけるを参照してください。
対処方法:
- マシンを管理している場合は、示されたドキュメントを JSON オブジェクトとして解析できるように修正するか、ファイル、プロファイル、またはレジストリの値を削除します。空の
managed-settings.jsonは{}として扱われ、起動を妨げません。 - マシンを管理していない場合は、デプロイされたドキュメントの修正を管理者に依頼してください。自分の設定ファイルの内容がこのエラーの原因になることはなく、それによってエラーを解消することもできません。
Unable to read managed policy settings
組織が管理設定をデプロイしており、デプロイされたソースの 1 つが存在するものの、オペレーティングシステムによる読み取り拒否ではなく I/O エラーなどの理由で読み取れませんでした。ポリシーを提供する他の管理ソースがない場合、Claude Code は、そのソースに含まれている可能性のあるポリシーなしで実行する代わりに、起動時に終了します。claude gateway サーバーが、allowedProviders を示す 1 行目の変形版のメッセージとともに拒否されます。
root 専用ファイルなど、オペレーティングシステムによって読み取りが拒否された場合は、この終了は発生しません。セッションはそのソースのポリシーなしで開始されます。解析できないソースの場合、Claude Code はソースを示す別のメッセージで終了します。
対処方法:
- マシンを管理している場合は、
Detail:行に示された問題を修正してデプロイされたソースを読み取れるようにするか、ソースを削除します - マシンを管理していない場合は、メッセージを管理者に送ってください。自分の設定ファイルの内容がこのエラーの原因になることはなく、それによってエラーを解消することもできません
otelHeadersHelper failed
otelHeadersHelper スクリプトが失敗した場合、またはスクリプトの要件を満たさない出力を返した場合、Claude Code はこの警告をターミナルインターフェースの通知として、対話セッションごとに 1 回表示します。
スクリプトが失敗し続けている間はエクスポートが失敗し、テレメトリのバックエンドはそのセッションから何も受信しません。
See /status: の後のテキストには、スクリプトの終了コードとそれに続くエラー出力など、失敗した内容が示されます。
/statusを実行して失敗の詳細を確認します。- スクリプトが 30 秒以内に終了コード 0 で終了し、文字列のヘッダー値を持つ JSON オブジェクトを stdout に出力するように修正します。スクリプトの要件を参照してください。
- 組織が管理設定を通じてスクリプトをデプロイしている場合は、管理設定を管理している担当者に修正を依頼してください。
-p を使用した非対話モードでは、同じ失敗が代わりに stderr に otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error> として表示されます。
headersHelper not run
Claude Code は MCP サーバーを静的なheaders のみで接続し、サーバーの headersHelper をスキップしました。ヘルパーはシェルコマンドであり、フォルダに保存された信頼がないためです。フォルダに信頼が保存されるのは、~/.claude.json でそのエントリを手動で設定した場合、またはホームディレクトリ以外で、対話セッションでそのフォルダの信頼ダイアログを承認した場合です。このチェックがどのサーバーに適用されるかについては、headersHelper を実行する前にフォルダを信頼するを参照してください。
Claude Code はこの行を非対話モードでのみ、サーバーごとに 1 回書き込みます。対話セッションでは、同じ拒否を代わりにデバッグログに書き込みます。
projects キーは、プロジェクトの許可ルールとワークスペースの信頼で説明されている、Claude Code が信頼のキーとして使用するフォルダです。親フォルダの信頼ダイアログを承認してもこのチェックは満たされず、-p セッションや SDK セッションでも満たされません。
対処方法:
- メッセージに示されたフォルダで
claudeを実行して信頼ダイアログを承認し、その後-pまたは SDK のコマンドを再度実行します - メッセージに表示された
projectsキーをそのまま使用して、~/.claude.jsonのhasTrustDialogAcceptedエントリを自分で設定します - ホームディレクトリでセッションを開始した場合は、信頼済みのプロジェクトディレクトリから作業してください。ホームディレクトリで信頼ダイアログを承認した場合、Claude Code はその信頼を現在のセッションの間のみ保持します。
Malformed Tool(content) rule
設定ファイルのいずれかにある権限ルールが、閉じ括弧の後にテキストが続いている、または括弧の一方が欠けているなどの理由で、Tool または Tool(content) の形式になっていません。Claude Code はそのルールをスキップし、対話セッションの開始時に表示される無効な設定のダイアログと、claude doctor の出力に一覧表示します。
- メッセージとともに示された設定ファイルで、ルールが閉じ括弧で終わるように書き直します。たとえば、
Bash(ls) xの代わりにBash(ls *)とします - content 内の括弧はそのままにしておきます。括弧はリテラルとして扱われるため、
Edit(./Finance (2024)/**)のようなルールはエスケープなしで有効です
Mismatched parentheses として報告していました。
Is not matched by file permission checks
Claude Code は、設定ファイルのいずれか、管理設定、または--allowedTools、--disallowedTools、--settings フラグの値の中に、パスを指定した Write、NotebookEdit、MultiEdit、または Glob の権限ルールを見つけました。Claude Code はファイルの権限を Edit ルールと Read ルールに対してのみチェックするため、それ以外のファイルツールを指定したパスルールは参照されません。Claude Code はそのルールを保持し、それ以外は何も変更しません。警告には、ルール、括弧内のソース、および記述すべき置き換え後のルールが示されます。
Write(path)、NotebookEdit(path)、およびレガシーのMultiEdit(path)ルールをEdit(path)に置き換えます。Editルールはすべてのファイル編集ツールに適用されます。- Claude Code が
Globルールを警告なしで受け入れる--allowedToolsを除き、Glob(path)ルールをRead(path)に置き換えます。 - 警告の括弧内に示されたソースでルールを修正します。ソースは設定ファイルのパスか、
--allowed-toolsと--disallowed-toolsの場合はフラグそのものです。ディスク上に存在しないclaude-settings-<hash>.jsonパスは、インラインの--settings値を表します。そのフラグに渡す JSON を修正してください。 WriteやGlobなどのツール名のみのルールはそのままにします。Claude Code はこれらをツールレベルで照合し、警告を出しません。- ソースが
managed policy settingsとなっている場合は、自分では解消できないため、管理設定を管理している担当者に警告を転送してください。
--output-format json や stream-json を使用している場合、機械可読な出力をクリーンに保つため、Claude Code は警告を stderr ではなくデバッグログに書き込みます。--debug を付けて実行すると、~/.claude/debug/<session-id>.txt に記録されます。v2.1.210 より前では、Claude Code はこれらのルールを警告なしで受け入れていました。
Has a wildcard before the rest of the command
Claude Code は、設定ファイルのいずれか、管理設定、または--allowedTools や --settings フラグの値の中に、Bash(git * main) や Bash(git -C * status *) のように、どのコマンドであるかを決定する後続の単語よりも前に * がある Bash 許可ルールを見つけました。* はその位置に挿入されたオプションを含む任意のテキストに一致します。Bash(git * main) は git -c core.fsmonitor=<script> diff main も承認してしまい、この場合 -c によって git はコマンドで指定されたプログラムを実行します。照合のルールについては、ワイルドカードパターンを参照してください。
この警告は、ワイルドカードが意図よりも広い範囲に一致するルールを絞り込めるようにするためのものです。Claude Code はルールを保持し、照合の方法も一切変更しません。警告には、ルールと括弧内のソースが示されます。
- サブコマンドの前にある
*を、意図する正確な値に置き換えます。Bash(git * main)の代わりにBash(git checkout main)とします。 - すべての
*をサブコマンドの後に移動します。Bash(git -C * status *)の代わりにBash(git status *)とします。許可したいサブコマンドごとに 1 つのルールを記述してください。 - 警告の括弧内に示されたソースでルールを修正します。ソースは設定ファイルのパスか、
--allowed-toolsフラグそのものです。ディスク上に存在しないclaude-settings-<hash>.jsonパスは、インラインの--settings値を表します。そのフラグに渡す JSON を修正してください。 - ソースが
managed policy settingsとなっている場合は、自分では解消できないため、管理設定を管理している担当者に警告を転送してください。
--output-format json や stream-json を使用している場合、機械可読な出力をクリーンに保つため、Claude Code は警告を stderr ではなくデバッグログに書き込みます。--debug を付けて実行すると、~/.claude/debug/<session-id>.txt に記録されます。v2.1.246 より前では、Claude Code はこれらのルールを警告なしで受け入れていました。
Denying Bash also turns off the PowerShell tool
--disallowedTools Bash を使用した場合や、設定ファイルのいずれかでツール名のみの Bash または Bash(*) の拒否ルールを使用した場合など、Bash ツール全体を削除しました。Git Bash がインストールされた Windows では、Bash を拒否すると PowerShell ツールもオフになるため、セッションはシェルツールなしで開始されます。Claude Code は起動時に次の警告を表示します。
- Claude に PowerShell を使用させるには、PowerShell ツールを有効にするで示されているように、環境または設定ファイルの
envブロックでCLAUDE_CODE_USE_POWERSHELL_TOOLを1に設定します。これにより、Bash の拒否ルールと併用しても PowerShell ツールはオンのままになります。 - ツール全体ではなく特定のコマンドをブロックするには、同じ設定ファイルまたはフラグで、ツール名のみの
BashエントリをBash(git push *)のような範囲を限定したルールに置き換えます。Claude は Bash ツールを維持し、PowerShell ツールは、この変数も設定するか、範囲を限定したPowerShell権限ルールを追加するまでオフのままです。
--output-format json や stream-json を使用している場合、Claude Code は警告を stderr ではなくデバッグログに書き込みます。--debug を付けて実行すると、~/.claude/debug/<session-id>.txt に記録されます。v2.1.287 より前では、Claude Code は同じように PowerShell ツールをオフにしていましたが、警告は表示していませんでした。
crossSessionInbound must be one of accept, hold, refuse
設定ファイルでcrossSessionInbound が、タイプミスの "reject" など、Claude Code が認識しない値に設定されています。警告の 2 文目は、値がどのファイルにあるかによって異なります。ユーザー、プロジェクト、ローカル、または --settings のファイルの場合は次のようになります。
refuse として扱い、警告には、管理者が修正するまでセッション間メッセージが拒否されることが示されます。この保留が他の設定ファイルの値とどのように組み合わされるかについては、crossSessionInbound を参照してください。
対処方法:
- キーを
"accept"、"hold"、または"refuse"に設定するか、削除します - 警告に管理設定が示されている場合は、値の修正を管理者に依頼してください
ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name
ANTHROPIC_FOUNDRY_RESOURCE を、エンドポイント URL やそのホスト名など、Microsoft Foundry のリソース名のみ以外の値に設定しました。Claude Code はリクエストを送信する前にその値を拒否しました。このメッセージは起動時の警告としてではなく、Claude の応答の代わりに表示されます。
ANTHROPIC_FOUNDRY_RESOURCEにリソース名のみを設定し、Claude Code を再起動します。エンドポイントがhttps://my-resource.services.ai.azure.com/anthropicの場合、名前はmy-resourceです。- 代わりに完全なエンドポイント URL を指定するには、
ANTHROPIC_FOUNDRY_BASE_URLにその URL を設定してANTHROPIC_FOUNDRY_RESOURCEを削除し、Claude Code を再起動します。Claude Code は 2 つの変数のうち一方のみを受け付けます。
The 200K limit isn’t enforced
CLAUDE_CODE_DISABLE_1M_CONTEXT=1 を設定しました。この設定は通常、自動圧縮によって 1M コンテキストモデルのセッションを 200K のウィンドウに抑えますが、このセッションを 200K 以下に制限するコンテキスト圧縮のしきい値がないため、会話が 200K を超えて大きくなる可能性があります。
- モデル ID が、LLM ゲートウェイのエイリアスなど Claude Code が認識しないものであり、かつ
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1を設定したか、CLAUDE_CODE_MAX_CONTEXT_TOKENSで想定ウィンドウを 200K より大きくした場合。この場合、メッセージには対処方法としてor update to a Claude Code version that recognizes <model>も示されます。 ANTHROPIC_BETASまたは--betasフラグで要求したcontext-1mベータが、そのベータを受け付けるモデルで引き続き API に 1M ウィンドウを要求しており、かつセッションを 200K で圧縮するものが何もない場合
CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000を設定するか、autoCompactWindow設定を200000にして、自動圧縮が 200K の境界で圧縮するようにします- メッセージにこのバージョンが認識しないモデル ID が示されている場合は、
claude updateを実行します。その ID を 1M コンテキストモデルとして認識するバージョンでは、追加の設定なしで上限が強制されます。 - 代わりにセッションでモデルの完全なウィンドウを使用したい場合は、
CLAUDE_CODE_DISABLE_1M_CONTEXTの設定を解除します。この警告は 200K の上限が強制されていないことを報告するだけです
--output-format json や stream-json を使用している場合、Claude Code は警告を stderr ではなくデバッグログに書き込みます。
リクエストでの認識されないモデル ID
Claude Code は、使用中の Claude Code のバージョンが認識しないモデル ID でリクエストを送信し、その ID を認識可能なモデルにマッピングするmodelOverrides エントリも見つかりませんでした。Claude Code は設定されたとおりの ID でリクエストを送信し続け、終了したりモデルを切り替えたりはしません。
[claude-code:unrecognized_model] プレフィックスで照合してください。プレフィックスと 1 つのスペースの後に、Claude Code は 1 行の JSON オブジェクトを書き込みます。Claude Code は今後のバージョンでフィールドを追加する可能性があるため、想定していないフィールドは無視してください。少なくとも次の 2 つのフィールドが書き込まれます。
model: 設定されたとおりのモデル文字列query_source: そのモデルを使用したリクエストの経路。-pの実行ではsdk、サブエージェントではagent:で始まる値が報告されます。
-pを使用した非対話モードでは、すべての--output-formatで stderr に書き込むため、この行を除外せずに stdout を解析できます- 対話セッションまたはバックグラウンドセッションでは、代わりにデバッグログに書き込みます。
--debugを付けて実行すると、~/.claude/debug/<session-id>.txtに記録されます
us.anthropic.claude-... ID、@ バージョンサフィックス付きの Google Cloud の Agent Platform ID、Claude のモデル ID を含む Microsoft Foundry のデプロイ名など、Claude Code が認識可能なモデルに解決できるプロバイダー ID については、この行は書き込まれません。Amazon Bedrock のアプリケーション推論プロファイル ARN については、Claude Code は ARN そのものではなく、その背後にあるモデルをチェックします。入力ミスのある ARN など、解決できない ARN については行を書き込みません。
対処方法:
-
LLM ゲートウェイのエイリアスなど、意図的にその ID を設定している場合は、その ID を値とする
modelOverridesエントリを設定ファイルに追加します。キーにはopusのようなファミリーエイリアスではなく、Anthropic のモデル ID を使用してください。例の行のmy-proxy-modelの場合は、次のエントリを追加します。これにより、Claude Code はmy-proxy-modelをclaude-opus-4-6として扱い、この行の書き込みを停止します。 -
ID が使用中の Claude Code のバージョンより新しいモデルを指している場合は、
claude updateを実行します -
ID がタイプミスの場合は、モデルを設定できる場所またはエイリアス変数のうち、その ID が設定されている箇所で修正します。
query_sourceがagent:で始まる場合は、代わりにサブエージェントのモデルを設定している箇所で修正します。
Stale sandbox mask files left by a killed session
claude doctor はこの警告を診断結果に表示し、/status にも同じ行が表示されます。この警告は、Linux および WSL2 で、ファイルシステムの分離を有効にした状態でサンドボックス化が有効になっている場合に表示されます。
サンドボックス化されたコマンドの実行中、サンドボックスはまだ存在しないファイルへの書き込み拒否を保持するために、その場所に 0 バイトの読み取り専用のプレースホルダーを作成し、実行後に削除します。このクリーンアップが実行される前に SIGKILL などでセッションが強制終了されると、プレースホルダーが残ります。以降のセッションは起動のたびにそれらを再び読み取り専用でバインドするため、プレースホルダーがある場所では、「Yes, and don’t ask again」の保存などの設定の書き込みが失敗します。
- そのプロジェクトで実行中の他の Claude Code セッションを終了してから、一覧に表示された各ファイルを
rmで削除します。警告には最大 3 つのファイルが示され、残りは件数として表示されるため、警告が表示されなくなるまで削除後にclaude doctorを再実行してください。別のセッションのサンドボックスがまだ使用しているプレースホルダーは、そのセッションの書き込み保護として機能している部分です - 「Yes, and don’t ask again」で保存した権限の選択が保持されなかった場合は、プレースホルダーを削除した後に再度保存します
claude doctor はこれらのファイルを警告しませんでした。それ以前のバージョンでも、セッションが強制終了されると同じプレースホルダーが残ります。
応答の品質がいつもより低いように見える
Claude の回答がいつもより能力が低いように見えるが、エラーが表示されていない場合、原因は通常、モデル自体ではなく会話の状態です。Claude Code はモデルバージョンを静かに変更することはありません。これらのケースでフォールバックモデルに切り替わることができます。- 設定された
--fallback-modelは可用性エラーの後、そのターンのみ引き継ぎ、トランスクリプトに通知が表示されます - Amazon Bedrock または Google Cloud の Agent Platform スタートアップチェックがデフォルトモデルが利用不可であることを検出するか、アカウントが セッション中にそれへのアクセスを失う
- 自動モデルフォールバック は Fable 5.1、Fable 5、Opus 5.5、Sonnet 5.5、Opus 5 でセッションをフラグが付いたカテゴリのフォールバックモデルに移動し、そのカテゴリにフォールバックモデルがある場合、トランスクリプトに通知が表示されます
/model の変更ではなく表示されます。モデル設定 は各フォールバックが適用される時期を説明しています。
まずこれらを確認してください。
- モデル選択:
/modelを実行して、期待するモデルにいることを確認します。以前の/modelの選択またはANTHROPIC_MODEL環境変数により、意図したより小さいモデルにいる可能性があります。 - 努力レベル:
/effortを実行して現在の推論レベルを確認し、難しいデバッグまたは設計作業のためにそれを上げます。デフォルトはモデルによって異なるため、最大値以下であると仮定する前に確認してください。努力レベルを調整する でモデルごとのデフォルトとultrathinkショートカットを参照してください。 - コンテキスト圧力:
/contextを実行してウィンドウがどの程度満杯かを確認します。容量に近い場合は、自然な区切り点で/compactを実行するか、/clearを実行して新しく開始します。コンテキストウィンドウを探索する で auto-compact が以前のターンにどのように影響するかを参照してください。 - 古い指示: 大きいまたは古い
CLAUDE.mdファイルと MCP ツール定義はコンテキストを消費し、応答を操作できます。/doctorチェックアップは過度に大きいメモリファイルと未使用の拡張機能にフラグを付け、/contextは MCP ツールトークン使用量を表示します。v2.1.205 より前では、/doctorは過度に大きいメモリファイルとサブエージェント定義にフラグを付けた診断画面を開きました。
/rewind を実行して悪いターンの前に戻り、より具体的なプロンプトで言い換えます。スレッド内で修正すると、間違った試みがコンテキストに残り、後の回答をそれに固定する可能性があります。チェックポイント を参照してください。
上記を確認した後も品質がまだおかしいように見える場合は、/feedback を実行して、期待したものと得たものを説明してください。この方法で送信されたフィードバックには会話トランスクリプトが含まれており、Anthropic が実際の回帰を診断する最速の方法です。環境で /feedback が利用できない場合は、エラーを報告する を参照してください。
Claude が疑わしいプロンプトインジェクションについて警告する場合、または疑わしいインジェクションのためにリクエストを拒否する場合、警告が名前を付けるテキストがファイルまたは Web コンテンツではなく Claude Code が会話に自動的に追加するコンテキストである場合は、claude update を実行して再試行してください。更新後に警告が繰り返される場合は、フラグが付いたコンテンツをプロンプトに貼り付け直すのではなく、報告してください。v2.1.201 より前では、Sonnet 5 は同じ方法でいくつかのリクエストを拒否しました。
エラーを報告する
このページで扱っていないコンポーネントからのエラーについては、関連するガイドを参照してください。- MCP サーバーが接続または認証に失敗した場合:MCP
- Hook スクリプトが失敗したか、ツールをブロックした場合:Debug hooks
- インストール中に権限が拒否されたか、ファイルシステムエラーが発生した場合:Troubleshoot installation and login
- Claude Code 内で
/feedbackを実行して、トランスクリプトと説明を Anthropic に送信します。このコマンドは、事前入力された GitHub issue を開くオプションも提供します。Anthropic への送信には認証が必要です。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、その他のサードパーティプロバイダー、または Anthropic 認証情報が設定されていない場合、/feedbackは代わりに Anthropic アカウント担当者に送信できるローカルアーカイブを保存します。 - シェルから
claude doctorを実行して、インストールの読み取り専用診断を実行するか、Claude Code 内で/doctorチェックアップを実行してセットアップの問題を検出して修正します。 - status.claude.com でアクティブなインシデントを確認します。
- GitHub の既存の issue を検索します。