カテゴリー / 利用制限・トークン

Claude Codeのレート制限|429と529の違い・対処、リトライ設定

この記事の目次

Claude Codeのレート制限は、よく見る表示を4種類に分けると対処を選びやすくなります。Request rejected (429) はAPIキーやクラウドのプロジェクトに設定されたレート制限で、認証情報と並列度を見直します。Repeated 529 Overloaded errors はAPI側の一時的な容量不足で、使用量には数えられず、待つか /model で別モデルに切り替えます。Server is temporarily limiting requests はプランと無関係な短時間の制限で、少し待って再実行し、続く場合はステータスを確認します。You've hit your session limit などはサブスクリプションの契約上の上限で、表示されたリセット時刻まで待つのが基本です。529と一時的な制限(v2.1.199以降)は、表示の前に自動リトライが済んでいます。

Claude Codeのレート制限は、エラー文でどう見分ける?

まずClaude Codeの画面に出た文言を、次の表に当てはめます。文言は公式のエラーリファレンスにある表記です。

表示される文言 何が起きているか 使用量との関係 最初にやること
API Error: Request rejected (429) APIキー、Amazon Bedrock、Google Cloudのプロジェクトに設定されたレート制限に到達 使っている課金経路の制限 /status で認証情報を確認し、並列度を下げる
API Error: Repeated 529 Overloaded errors API全体の一時的な容量不足 使用量に数えられない 数分待つ、/model で別モデルへ
API Error: Server is temporarily limiting requests (not your usage limit) プランとは無関係な短時間のサーバー側制限 プラン上限ではない 少し待って再実行
You've hit your session limit / weekly limit / Opus limit / Sonnet limit サブスクリプションの利用枠を使い切った プランの枠そのもの リセット時刻まで待つ

公式によると、Claude Codeは一時的な制限とプラン上限を、応答に統一クォータヘッダーが付いているかどうかで区別しています。利用者の側では、文言の末尾に (not your usage limit) と付いているかを見れば判断できます。

プラン上限(4行目)は、この記事では深追いしません。5時間の枠はセッション制限、週の枠は週間制限、全体像は使用制限の仕組みで扱っています。ここから先は、429・529・一時的な制限という、APIのレート制限側を中心に進めます。

Request rejected (429) が出たら何を確認する?

429は、公式の説明では「APIキー、Amazon Bedrockのプロジェクト、Google Cloudのプロジェクトに設定されたレート制限に達した」状態です。実際の表示は次のとおりです。

API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.

末尾の確認先は経路で変わります。Bedrock、Google CloudのAgent Platform、Microsoft Foundryでは各プロバイダのステータスページが、ANTHROPIC_BASE_URL でゲートウェイを通している場合はそのホスト名が入ります。途中のプロキシやロードバランサーが独自のHTMLで429を返し、そのページにタイトルがある場合は、· の後ろに Too Many Requests のようなタイトルが出ます。この形なら制限をかけているのは手前の中継機器なので、ネットワークの管理者に確認します。

レート制限の切り分けは次の順番で進めます。

  1. 認証情報を確かめる。 /status を実行し、有効になっている認証情報が想定どおりかを見ます。公式は、環境に紛れ込んだ ANTHROPIC_API_KEY によって、サブスクリプションではなく低いティアのキー経由でリクエストが送られる場合があると注意しています。ProやMaxに加入しているのに429が出るなら、まずここを疑います。キーの置き場所と外し方はAPIキーの管理にまとめています。
  2. プロバイダ側の上限を見る。 使っているコンソールで現在の上限を確認し、足りなければ上位ティアを申請します。
  3. 並列度を下げる。 公式が挙げている方法は3つです。CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY を下げる、並列実行のサブエージェントを多数走らせない、大量のスクリプト実行では /model で小さいモデルに切り替える。

CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY は、読み取り専用ツールとサブエージェントを同時に動かせる上限で、既定値は10です。1回の指示で多くのファイル調査やサブエージェントが並ぶ使い方では、短時間にリクエスト集中が特に起きやすくなります。サブエージェントの設計そのものはサブエージェントの使い方を参照してください。

529 Overloaded は自分の使いすぎが原因?

使いすぎではありません。公式は529を、サービス側の負荷による全ユーザー共通の一時的な容量不足と説明しており、使用上限には当たらず、クォータも消費しないと明記しています。

このメッセージは API Error: Repeated 529 Overloaded errors. で始まり、末尾にstatus.claude.comなどの確認先が付きます。表示された時点で、Claude Codeはすでに何度かリトライしています。対処は、status.claude.com(またはメッセージに書かれたプロバイダのステータスページ)で障害情報を見ること、数分の待機後に再実行することです。容量はモデルごとに管理されているため、/model で別のモデルに切り替えれば作業を続けられます。特定モデルの負荷が高いときは、Claude Code側から Opus is experiencing high load, please use /model to switch to Sonnet のように切り替えを促す表示が出ます。

一時的な制限とプラン上限は、待ち方がどう違う?

Server is temporarily limiting requests (not your usage limit) は、プランの枠とは関係のない短時間の制限です。v2.1.199以降は、認証方法にかかわらず、表示される前にバックオフ付きで自動リトライされます。それでも出たら少し待って再実行し、続くようならstatus.claude.comを確認します。

プラン上限の場合、Claude Codeはメッセージに表示されたリセット時刻までリクエストを止めます。押さえておきたい点は2つです。

  • モデルを替えて戻るかどうかは種類で決まる。 sessionとweeklyの枠は全モデル共通なので、モデルを替えても戻りません。Opus limit と Sonnet limit はそのモデル系統だけにかかるため、/model で系統外のモデルに替えれば続けられます。
  • 残量は /usage で確認する。 使用量の取得そのものがレート制限で失敗したときは、そのマシンで直近60分以内に読み込んだ値が Showing last-known usage の注記付きで表示され、r キーで再取得できます。

上限の手前では You've used 85% of your session limit · resets 3:45pm のような警告も出ます。残量を常に見ておきたいなら、ステータスラインに rate_limits を表示させる方法があります。5時間枠と7日枠の使用率(0〜100)と、枠がリセットされる時刻(Unixエポック秒)を受け取れますが、値が入るのはPro・Maxの加入者(または支出上限を設定したClaude appsゲートウェイ経由)に限られ、セッションで最初のAPI応答を受け取った後からです。公式はフィールドが無い場合に備えて、次の書き方を示しています。

jq -r '.rate_limits.five_hour.used_percentage // empty'

ステータスラインの組み立て方はステータスラインの設定で説明しています。

自動リトライの回数と待ち時間は変えられる?

変えられます。Claude Codeは、一時的な失敗を指数バックオフで最大10回リトライしてからエラーを表示します。一時的な429もこの対象ですが、ゲートウェイの支出上限による429はスロットルではないため、リトライされません。リトライ中はスピナーに Retrying in Ns · attempt x/y のカウントダウンが出て、原因がレート制限なら1回目から理由が表示されます。

調整に使う環境変数は次のとおりです。

環境変数 既定値 役割
CLAUDE_CODE_MAX_RETRIES 10 リトライ回数。v2.1.186以降は上限15だが、v2.1.199以降は CLAUDE_CODE_RETRY_WATCHDOG を有効にすると既定回数が増え、上限も外れる。スクリプトで失敗を早く知りたいときは下げる
CLAUDE_CODE_RETRY_WATCHDOG 未設定 1 にすると、429と529の容量エラーを回数で打ち切らず無期限にリトライする
CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS 未設定 WATCHDOG有効時に、1リクエストが429・529を待つ時間の上限(ミリ秒)。設定しなければ待ち時間は無制限。v2.1.295以降
CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS 500 529のリトライ間隔の初期値(ミリ秒)。最大32000まで上げられる

