Claude Codeの429エラー(Rate Limit)、使用量制限との違いを公式ドキュメントで切り分けた

Claude Codeの429エラー(Rate Limit)、使用量制限との違いを公式ドキュメントで切り分けた

Claude Codeで429エラーが出ても、それはプランの月内制限とは別物。使用量制限・APIレート制限・529オーバーロードの違いを公式ドキュメントで整理し、原因別の対処法とヘッダー活用法をまとめた。

エンジニアのゆとです。

納品前日、案件の仕上げでサブエージェントを何個か並列で走らせてテスト直しをやらせてたら、急にAPI Error: Request rejected (429)って出て止まった。てっきり「またセッション上限か」と思って/usageを叩いたら、そっちは全然余裕がある。じゃあこの429は何なんだ、と公式ドキュメントを漁る羽目になった。

結論から言うと、429は「プランの使用量が尽きた」わけじゃない。プロバイダ側(APIキー、Bedrock、Vertex)に設定されてるレート制限に、瞬間的に触れただけのエラーだ。この記事で以前扱った「使用量制限」とは仕組みがまったく別物で、混同すると変な対処に走ることになる。

Claude Code 制限にすぐ引っかかる原因、公式ドキュメントで全部読み解いた
Claude Code 制限にすぐ引っかかる原因、公式ドキュメントで全部読み解いたClaude Codeの使用制限は5時間のローリングウィンドウと週次上限の二重構造。なぜすぐ制限に達するのか、フリーランスが実務で困る4パターンと対処法を公式ドキュメントベースで整理した。読む →

公式のエラーリファレンスとレート制限ページを読み込んで、429の正体・自分のケースがどのパターンか切り分ける方法・原因別の対処法をまとめた。

429は「制限」の一種でしかない。まず3つを区別する

Claude Codeを使ってて処理が止まる原因は、実は3種類ある。エラーメッセージがどれも似た空気を出すので混同しやすいが、原因も対処法も別物だ。

種類正体出るメッセージの例対処の方向性
セッション/週次の使用量制限プラン(Pro/Max/Team)の会話予算切れYou've hit your session limit You've hit your weekly limitリセット時刻まで待つか、プランを見直す
429 レート制限APIキー・Bedrockプロジェクト・GCPプロジェクトに設定された「1分あたり」の上限超過API Error: Request rejected (429) · this may be a temporary capacity issue.秒〜分単位で自然に解消。頻発するなら並列数やティアを見直す
529 オーバーロードAnthropic側の全体的な高負荷。自分のアカウントの問題ではないOverloaded待つ以外に手がない。ステータスページを確認

このうち429だけが「自分の設定・使い方次第で頻度を減らせる」対象になる。529は運要素が強く、以前ここで書いた通り待つしかない。

Claude Codeが2時間47分止まった日。フリーランスが障害に備えてやるべきこと
Claude Codeが2時間47分止まった日。フリーランスが障害に備えてやるべきこと2026年7月29日19:49〜22:36 UTC(日本時間30日朝)、Claude全体で529エラーが多発する障害が発生。年初から155件の障害が報告される中、Claude Code依存で仕事してるフリーランスがステータス監視・こまめなコミット・セッション設計で備える具体策を整理する。読む →

公式のエラーリファレンスでも、429はrate_limit_errorというタイプ名で明確に区別されていて、「アカウントがレート制限に触れた」とだけ説明されている。プランの月内予算とは管理してる場所そのものが違う。

まず/statusで「どの認証経路を使ってるか」を確認する

429が出たら最初にやるべきは、原因の推測より先に、自分がどの認証経路でリクエストを送ってるかの確認だ。

/status

これでアクティブな認証情報が表示される。ここで一番ハマりやすいのが、サブスク(claude.aiログイン)で使ってるつもりが、環境変数に残ったANTHROPIC_API_KEYのせいで低ティアのAPIキー経由になっているケースだ。direnvやdotenv系プラグイン、IDEのターミナル設定が.envから古いキーを読み込んでしまうことがある。

# 意図しないキーが残っていないか確認
env | grep ANTHROPIC

これは以前書いた「勝手に従量課金になる」問題と根っこが同じで、優先順位の仕組みを知らないと気づきにくい。サブスク契約してるのに429が妙に早く出るなら、まずここを疑ったほうがいい。

Claude Codeが勝手に従量課金になる原因、ANTHROPIC_API_KEYの優先順位だった
Claude Codeが勝手に従量課金になる原因、ANTHROPIC_API_KEYの優先順位だったClaude Codeでサブスク契約中なのに従量課金された時に疑うべきはANTHROPIC_API_KEY環境変数。認証の優先順位を公式ドキュメントで確認し、確認方法と直し方をまとめた。読む →

