AI Hub

Codex

Codexの429エラー(Too Many Requests)の原因と対処法

公開: / 更新: 読了目安8分

#エラー対処 #レート制限

Codexの429エラー(Too Many Requests)の原因と対処法

Codexを使っていると、ある日突然「429 Too Many Requests」というエラーで作業が止まることがあります。結論から言うと、原因の大半は「プランの利用上限に達した」か「短時間にリクエストを送りすぎた」かのどちらかで、多くはリセット待ちかリトライ間隔の調整で解決します。ただし、残量が十分あるのに429が出るという報告も一定数あり、その場合は一時的な不具合を疑う必要があります。この記事では、実際にGitHub Issuesで報告されている症状をもとに、パターン別の見分け方と対処法を整理します。

この記事の要点

  • Codexの429エラーは「プランの利用上限到達」か「短時間のリクエスト過多」が主な原因です。
  • Codex CLIの/statusコマンドで、現在の残量とリセットまでの時間を確認できます。
  • APIキー(従量課金)利用時は、ChatGPTプランの利用枠ではなくOpenAI Platform側のレート制限が適用されます。
  • 残量に十分余裕があるのに429が出る場合は、一時的な不具合の可能性があります。
  • 予防策として、タスクの分割・並列実行数の抑制・リトライ時の指数バックオフが有効です。

429エラーとは何か

429はHTTPのステータスコードで、「Too Many Requests(リクエストが多すぎます)」を意味します。コード自体に問題があるわけではなく、一時的にリクエストを受け付けられない状態を示すエラーです。Codexでは次のようなメッセージで表示されることが多く、GitHub Issues上でも同様の報告が繰り返し上がっています(openai/codex#12775#9148#10560など)。

stream error: exceeded retry limit, last status: 429 Too Many Requests

このメッセージは、Codexが内部で自動リトライを繰り返した末に失敗したことを示しています。実際、openai/codex#4840では「429を受け取っても静かにリトライを続けるだけで、ユーザーに分かりやすく通知されない」という設計上の課題も報告されており、ユーザー側からは「何が起きているか分かりにくい」状態になりがちです。まずは焦って何度も再実行するのではなく、以下のどのパターンに当てはまるかを切り分けることが大切です。

429エラーの4つの原因(プラン利用上限への到達、短時間の連続リクエスト、APIキー従量課金のレート制限、一時的な不具合)を整理した図解

発生パターン①: プランの利用上限に到達している

ChatGPT Plus・Pro・Business・Enterpriseなどのサブスクリプションでは、直近数時間単位のローリングウィンドウと、週単位でリセットされる上限の組み合わせで使用量が管理されています。どちらかの上限に達した状態でリクエストを送り続けると、429やレート制限に関するメッセージが表示されます。

codex
# セッション内で実行
/status

一方でopenai/codex#9148のように、「5時間・週次のどちらの上限も大きく下回っているのに429が出た」という報告もあります。/statusで残量に余裕があると分かった場合は、このパターンではなく後述するパターン③・④を疑ってください。Claude Codeの使用制限対策は「Claude Codeの使用制限対策」にまとめています。

発生パターン②: 短時間に連続してリクエストを送っている

複数のCodexセッションやサブエージェントを並行して動かしていると、短時間にリクエストが集中してレート制限に触れることがあります。openai/codex#11083では、25個ものサブエージェントを同時に走らせていたユーザーが、以前は問題なかった構成で急に429が出るようになったと報告しています。

1回目の失敗 → 1秒待機
2回目の失敗 → 2秒待機
3回目の失敗 → 4秒待機(以降、上限まで倍々に)

発生パターン③: APIキー(従量課金)利用時のレート制限

OPENAI_API_KEYを使ってcodex login --with-api-keyでサインインしている場合、ChatGPTプランの利用枠ではなく、OpenAI Platform側のレート制限が適用されます。組織のUsage tierによってリクエスト数・トークン数あたりの上限が異なり、Usage limits(支出上限)を設定していると、その金額に達した時点でリクエストが止まる仕様です。

発生パターン④: 一時的な障害・不具合が原因の場合

残量に十分な余裕があり、リクエスト頻度も特に高くないのに429が出るケースも報告されています。openai/codex#12775では「利用枠の99%以上が残っているのにexceeded retry limitが出た」という報告があり、openai/codex#7839ではバージョンアップ後に特定の構成でだけ429が発生するようになったという事例もあります。これらはCodex側やモデルプロバイダ側の一時的な不具合、あるいはインシデント対応に伴う仕様変更が影響している可能性があります。

予防策

429エラーそのものを完全になくすことは難しいものの、発生頻度を下げる工夫はいくつかあります。

よくある質問

429エラーは何度もリトライすれば直りますか?

短時間の連続アクセスが原因であれば、間隔を空けてから再実行すると解消することがあります。ただし、間隔を空けずに連打すると悪化することがあるため、待機時間を徐々に伸ばしながら試すのが安全です。プランの利用上限に達している場合はリトライしても状況は変わらず、リセットを待つ必要があります。

APIキー利用とChatGPTサブスクで429の原因は違いますか?

はい、適用される上限の仕組みが異なります。ChatGPTサインインではプランごとの利用枠(5時間・週次の組み合わせ)が対象になるのに対し、APIキー認証ではOpenAI Platform側のレート制限やUsage limitsが対象になります。どちらの認証方式を使っているかによって確認すべき場所が変わる点に注意してください。

残量が十分あるのに429が出るのはなぜですか?

GitHub Issuesでは、利用枠にまだ余裕があるにもかかわらず429が発生したという報告が複数あります。この場合はCodex側やモデルプロバイダ側の一時的な不具合が疑われます。時間を置いて再実行し、それでも解消しない場合はGitHub Issuesで同様の報告を検索するか、新規に報告することをおすすめします。

まとめ

Codexの429エラーは、多くの場合「プランの利用上限への到達」か「短時間のリクエスト過多」が原因で、残量確認とリトライ間隔の調整で対応できます。APIキー利用時はOpenAI Platform側のレート制限が対象になる点も押さえておくと切り分けがスムーズです。それでも残量に余裕があるのに発生する場合は、一時的な不具合を疑いGitHub Issuesを確認してみてください。基本的な使い方やエラー全般の対処法は「Codexの使い方完全ガイド」と「Codexが動かない時の対処法」もあわせてご覧ください。