公式が明示している調整の例は、スクリプトで素早く失敗を検知したいときに CLAUDE_CODE_MAX_RETRIES を下げることです。

CIやGitHub Actionsでレート制限に当たったら?

公式は、CIジョブのような無人のセッションでは CLAUDE_CODE_RETRY_WATCHDOG を 1 にする使い方を示しています。429や529で途中終了せず、回復するまで待ち続けるようになります。ただし、通常速度のリクエストに支出上限や利用クレジットの枯渇を示す429が返った場合は、待っても解消しないため即座に失敗します。

設定する前に、次の2点を把握しておきます。

  • v2.1.199以降のWATCHDOGは、サーバーエラー・タイムアウト・接続断といった他の一時的エラーの既定リトライ回数も300に引き上げます。公式の表現で約3時間分のバックオフです。ジョブ側に実行時間の上限があるなら、その範囲に収まるかを確認します。
  • 待ちすぎを防ぎたい場合は、CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS で1リクエストあたりの待ち時間に上限を付けます。

ワークフローの組み方はGitHub Actions連携にまとめています。

チームで使うとき、TPMとRPMはどれだけ確保する?

API経由でチームに導入する場合について、公式はチーム規模ごとに1人あたりの推奨値を示しています。

チーム規模 1人あたりTPM 1人あたりRPM
1〜5人 200k〜300k 5〜7
5〜20人 100k〜150k 2.5〜3.5
20〜50人 50k〜75k 1.25〜1.75
50〜100人 25k〜35k 0.62〜0.87
100〜500人 15k〜20k 0.37〜0.47
500人以上 10k〜15k 0.25〜0.35

Claude Codeの公式の例では、200人なら1人20k TPMとして、合計400万TPMを申請します。規模が大きいほど1人あたりの値が下がるのは、大きな組織ほど同時に使う人が少なくなるためです。このレート制限は個人単位ではなく組織単位でかかるので、他の人が使っていない時間帯は、1人が配分以上を使えます。逆に、大人数での研修のように全員が同時に使う場面では、1人あたりのTPMを多めに見積もる必要があると公式は注意しています。

Claude Code用のワークスペースを分けている場合、その通信は組織全体のAPIレート制限に数えられます。Claude ConsoleのLimitsページでワークスペース単位の上限を設定すれば、Claude Codeが使える量に上限を付け、本番で動いている他のワークロードを守れます。

Fast modeやサブエージェントは、制限に当たるとどうなる?

Fast modeには、通常のOpusとは別のレート制限があります。そのレート制限に達すると自動で通常速度に切り替わり、↯ アイコンがグレーになり、クールダウンが終われば再び有効になります。待たずに自分で切りたいときは、もう一度 /fast を実行します。

サブエージェントのAPIリクエストが、使用上限への到達やサーバーエラーのリトライ切れで最終的に失敗すると、そのサブエージェントは作業の途中で止まります。この場合は、エラー詳細を公式エラーリファレンスの該当項目で確認し、原因が解消してから、タスクの再実行かサブエージェントの再開を指示します。

公式で変わりうる点と、今回書かなかったこと

この記事のエラー文、既定値、バージョン条件は、2026年10月18日時点のClaude Code公式ドキュメント(エラーリファレンス、コスト管理、環境変数、Fast mode、ステータスライン)に基づいています。文言や既定値は版ごとに変わってきた経緯があるため、手元の挙動が違う場合はエラーリファレンスの該当項目を見直してください。

Anthropic APIのティアごとの具体的なRPM・TPMの数値と、プランごとの料金・枠の大きさは扱っていません。前者はClaude Consoleのレート制限のドキュメント、後者は料金プランの比較で確認してください。429以外のエラー全般の切り分けはエラーの原因と対処にまとめています。

エラーの読み方やエージェントの並列運用を手を動かしながら学びたい方向けに、月額1,980円から参加できる学習コミュニティ「AI駆動ラボ」(lab.no-wave.jp)も運営しています。