Source: https://aiprimetech.io/ja/learn/claude-api-errors-troubleshooting/ [ホーム](/ja/) / [学習](/ja/learn/) / Claude APIのエラーを解説:サーバーエラー 500、過負荷 529、レート制限 429、不正なリクエスト 400 — それぞれの解決方法 # Claude APIエラーを解説:サーバーエラー500、過負荷529、レート制限429、不正なリクエスト400 — それぞれの解決方法 Claude APIを使う開発者は、いずれエラーに遭遇します。原因が利用者側にあるもの(不正な形式のリクエスト)、Anthropic側にあるもの(サーバーの問題)、アーキテクチャに起因するもの(高負荷利用時のレート制限)があります。このガイドでは、一般的なClaude APIの各エラーコードについて、実際の原因、具体的な解決方法、本番環境で使える再試行ロジックを紹介します。また、複数の上流アカウントを持つゲートウェイ経由でルーティングすることで、レート制限や過負荷エラーの発生頻度をどのように減らせるかも説明します。 ## 再試行する前にアクセス権とモデルを確認する プランまたは残高によるアクセスが有効であることを確認し、キーグループを調べ、そのキーに対して返されたモデルを使用してください。モデル一覧のレスポンスが正常に返ることは、初期確認にすぎません。大規模なエージェント実行の前に、小さな生成リクエストが成功することを確認しましょう。 使用するモデルは、 [モデルとキーグループ](/ja/docs/getting-started/models/) と [エージェント設定チェックリスト](/ja/agents/) を参照して、アクセスの問題をツール設定や上流サービスのエラーと切り分けてください。 ## 「Claudeのサーバーエラー」:実際にはどのエラーですか? 「Claudeのサーバーエラー」は、APIが応答しなくなったときに人々が検索する言葉ですが、対処方法を決めるのはメッセージ内の番号です。**500**はAPI内部の障害を意味します。待機する、再試行する、またはモデルを切り替えてください。**529**はモデルがすべての利用者に対して飽和状態になっていることを意味します。対処方法は同じで、時間がたてば解消します。**429**は利用制限に達したことを意味します。処理速度を落とすか、並列リクエストを減らしてください。 **400**はリクエスト自体が拒否されたことを意味します。同じ内容で再試行しても再び失敗します。以下で該当するコードを探してください。各セクションには、正確なメッセージ、原因、解決方法が記載されています。自分のコードではなくClaude Code内でエラーが発生している場合は、/claude-code/errors/にあるClaude Codeのエラーガイドで、CLI固有のメッセージ(OAuthのタイムアウト、「プロセスがコード 1 で終了しました」、ツール使用の同時実行)を確認できます。 ## エラー 400 — 不正なリクエスト 400エラーは、リクエストの構造が無効であることを意味します。Claude APIは、応答の生成を試みる前にリクエストを拒否しました。エラー本文には問題を説明するメッセージが含まれているため、必ず注意深く読んでください。よくある原因には、messages配列が空または不正な形式である、contentフィールドが文字列ではなくnullになっている、max_tokensがモデルの上限を超えている、モデル識別子が存在しない、システムプロンプトの形式が正しくない、ツール定義のスキーマにエラーがある、といったものがあります。 Claude Codeの利用者に最もよく発生する400エラーは、コンテキスト長の超過です。会話履歴がモデルのコンテキストウィンドウ(多くのClaudeモデルでは200Kトークン)を超えると、APIは入力が長すぎる旨のメッセージとともに400を返します。解決するには、/compactで履歴を要約する、コンテキストから大きなファイルの内容を削除する、または新しいセッションを開始してください。これはレート制限ではなく、リクエストサイズに対する厳格な制約です。 よくある別の400の原因は、サポートされていないパラメーターやモデルバージョンの送信です。最近SDKをアップグレードしたり、モデル識別子を変更したりした場合は、リクエストのすべてのフィールドが現在のAPI仕様に一致しているかを再確認してください。モデルIDは大文字と小文字を区別し、バージョンごとに異なります。'claude-opus-4-6'は有効ですが、'Claude-Opus-4.6'は無効です。判断に迷う場合は、/v1/modelsエンドポイントに問い合わせ、プロバイダーが受け付ける識別子を正確に確認してください。 ## エラー 400 — 「指定されたモデルには入力が長すぎます」 この特定の400エラーは、リクエスト(システムプロンプト+メッセージ+ツール定義)がモデルのコンテキストウィンドウを超えていることを意味します。これはレート制限ではなく、再試行しても解決しません。入力を減らすか、より大きなコンテキストを扱えるモデルに移行するまで、同じペイロードは毎回失敗します。 実用的な対処方法を、必要な手間が少ない順に紹介します。まず、再送信する会話履歴を削減してください。多くのチャットアプリに必要なのは、全文の記録ではなく、直近の数回のやり取りと随時更新する要約だけです。次に、送信前にトークン数を数え(トークン計数エンドポイントは無料です)、コード内で入力予算の厳格な上限を設けてください。最後に、リポジトリ全体や書籍ほどの長さの文書など、完全なコンテキストが本当に必要な場合は、Fable 5のような1Mのコンテキストに対応するモデルに切り替えてください。同じリクエストでも余裕を持って収まります。 エージェント型ツールでよくある落とし穴として、長時間のセッションではツールの結果やファイルの内容が蓄積し、さらにやり取りを続けた時点でリクエストが上限を超えることがあります。Claude Codeや同様のエージェントでセッションの途中にこのエラーが発生した場合は、プロンプトを短くするのではなく、セッションのコンテキストを圧縮するかクリアしてください。 ## エラー 429 — 「レート制限に達しました」/「レートを超過しました」 同じ状態が異なる表現で表示されます。APIはHTTP 429を、次の内容とともに返します rate_limit_error。claude.aiとClaude Codeでは、これが「レートを超過しました」または「レート制限に達しました」と表示されます。どちらの文言が表示されても、原因は同じです。現在の期間におけるアカウントの利用枠を使い切っており、リセットされるまでリクエストが拒否されます。 429は、許可されたリクエストレートを超えたことを意味します。レスポンスにはRetry-Afterヘッダーが含まれ、再試行まで何秒待つべきかが示されます。Anthropicのレート制限には、毎分のリクエスト数(RPM)、毎分のトークン数(TPM)、日ごとのトークン数(TPD)という複数の指標があります。いずれかの上限に達すると429が発生します。通常、エラーメッセージにはどの上限に達したかが示されます。 Claude Codeの利用者にとって、レート制限はワークフローを中断するため、最もストレスの大きいエラーです。開発者が単独でClaude Codeとサブエージェントを実行していても、並列処理中にRPMの上限に達したり、大きなファイルをコンテキストに含むセッション中にTPMの上限に達したりすることは容易に起こります。上限はアカウントのティアによって異なります。下位ティアでは制限が厳しく、エージェントを多用すると日常的に上限を超えます。 429への適切な対応は、ジッターを加えた指数バックオフです。Retry-Afterで指定された時間だけ待機してから、ランダムな遅延を追加します。これにより、複数のクライアントが同時に上限に達した場合のリクエスト集中を防げます。AI Prime Tech Unlimitedのようなゲートウェイは、複数の上流アカウントにリクエストを振り分けることで、利用可能なレート制限枠を実質的に増やし、429エラーの削減に役立ちます。ある上流アカウントがレート制限を受けると、ゲートウェイは別のアカウントに振り分けます。 ## エラー500 — 内部サーバーエラー 500エラーは、サーバー側で何らかの問題が発生したことを意味します。ユーザーに原因があるわけではなく、リクエストを変更しても解決できません。これは一時的なエラーであり、500で失敗したリクエストも、少し待ってから再試行すれば成功する可能性が高いです。Anthropicのインフラは、デプロイ、処理容量の変更、内部サービスの障害などの際に、500エラーを返すことがあります。 500エラーへの適切な対処は、バックオフを伴う単純な再試行です。1-2秒待ってから、まったく同じリクエストを再試行します。再び失敗した場合は4秒、次に8秒と待機時間を延ばし、最大で約60秒まで増やします。ほとんどの500エラーは、最初の再試行で解消します。500エラーが数分以上続く場合は、Anthropicのステータスページまたはゲートウェイのステータスエンドポイントで、既知の障害を確認してください。 500が発生しても、リクエストを変更しないでください。問題はサーバー側にあります。プロンプトの変更、コンテキストの削減、モデルの切り替えは役に立たず、自分に原因のない問題のデバッグに開発時間を費やすことになります。必要な対応は、再試行すること、再試行が失敗したら待機時間を延ばすこと、妥当な時間を超えて問題が続く場合(5-10分間連続して失敗する場合)にアラートを出すことだけです。 ## エラー529 — 「Claudeサーバーが過負荷状態です」(overloaded_error) 529ステータスコードはAnthropic固有のもので、APIへの需要が高まっていること、つまりリクエストしたモデルが一時的に処理容量の上限に達していることを意味します。429(YOURのレート制限を超過したことを意味します)とは異なり、529は、個別の利用上限に関係なくSYSTEMが過負荷状態にあることを意味します。ユーザーが何か間違ったわけではありません。その時点で、利用可能な計算リソースを需要が上回っているだけです。 529エラーは、ピーク時間帯(米国の営業時間)、新しいモデルのリリース直後(全員が同時に新モデルを試すとき)、話題が急速に広まり全顧客の利用量が急増するときに特に多く発生します。SonnetやHaikuではOpusよりも発生頻度が低くなります。Opusはリクエストあたりに必要な計算リソースが多く、処理容量の制約も厳しいためです。 529エラーには、500エラーよりも長いバックオフで対処してください。まず5-10秒待ち、待機時間を指数関数的に増やします。本番システムを構築する場合は、モデルのフォールバックを検討してください。Opusが529を返したら、そのリクエストをSonnetにフォールバックします。複数の上流アカウントを持つゲートウェイも役立ちます。過負荷の影響はアカウントの優先度階層によって異なる場合があり、需要のピーク時でもゲートウェイが選べる振り分け先が増えるためです。 ## 「正常な上流接続先がありません」— Claudeのエラーではなく、インフラのエラー 「No healthy upstream」は、Claude API自体が返すメッセージではありません。ロードバランサーやイングレスプロキシ(通常はEnvoy)が、その背後にあるすべてのバックエンドインスタンスを利用できない場合に出力するメッセージです。障害時にはclaude.aiで表示されるほか、上流接続のプールが枯渇している、またはヘルスチェックに失敗しているプロキシやゲートウェイからも返されます。 コードで修正すべきことはありません。一時的な問題として扱い、status.anthropic.comを確認し、待機してから、529の場合と同じように指数バックオフで再試行してください。公式エンドポイントで数分以上続く場合はサービス障害です。サードパーティのゲートウェイから返される場合は、そのゲートウェイが上流の処理容量をすべて失っています。 これは、複数アカウントを持つゲートウェイが吸収するように設計されている障害のひとつです。ある上流アカウントがスロットリングを受けたり、正常に動作していなかったりする場合、エラーをユーザーに返す代わりに、リクエストを別のアカウントへ振り分けます。 ## 本番運用に対応した再試行ロジック 適切な再試行ロジックは、すべての一時的なエラー(429、500、529)を、指数バックオフとジッターで一律に処理し、恒久的なエラー(400、401、403)は再試行不可として扱います。処理の流れは、リクエストを実行し、ステータスコードを確認し、再試行可能ならバックオフで待機して最大N回まで再試行し、再試行不可なら直ちに例外を送出する、というものです。ほとんどのアプリケーションでは、最大再試行回数を3-5に設定するのが適切です。 ジッターは、再試行のタイミングが揃うのを防ぎます。複数のクライアントが同時にレート制限に達し、すべてがちょうど2秒後に再試行すると、再び同時に失敗してしまいます。ランダムなジッターを加える(遅延時間に0.5から1.5の範囲のランダムな係数を掛ける)ことで、再試行のタイミングを分散させ、成功率を大幅に高められます。本番環境で使用するすべてのClaude APIクライアントには、ジッターを組み込むべきです。 Claude Codeやエージェント型ワークフローでは、HTTPクライアントのレベルで再試行を実装すると、個々のツール呼び出しやサブエージェントのリクエストにも自動的に適用されます。Anthropic SDKには基本的な再試行ロジックがすでに含まれていますが、ユースケースに応じてタイムアウトや最大再試行回数を調整するとよいでしょう。AI Prime Tech Unlimitedを使用する場合、ゲートウェイが上流への再試行とルーティングを内部で処理するため、そもそもクライアントに返されるエラーが減ります。 ## ゲートウェイがこれらのエラーを減らす仕組み AI Prime Tech Unlimitedのような適切に設計されたゲートウェイは、さまざまな方法でエラーの発生頻度を減らします。レート制限(429)については、複数の上流APIアカウントにリクエストを分散するため、実効的なレート制限は、単一アカウントの割り当てではなく、すべての上流アカウントの合計になります。過負荷エラー(529)については、優先度やキュー内の位置が異なる可能性のある別の上流アカウントで再試行できます。 サーバーエラー(500)については、ゲートウェイがクライアントにエラーを返す前に透過的に再試行できます。そのため、エラーの代わりに、応答が少し遅くなるだけで済みます。400エラーについては、リクエスト自体が無効なためゲートウェイでは解決できませんが、優れたゲートウェイは、Anthropicの生のエラーレスポンスよりもわかりやすいエラーメッセージを提供し、デバッグを迅速に進められるようにします。 結果として、開発者にとっては、アプリケーションに届くエラーが減り、クライアント側で必要な再試行ロジックが少なくなり、ピーク時間帯のパフォーマンスがより安定します。これは、タスクの途中でエラーが発生すると作業の流れが途切れるClaude Codeのセッションや、エラー率がユーザー体験に直接影響する本番アプリケーションで特に有益です。無制限プランは定額制のため、これらの再試行や再ルーティングに追加料金はかかりません。 コピー ``` import anthropic import time import random client = anthropic.Anthropic( api_key="YOUR_KEY", base_url="https://aiprimetech.io", ) def call_with_retry(messages, model="claude-sonnet-4-5", max_retries=4): for attempt in range(max_retries + 1): try: return client.messages.create( model=model, max_tokens=4096, messages=messages, ) except anthropic.RateLimitError as e: if attempt == max_retries: raise wait = (2 ** attempt) * random.uniform(0.5, 1.5) print(f"Rate limited, waiting {wait:.1f}s...") time.sleep(wait) except anthropic.InternalServerError as e: if attempt == max_retries: raise wait = (2 ** attempt) * random.uniform(0.5, 1.5) time.sleep(wait) except anthropic.BadRequestError: raise # Don't retry 400s # Usage: resp = call_with_retry([{"role": "user", "content": "Hello"}]) ``` ## よくある質問 「claude api error rate limit reached」とはどういう意味ですか? 許可されている毎分のリクエスト数、毎分のトークン数、または日次のトークン数を超過したことを意味します。APIはRetry-Afterヘッダー付きでHTTP 429を返します。指定された時間だけ待ってから再試行してください。複数の上流アカウントを持つゲートウェイは、合算されたより大きなレート制限枠にリクエストを分散することで、こうしたエラーを減らせます。 Claudeの「rate exceeded」とはどういう意味ですか? これは429のレート制限を一般ユーザー向けに表現したもので、現在の時間枠におけるリクエスト数またはトークン数の割り当てをアカウントが使い切ったことを意味します。APIでは、同じ状態になるとRetry-Afterヘッダー付きでHTTP 429が返されます。指定された時間だけ待ち、バックオフを伴って再試行してください。継続的に大量の利用が必要な場合は、容量の大きいプランやゲートウェイが解決策になります。 Claudeが「サーバーが過負荷状態です」と表示するのはなぜですか? これはHTTP 529、overloaded_errorです。リクエストしたモデルが、あなたに限らずすべての利用者に対して処理容量の上限に達しています。リクエストに問題はありません。指数バックオフとジッターを使って再試行するか、処理容量が回復するまで別のモデルや上流接続先に呼び出しを振り分けてください。 Claudeの「no healthy upstream」とはどういう意味ですか? これはAPIではなく、サービスの手前にあるロードバランサーが返すメッセージで、現在利用可能なバックエンドインスタンスがないことを意味します。一時的な問題なので、ステータスページを確認し、バックオフで再試行してください。コードを変更する必要はありません。ゲートウェイから返される場合は、上流プール全体が停止しているか、スロットリングを受けていることを意味します。 Claude APIのエラー400はどうすれば解決できますか? エラーメッセージの本文を確認してください。何が問題なのかが具体的に示されています。よくある原因は、コンテキストが長すぎる(/compactを使用)、モデルIDが無効(/v1/modelsを確認)、messages配列の形式が不正、またはパラメータがサポートされていないことです。400エラーは一時的なものではないため、リクエストを修正せずに再試行すべきではありません。 エラー529 overloaded_errorとは何ですか? 529は、リクエストしたモデルについてAnthropicのインフラが処理容量の上限に達していることを意味します。これはシステム全体の過負荷であり、個別のレート制限ではありません。5-10秒待ち、指数バックオフで再試行してください。ピーク時間帯には、負荷の低いモデルへのフォールバック(Opusの代わりにSonnet)を検討してください。 無制限プランならレート制限エラーはなくなりますか? ゲートウェイが複数の上流アカウントにリクエストを振り分け、利用可能なレート制限枠を増やすため、大幅に減らせます。ただし、ゲートウェイ側でも公平な利用のためのレート制限は適用されます。特に Claude Code を集中的に使う場合、Anthropic の単一アカウントに直接接続する場合よりも、429 エラーははるかに少なくなります。 エラー 500 が発生したら再試行すべきですか? はい。500 エラーはサーバー側の一時的な問題です。指数バックオフを使い、1-2 秒後にまったく同じリクエストを再試行してください。リクエストは変更しないでください。このエラーは入力が原因ではありません。500 エラーが 5 分以上続く場合は、プロバイダーのステータスページを確認してください。 「Claude API エラー 400:入力がリクエストしたモデルには長すぎます」を修正するにはどうすればよいですか? 送信するトークンを減らしてください。再送する会話履歴を削減する、各リクエストの前にトークン数を数えて入力に上限を設ける、または入力全体が本当に必要なら Fable 5 などのコンテキスト長 1M のモデルに切り替える方法があります。同じペイロードを再試行しても解決しません。リクエストを小さくするか、コンテキストウィンドウを大きくする必要があります。 数分でClaudeの利用を開始 APIキーを取得 — Anthropicアカウントもウェイトリストへの登録も不要です。[APIキーを取得](/register) AI Prime Techは独立したAPIゲートウェイです。Anthropicとの提携関係はなく、同社の承認を受けておらず、同社の再販業者でもありません。Claudeおよび関連するモデル名は、それぞれの所有者の商標です。 ## Claude APIのその他のガイド [Claude API キーの取得方法](/ja/learn/how-to-get-a-claude-api-key/)[Claude API の料金を解説](/ja/learn/claude-api-pricing-explained/)[Claude APIを最も安く利用する方法](/ja/learn/cheapest-way-to-use-claude-api/)[Claude APIでCursorを無制限に利用](/learn/use-claude-api-with-cursor/)[Claude Codeへの無制限アクセス](/ja/learn/use-claude-api-with-claude-code/)[Claude APIゲートウェイとAnthropicへの直接接続の比較](/ja/learn/claude-api-vs-anthropic-direct/)[OpenAI SDK で Claude を使う:OpenAI 互換エンドポイント、ストリーミング、ツール、制限](/ja/learn/openai-compatible-claude-api/)[Claude モデルを解説:Claude Opus、Sonnet、Haiku、Fable のモデル比較 — すべての Claude API モデル、Anthropic のモデル名と料金(2026)](/ja/learn/claude-api-models-compared/)[暗号資産でClaude APIの料金を支払う](/ja/learn/claude-api-with-crypto-payment/)[ウェイティングリストなしでClaude APIを利用](/ja/learn/claude-api-without-waitlist/)[Claudeのトークン使用量を削減する方法](/ja/learn/how-to-reduce-claude-token-usage/)[Claude APIでClineを無制限に利用](/ja/learn/use-claude-api-with-cline/)[Claude APIでRoo Codeを無制限に利用](/ja/learn/use-claude-api-with-roo-code/)[JetBrains IDEでClaudeを無制限に利用](/ja/learn/use-claude-api-with-jetbrains/)[ゲートウェイ経由でAiderとClaudeを使う:ANTHROPIC_API_BASE、設定ファイル、アーキテクトモード、問題の解決方法](/ja/learn/use-claude-api-with-aider/)[VS CodeでClaudeを無制限に利用](/ja/learn/use-claude-api-with-vscode/)[Claude向けのOpenCode設定:opencode.jsonの設定、モデル、よくあるエラー](/ja/learn/use-claude-api-with-opencode/)[ゲートウェイ経由でHermes AgentとClaudeを使う:カスタムプロバイダーの設定、コスト管理、問題の解決方法](/ja/learn/run-hermes-agent-with-claude-api/)[ClaudeでOpenClawを無制限に実行](/ja/learn/run-openclaw-with-claude-api/)[Anthropic互換APIとは](/ja/learn/anthropic-compatible-api/)[Claude CodeのAPIキー — ANTHROPIC_API_KEY:取得方法、設定方法、代わりにclaude setup-tokenを使うべき場合](/ja/learn/claude-code-api-key-setup/)[Claude Code APIのコスト — 料金と削減方法](/ja/learn/claude-code-api-costs/)[Claude APIクレジットの購入方法](/ja/learn/buy-claude-api-credits/)[Claudeの無料API:無料のClaude APIキーはあるのか、2026に実際に無料で使えるものは?](/ja/learn/claude-api-free-trial/)[Claude APIとClaude Pro/Maxサブスクリプション — どちらを選ぶべきか](/ja/learn/claude-api-vs-subscription/)[カスタムプロバイダーでCodex CLIを使う:config.toml、GPTとClaudeのモデル、IDE拡張機能、問題の解決方法](/ja/learn/use-claude-api-with-codex/)[Claudeをn8nに接続する](/ja/learn/use-claude-api-with-n8n/)[LiteLLMからClaudeへのルーティング](/ja/learn/use-claude-api-with-litellm/)[Kilo CodeでClaudeを使う](/ja/learn/use-claude-api-with-kilo-code/)[ゲートウェイ経由でGitHub Copilot ChatとClaudeを使う:Custom Endpointの設定、エージェントモード、問題の解決方法](/ja/learn/use-claude-api-with-github-copilot/)[ゲートウェイ経由でZedをClaudeに接続する](/ja/learn/use-claude-api-with-zed/)[Cherry StudioをClaudeに接続](/ja/learn/use-claude-api-with-cherry-studio/)[LangChainのChatAnthropic:インポート、base_url、ストリーミング、ツール、エラー](/ja/learn/use-claude-api-with-langchain/)[Anthropic Python SDK:インストール、base_urlの設定、ストリーミング、エラー処理](/ja/learn/anthropic-python-sdk/)[Vercel AI SDKでClaudeを使用:createAnthropicのbaseURL、ストリーミング、問題の修正](/ja/learn/use-claude-api-with-vercel-ai-sdk/)[ClaudeでFactory Droidを実行](/ja/learn/use-claude-api-with-factory-droid/)[Claude Code APIの仕組みを解説](/ja/learn/claude-code-api/)[アプリケーションへのClaude APIの統合](/ja/learn/claude-api-integration/)[Claudeを無制限に利用する方法](/ja/learn/get-unlimited-claude-usage/)[Claude APIへの無制限アクセスとは](/ja/learn/unlimited-claude-api-access/)