サブスク(Pro/Max)ログインで429が出るケース

claude.aiのサブスクでログインしてる場合も、サーバー側の一時的なスロットル(throttle)として429が返ってくることがある。これはプランのクォータを消費するものではなく、公式ドキュメントでは「クォータのヘッダーを持たない一時的な429」と説明されている。

ここでバージョンによる挙動差があるのが厄介なところで、v2.1.199以降ならこの手の一時的な429はAPIキー・Enterpriseだけでなくサブスクログインでも自動的にリトライされるようになった(デフォルトで指数バックオフ、最大10回)。それより前のバージョンだと、サブスクログインでは自動リトライの対象外だったので、目の前で処理が止まって見える。

古いバージョンのまま使ってて429が頻発するなら、まずアップデートを疑うのが早い。

claude update
claude --version

APIキー(従量課金)で429が出るケース — Usage Tierの壁

ここが一番ボリュームゾーンだと思う。ANTHROPIC_API_KEYを直接使ってる、あるいはpay-as-you-goで運用してるケースだ。

Anthropic APIのレート制限は、Start/Build/Scale(+Custom)というUsage Tierごとに、モデル単位でRPM(1分あたりリクエスト数)・ITPM(1分あたり入力トークン数)・OTPM(1分あたり出力トークン数)の3種類が設定されている仕組みだ。組織は利用実績とアカウントの状態に応じて自動的にティアが上がっていく。新規組織や利用履歴が浅い組織は、標準ティアより低いEvaluation Tierからスタートすることもある。

公式ドキュメント記載のStartティアの目安はこんな感じだ(執筆時点、モデルによって変動する)。

モデル系統RPMITPMOTPM
Claude Sonnet系1,0002,000,000400,000
Claude Opus系1,0002,000,000400,000
Claude Haiku 4.51,0002,000,000400,000

数字だけ見ると余裕そうに見えるが、ここには2つの罠がある。

1つ目は、この制限が「トークンバケット方式」で動いていること。1分あたりの上限が均等に配られてるわけじゃなく、短い時間に集中してリクエストを送ると、平均は上限内でもバーストで引っかかる。公式も「60RPMの制限が1秒1リクエストとして運用されることがある」と明言している。

2つ目は「acceleration limit」の存在だ。組織の利用量が急増すると、ティア上の上限に達していなくても429が返ることがある。トラフィックは急に増やさず、なだらかに増やすのが公式の推奨になっている。バッチ処理を組んでるなら、いきなり全件投げるんじゃなくて、負荷を時間帯でならしたほうが429を踏みにくい。

Claude CodeがRPM/ITPMを早く消費する理由

Claude Code単体のチャット利用と比べて、なぜエージェント運用だと429に当たりやすいのか。原因は「1回の作業に複数のAPIリクエストが積み重なる」構造にある。

サブエージェント(Task tool)を並列で走らせるワークフローは、その分だけ同時にリクエストが飛ぶのでRPMを一気に消費する。ファイル読み込み・grep・コード生成を繰り返す通常の作業でも、コンテキストが長くなるほど1リクエストあたりのITPM消費が増える。

公式ドキュメントが用意してる緩和策はこの3つ。

  • CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY環境変数で同時実行数を下げる
  • 並列サブエージェントの数を絞る
  • スクリプト実行用途なら/modelで軽いモデルに切り替える

もう1つ、地味に効くのがプロンプトキャッシュだ。ITPMの計算では、多くのモデルでキャッシュから読んだトークン(cache_read_input_tokens)はカウント対象外になる。公式の例だと、ITPM上限2,000,000でキャッシュヒット率80%なら、実質的に1分あたり1,000万トークン相当を処理できる計算になる。CLAUDE.mdや大きめのコンテキストを毎回素の入力として送ってると、この恩恵を受けられずに早めに天井に当たる。

大量タスクを回すなら、そもそもリアルタイムのMessages APIじゃなくBatch APIに逃がす選択肢もある。処理を非同期化できるタスクなら、コスト削減と一緒にレート制限からも距離を置ける。

Claude Code × Batch APIで100件のタスクを並列処理する——コスト50%削減の実装パターン
Claude Code × Batch APIで100件のタスクを並列処理する——コスト50%削減の実装パターンAnthropic Batch APIをClaude Codeから活用する実践ガイド。単一リクエストと比べてコスト50%削減・処理時間1/10になるケースを実装コード付きで解説。エラーハンドリング・進捗監視・結果集約まで含めた本番向けパターン集。読む →

Bedrock / Vertex経由の429は別の仕組み

