Skip to content

原文(日本語に翻訳)

複数の並列リクエストが処理中の状態で使用量上限に達した際、レート制限警告が一瞬表示されて消えてしまう問題と、レート制限のテレメトリが過剰にカウントされる問題を修正

原文(英語)

Fixed the rate-limit warning flickering off and rate-limit telemetry being over-counted when multiple parallel requests were in flight at the moment a usage limit was hit

概要

Claude Codeで複数のリクエストが並列に処理されている最中に使用量上限(レート制限)へ到達すると、(1) 画面上のレート制限警告が表示された直後にちらついて消えてしまう、(2) レート制限に関するテレメトリ(計測値)が実際の発生回数より多くカウントされる、という2つの不具合が修正されました。サブエージェントの並列実行やバックグラウンドジョブの同時実行など、複数リクエストが同時に飛び交う状況でレート制限に達したタイミングのrace condition(競合状態)が原因と考えられます。

基本的な使い方

この修正は内部動作の修正であり、ユーザー側での設定変更は不要です。レート制限の状況は /usage コマンドでいつでも確認できます。

bash
# Claude Code を起動
claude

# 現在の使用量とレート制限のリセット時刻を確認
/usage

実践例

並列タスク実行中にレート制限へ到達した場合

複数のサブエージェントやツール呼び出しを並列実行している最中に使用量上限へ達するケースで、警告表示が安定するようになりました。

修正前のフロー:
1. 複数の並列リクエスト(サブエージェント呼び出しなど)が同時に処理中
2. 使用量上限に到達
3. ❌ レート制限警告が一瞬表示されるが、後続の並列リクエストの応答によって
   即座に非表示状態に上書きされる(フリッカー)
4. ユーザーが警告を見逃し、なぜ応答が止まったか分かりにくい

修正後のフロー:
1. 複数の並列リクエストが同時に処理中
2. 使用量上限に到達
3. ✅ レート制限警告が表示されたまま安定して維持される
4. ユーザーは状況を正しく把握できる

テレメトリの過剰カウント

修正前:
- 並列実行中の各リクエストがそれぞれ独立にレート制限到達を検知し、
  同一のレート制限イベントが複数回テレメトリに記録されていた
- 例: 5つの並列リクエストが同時にレート制限を検知 → イベントが最大5回カウントされる

修正後:
- 同一タイミングで発生したレート制限イベントが重複排除され、1回だけ記録される
- 利用状況の分析やダッシュボードの数値がより正確になる

バックグラウンドエージェントや claude agents を多用する場合

claude agents で複数のバックグラウンドジョブを同時に走らせている場合や、サブエージェントを並列起動するワークフローでは、レート制限到達のタイミングが重なりやすくなります。この修正により、そうした環境でも警告表示と計測値の双方が信頼できるようになります。

bash
# 複数のサブエージェントを並列実行するようなワークフロー例
claude "複数のサブエージェントでリポジトリ全体を並列調査して"

注意点

  • この修正はレート制限の発生条件や上限値そのものを変更するものではなく、警告表示とテレメトリ計測の正確性を改善するものです。
  • 並列リクエストが発生しない通常の単一リクエストの利用では、目に見える変化はほとんどありません。
  • レート制限の詳細な仕組み(5時間のローリングウィンドウや週次上限など)については公式ドキュメントを参照してください。

関連情報