AWS BedrockやGoogle Cloud Vertex AI経由でClaude Codeを使ってる場合、レート制限の管理主体はAnthropicではなく各クラウドプロバイダになる。エラーメッセージの末尾も、Anthropic APIならstatus.claude.comを案内するのに対し、Bedrock/Vertex/Microsoft Foundryならそのプロバイダ自身のステータスページを案内する内容に変わる。

Bedrock特有の話として、Claude 4系モデルには「Token Burndown Rate」という独自の消費計算があり、単純なトークン数だけでなくモデルの処理特性を加味してクォータが減っていく仕組みが報告されている。Anthropic直APIの感覚でティアを見積もると足りなくなることがあるので、Bedrock/Vertexで頻発する場合はAWS/GCPコンソール側のクォータ画面を直接確認したほうが早い。数値は各コンソールでリアルタイムに変わるので、この記事には書かない。

レスポンスヘッダーで先回りする

429が返ってから慌てるより、レスポンスヘッダーを見て「あとどれくらい余裕があるか」を先読みする方法もある。API経由でスクリプトを組んでるなら特に有効だ。

ヘッダー内容
retry-after再試行までに待つべき秒数
anthropic-ratelimit-requests-remaining残りリクエスト数
anthropic-ratelimit-input-tokens-remaining残り入力トークン数(千単位で丸め)
anthropic-ratelimit-output-tokens-remaining残り出力トークン数(千単位で丸め)
anthropic-ratelimit-tokens-reset上限が完全に回復する時刻(RFC 3339)

自作の自動化スクリプトでClaude APIを叩いてるなら、remainingが閾値を下回った時点で意図的に一呼吸置くロジックを入れておくと、429そのものを踏まずに済む。Claude Code本体を使ってる分にはここまで意識する必要はないが、CI/CDやバッチ処理に組み込んでるなら効いてくる。

対処法まとめ

症状別に、まず何を確認すればいいかを整理するとこうなる。

  1. /statusでアクティブな認証情報を確認し、意図しないANTHROPIC_API_KEYが割り込んでないか見る
  2. サブスクログインならclaude updateでv2.1.199以降になっているか確認する(自動リトライの対象が広がる)
  3. APIキー運用ならClaude Consoleで現在のUsage Tierと残量を確認する
  4. サブエージェントの並列数をCLAUDE_CODE_MAX_TOOL_USE_CONCURRENCYで絞る、または並列実行そのものを減らす
  5. CLAUDE.mdや大きい固定コンテキストはプロンプトキャッシュが効く構成にする
  6. 大量タスクはリアルタイム処理に固執せず、時間帯を分散するかBatch APIに逃がす
  7. Bedrock/Vertex経由なら、そのプロバイダのコンソールでクォータを直接確認する

FAQ

429と529、結局何が違う?

429は自分(組織)側に設定された上限を超えたときのエラーで、対処の余地がある。529はAnthropic側の全体負荷で、自分の設定とは無関係に起きる。待つしかない529と、並列数やキャッシュで頻度を減らせる429は分けて考えたほうがいい。

429が出たらどれくらい待てば直る?

retry-afterヘッダーに秒数が入っているので、それが一番正確。ヘッダーが見えない場合(Claude Code本体を素で使ってる場合)は、体感だと数秒〜1分程度で解消することが多い。頻発するなら待つより並列数を見直すほうが根本対処になる。

Batch APIにもレート制限はある?

ある。ただしMessages APIとは別枠で、全モデル共通のRPMと処理キュー内のバッチリクエスト数上限という形になっている。大量処理をBatch APIに逃がしても無制限というわけではない点は注意。

レート制限自体を引き上げることはできる?

できる。Claude Consoleの「Rate limits」ページから「Request rate limit increase」を申請する形になる。急ぎならAnthropicサポートに直接連絡する経路もある。ただしBedrock/Vertex経由の場合はこのセルフサービス申請が使えないので、各クラウドの担当窓口経由になる。

429は「制限に引っかかった」という表示の強さの割に、実際は数秒〜数分で解消する一時的な現象であることが多い。使用量制限のように「今日はもう使えない」というものではないので、まず何が原因かを切り分けてから対処を考えれば、必要以上に焦らずに済むと思う。

Claude Codeもレート制限の仕組みも更新が速い領域なので、この記事の数値は執筆時点のものとして、最新の挙動は公式ドキュメントで確認してほしい。

platform.claude.com
Rate limits - Claude Platform Docs Usage Tierごとの最新RPM/ITPM/OTPM表、レスポンスヘッダーの仕様、レート制限引き上げの申請方法まで載っている公式リファレンス。
code.claude.com
Error reference - Claude Code Docs Claude Code側から見た429の意味、/statusでの切り分け方、自動リトライの挙動をまとめた公式エラーリファレンス。
← 記事一覧に戻る