Claudeの利用制限に達したときの対処法
モデルを切り替えても利用制限は解除されません。Claudeのセッション・週次制限とAPIのHTTP 429レート制限の違い、表示されたエラー別の対処法を解説します。
Claude の利用制限とは何ですか?
Claude の利用制限には、別々の 2 つの仕組みがあります。まず、どちらが原因で停止したのかを確認します。Claude のサブスクリプション(Pro、Max、Team、Enterprise)には、モデル間および Claude chat で共有される、一定期間内の利用上限があります。この上限に達すると、You've hit your session limit · resets 3:45pm のようなメッセージが表示されます。Claude API が測定するのは別の指標です。1 分あたりに送信できるリクエスト数とトークン数によって、送信速度が制限されます。上限を超えると、rate_limit_error タイプの HTTP 429 エラーと、待機すべき秒数を示す retry-after ヘッダーが返されます。
この 2 つの制限への対処方法は異なります。サブスクリプションの利用制限は、一定期間内にどれだけ使用したかに基づくため、リセットを待つか、追加の利用枠を購入します。API のレート制限は、その時点での送信速度に基づくため、送信速度を下げれば数秒で解除されます。
プランごとの利用枠とレート制限の tier 番号は頻繁に変わります。誤った数値を示すより、数値を示さないほうがよいため、ここには記載しません。後のコマンドで自分の利用状況を確認してください。
どの制限に達したかを確認するには、正確なメッセージを読みます
Claude Code は、表示するテキスト内で対象のシステムを示します。変更する前に、自分の環境と照合してください。
You've hit your session limit · resets 3:45pmはサブスクリプションの制限です。このウィンドウにおけるプランのローリング方式の利用枠を使い切っています。You've hit your weekly limit · resets Mon 12:00amは、より長いウィンドウに適用される同じシステムです。You've hit your Opus limit · resets 3:45pmは Opus のリクエストだけに適用されるサブスクリプションの制限です。モデルの切り替えで解決できるのは、このケースだけです。API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.は API のレート制限です。API key、Amazon Bedrock、または Google Cloud プロジェクトに設定された制限に達しています。どれが適用されるかは、クライアントの認証方法によって異なります。Bedrock または Vertex クライアントでは、Anthropic organization ではなく、使用するクラウドプロジェクトのクォータが適用されるためです。API Error: Server is temporarily limiting requests (not your usage limit)は、プランのクォータとは無関係な短時間のスロットリングです。この行を表示する前に、Claude Code がバックオフを伴うリトライを自動的に実行します。
サブスクリプションの制限: セッション、週次、Opus ウィンドウ
サブスクリプションプランには、時間経過に応じて更新される利用枠があります。利用枠を使い切ると、メッセージに表示されたリセット時刻まで Claude Code は追加リクエストを受け付けません。この利用枠には、混乱を招きやすい特徴が 2 つあります。
- Claude chat と共有されます。claude.ai で行った作業も、ターミナルで行った作業と同じ利用枠を消費します。そのため、午後に chat を多用すると、夜に使えるコーディングの利用枠が減ります。そのアカウントでサインインするすべての環境が同じプールを消費します。したがって、Linux では ベータ版のデスクトップアプリと Claude Code CLI が 1 つの利用枠を共有し、それぞれが別の利用枠を使うわけではありません。
- モデル間でも共有されます。セッション制限と週次制限にはモデルごとの予算がありません。唯一の例外が Opus 制限です。
Claude for Teams と Enterprise では、公開されている仕組み上、シートごとの利用枠が 5 時間のローリングウィンドウと週次ウィンドウでリセットされます。この利用枠は Claude chat および Cowork と共有され、シートのティア(Standard または Premium)に応じて設定されます。Pro と Max では、メッセージに表示されるリセット時刻と、自分の /usage バーが信頼できる数値です。ブログ記事から転記した数値を基準にしないでください。まだティアを選んでいる場合は、必要な Claude プランで各プランの制限内容を比較できます。
/model でモデルを切り替えてもアクセスが復旧しない理由
これは最もよくある誤った対応です。ドキュメントにも明記されているとおり、セッション上限と週間上限はすべてのモデルで共有されるため、モデルを切り替えてもアクセスは復旧しません。セッションの利用枠を使い切った後で小さいモデルを選ぶと、応答に使用されるモデルが変わるだけです。利用枠はモデルごとに保持されていないため、残りの利用可能量は変わりません。したがって、切り替えによって解放されるものもありません。
例外は、モデル固有の上限である Opus の上限です。メッセージが You've hit your Opus limit と表示される場合は、/model が正しい対処です。別のモデルに切り替えて作業を続けてください。ブロックされているのは Opus のリクエストだけです。
上限をバグだと考えるのも、2 つ目の誤った対応です。再インストールや再認証を行っても何も変わりません。利用枠はウィンドウがリセットされると戻ります。または、利用クレジットを購入してください。
サブスクリプションの上限に達した場合の対処
- リセット時刻を確認します。セッションのウィンドウは短時間です。週次のウィンドウは、作業場所で待っていられるものではありません。
- Opus の上限に達した場合は、
/modelを実行して別のモデルを選択します。 /usageを実行すると、プランの上限、使用量バー、リセット時刻を確認できます。/costは同じ画面を開くエイリアスです。- 上限を超えて作業を続けるには、
/usage-creditsを実行します。Pro と Max では請求設定が開きます。Team と Enterprise では組織の使用量設定が開くか、請求情報へのアクセス権がない場合は管理者にリクエストが送信されます。 - 毎週同じ上限に達する場合は、現在のプランが作業方法に合っていません。使用量の上限を回避する方法を、リセットのたびに検討するのではなく、一度まとめて比較する価値があります。
/usage-credits を使用するには、/login を介して claude.ai にサインインしたサブスクリプションが必要です。API key 認証では利用できません。API key には拡張できるプランの割り当てがないためです。
使用量クレジットには、先に知っておくべき副作用が 1 つあります。サブスクリプションでは prompt cache の有効期間は 1 時間ですが、クレジットを使用すると 5 分に短縮されます。そのため、処理の開始時にキャッシュがない状態になるターンが増え、同じ作業でも Claude Code の token 使用量が増加します。
使用量制限に見えて、実際には使用量制限ではないメッセージ
Claude Code の4つのエラーは使用量制限として報告されますが、いずれも使用量制限ではありません。
- コンテキストまたは自動圧縮の警告は、使用量制限ではありません。
/contextは、会話がモデルのコンテキストウィンドウを超えて増えると、Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.のような行を出力します。古い履歴は要約されて空き容量が確保されますが、プランの使用枠は消費されません。 Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.は、/compact自体が失敗したことを示します。生成する要約を保持するための空きコンテキストが不足しているためです。Credit balance is too lowは、Console 組織の前払いクレジットを使い切ったことを示します。platform.claude.com/settings/billing でクレジットを追加できます。このページでは自動リロードも設定できます。API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard contextは権限の確認であり、クォータの枯渇ではありません。[1m]サフィックスのないモデルバリアントを選ぶか、CLAUDE_CODE_DISABLE_1M_CONTEXT=1を設定してください。
API に由来するものも1つあります。413 request_too_large は単一リクエストのサイズ制限であり、レート制限ではありません。
API レート制限: 429 が実際に数えているもの
Messages API は、モデルクラスごとに次の3つを個別に計測します。
- 1分あたりのリクエスト数 (RPM)
- 1分あたりの入力トークン数 (ITPM)
- 1分あたりの出力トークン数 (OTPM)
組織には支出上限もあります。これは別の仕組みで、API 利用に対する月間の最大費用です。ティアの支出上限に達すると、より高い上限を申請しない限り、翌月まで API の利用が停止します。リトライループでは解決できません。
429 が返るタイミングは、次の4つの仕組みで決まります。
- 制限はモデルクラスごとに適用されます。 モデルごとに個別に適用されるため、それぞれの上限まで異なるモデルを同時に使用できます。一部のモデルファミリーは同じバケットを共有します。Opus のレート制限は Claude Opus 4.8、Opus 4.7、Opus 4.6、Opus 4.5 の合計に適用されます。一方、Claude Sonnet 5 には独自の制限があります。
- 容量は継続的に補充されます。 API はトークンバケットアルゴリズムを使用するため、容量は決まった時刻にリセットされるのではなく、継続的に補充されます。1分あたり60リクエストの制限が、1秒あたり1リクエストとして適用される場合があります。そのため、60リクエストを一度に送信すると失敗します。
- ほとんどのモデルでは、キャッシュされていない入力だけが ITPM に加算されます。
input_tokensとcache_creation_input_tokensは加算されます。ほとんどの Claude モデルではcache_read_input_tokensは加算されません。文書化された例外は Claude Haiku 3.5 です。そのため、キャッシュを利用すると割引になるだけでなく、レート制限の余裕も増えます。出力側では、高いmax_tokensは OTPM に加算されません。OTPM は実際に生成されたトークンだけを数えるためです。 - 制限は組織レベルで設定されます。 ワークスペースにはより低い制限を設定できますが、ワークスペースの制限を合計した値がそれを上回っていても、組織全体の制限は常に適用されます。ワークスペースで上書きしていない制限は無制限になるのではなく、組織から継承されます。
Start、Build、Scale、Custom というティアによって実際の数値が決まり、利用履歴とアカウントの状態に基づいて自動的に割り当てられます。新しい組織には、公開されている標準の制限より低い制限が最初に適用されることがあります。そのため、最初の429は表から予測されるより早く返る場合があります。利用量が急増すると加速制限が発動し、ティアの範囲内であっても429が返ります。トラフィックは段階的に増やしてください。公開されている数値はすべて上限です。文書化された制限は許可される利用量の最大値であり、最低限保証される値ではありません。上限の引き上げを依頼するには、Claude Console の Limits ページにある "Request rate limit increase" コントロールを使用します。
429 の読み方: retry-after、ヘッダー、SDK のリトライ
すべての API エラーは同じエンベロープを返します。入れ子になった error オブジェクトにタイプとメッセージが含まれ、トップレベルには request_id が含まれます。
{
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "<names the rate limit you exceeded>"
},
"request_id": "req_011CSHoEeqs5C35K2UUqR7Fy"
}残りの情報はヘッダーに含まれます。
retry-afterは、リクエストを再試行できるまで待つ秒数です。それより早く再試行すると失敗します。anthropic-ratelimit-requests-limit、anthropic-ratelimit-requests-remaining、anthropic-ratelimit-requests-resetは、リクエストの利用枠を示します。anthropic-ratelimit-input-tokens-*とanthropic-ratelimit-output-tokens-*は、ITPM と OTPM について同じ情報を示します。末尾には limit、remaining、reset が付きます。anthropic-ratelimit-tokens-*には、現在適用されている最も厳しい制限の値が表示されます。
リセット用ヘッダーは RFC 3339 形式のタイムスタンプです。残りトークン数を示すヘッダーは最も近い 1000 単位に丸められるため、目安として扱ってください。Fast mode には独自のプールと anthropic-fast-* ヘッダーがあります。成功したリクエストのレスポンスから、すべての値を読み取ってください。
curl -s -D - -o /dev/null https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":16,"messages":[{"role":"user","content":"hi"}]}' \
| grep -i 'ratelimit\|retry-after\|request-id'すべてのレスポンスには、req_018EeWyXxfu5pfWkrYcMdjWG のような一意の request-id ヘッダーも含まれます。エラーボディーでは request_id として、Python および TypeScript SDK のレスポンスでは _request_id として表示されます。サポートに問い合わせる際は、この値を伝えてください。
リトライループを実装する前に、本当に必要か確認してください。公式 SDK は、接続エラー、レート制限、5xx サーバーエラーなどの一時的な失敗を、デフォルトでは 2 回、指数バックオフで自動的に再試行します。retry-after ヘッダーが存在する場合は、その値にも従います。各クライアントには最大リトライ回数のオプションがあり、この動作を変更または無効化できます。
import anthropic
client = anthropic.Anthropic(max_retries=5) # the SDK default is 2
try:
msg = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "hello"}],
)
except anthropic.RateLimitError as err:
headers = err.response.headers
print("still limited after retries; wait", headers.get("retry-after"), "seconds")
print("request id:", headers.get("request-id"))529 overloaded_error は利用者の問題ではありません
429 はリクエストが速すぎたことを示します。529 overloaded_error は API が一時的に過負荷状態であることを示し、全ユーザーからのネットワークトラフィックが増えた場合に発生することがあります。原因は key やコードではありません。指数バックオフを使って再試行してください。SDK は 5xx レスポンスに対してすでに指数バックオフを実行します。解消しない場合は status.claude.com を確認してください。500 api_error は内部エラーです。同じ方法で再試行してください。どちらも rate limit ではありません。
自分の使用上限を確認する
サブスクリプションでは、/usage が確認すべき画面です。プランの使用量バーと、その使用量の内訳が表示されます。d または w で、直近 24 時間と直近 7 日間を切り替えられます。注意点が 2 つあります。Session ブロックには API token の使用量が表示されます。これは API users 向けなので、subscribers はドル表示を無視できます。数値はそのマシンのローカルな session history に基づくため、別のデバイスや claude.ai での使用量は含まれません。
API 側では、Claude Console の Usage page に "Rate Limit - Input Tokens" と "Rate Limit - Output Tokens" の 2 つのグラフが表示されます。Input のグラフには、キャッシュされていない input tokens の 1 分あたりの 1 時間最大値と、現在の ITPM limit が示されます。横には cache rate も表示されます。そのため、本番環境で limit に到達してから確認するのではなく、limit への接近を監視できます。
設定済みの limit をプログラムから確認するには、次を実行します。
curl -s https://api.anthropic.com/v1/organizations/rate_limits \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY" \
-H "anthropic-version: 2023-06-01"Admin API key が必要です。GET /v1/organizations/workspaces/{workspace_id}/rate_limits を使うと、workspace ごとに同じ確認ができます。どちらも read-only です。limit を変更するには、Console の Limits tab を使用します。
使用量を抑えて、制限にかかりにくくする
どちらのシステムも内部では同じ対象を計測しているため、これらの調整はどちらでも有効です。
- 1 回のターンで使用するトークンを減らす。 継続して作業するとキャッシュが維持され、無関係なタスク間で
/clearしてもコストはかかりません。Claude Code のトークン使用量 では、これらの調整方法を詳しく説明しています。 - 推論の強度を下げる。 レベルは
low、medium、high、xhigh、maxです。/effortメニューにはultracodeもあり、これは使用量を減らすのではなく増やします。機械的な名前変更に深い推論を使っても効果はありません。 - 429 の発生後に同時実行数を減らす。
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCYを下げ、多数のサブエージェントを並列実行しないようにします。/statusも実行してください。紛れ込んだANTHROPIC_API_KEYにより、サブスクリプションではなく低い階層のキー経由でリクエストが送信されることがあります。 - 非対話型の処理を Message Batches API に移す。 大量の処理を非同期で実行し、入力トークンと出力トークンが 50% 割引になります。専用のレート制限が適用されるため、夜間ジョブがセッションと競合しなくなります。
コンテキストに大量のデータを投入する処理では、この影響が特に大きくなります。リアルタイムの市場データを使って株式とオプションを分析する場合、各質問に必要な範囲だけを取得すれば、相場表やオプションチェーン全体を貼り付ける場合のごく一部のコストで済みます。人間ではなくプログラムが駆動するバースト型の処理は、最初から API key で実行するのが適しています。移行すると、計測方法だけでなく料金の仕組みも変わります。Claude API には無料枠がないためです。ただし、サインアップ時に付与される少額のクレジットは利用できます。VPS で最初の Claude API アプリを作成するでは、キーの扱いとリトライを説明しています。また、tmux 内で VPS 上の Claude Code を実行し続けると、接続が切れても長時間のエージェント実行を継続できます。
FAQ
Claude の使用量上限に達したとき、モデルを切り替えても解決しないのはなぜですか?
セッション上限と週間上限は、すべてのモデルで共有されるためです。利用枠はモデルではなくプランに属します。そのため、/model で変わるのは回答に使われるモデルであり、残りの利用枠ではありません。唯一の例外は You've hit your Opus limit です。これは Opus のリクエストにだけ適用されます。この場合は、モデルの切り替えが公式に案内されている解決策です。
429 rate_limit_error は何を意味しますか?どのくらい待つ必要がありますか?
そのモデルクラスでレート制限に達したことを意味します。対象は、1 分あたりのリクエスト数、1 分あたりの入力トークン数、または 1 分あたりの出力トークン数です。レスポンスには待機秒数を示す retry-after ヘッダーが含まれます。早すぎる再試行は失敗します。公式 SDK は、レート制限エラーと 5xx エラーを指数バックオフで自動的に再試行します。デフォルトでは 2 回で、retry-after ヘッダーの値も尊重します。ティアの上限内で 429 が返る場合は、急激な利用増加による加速制限が原因と考えられます。
Claude の使用量上限とリセット時刻を確認するにはどうすればよいですか?
Claude Code で /usage を実行すると、プランの上限バー、リセット時刻、使用量の内訳を確認できます。/cost はそのエイリアスです。d または w で、対象期間を直近 24 時間と直近 7 日間の間で切り替えます。これらの数値はローカルのセッション履歴に基づくため、他のデバイスや claude.ai での使用量は含まれません。API では、Console でレート制限のグラフを確認できます。また、Admin API key を使うと GET /v1/organizations/rate_limits で設定済みの上限を取得できます。
Claude のプラン上限に達した後も作業を続けられますか?
場合によっては可能です。/usage-credits を実行すると、Pro と Max では上限を超える使用量を購入できます。Team と Enterprise では、管理者に追加利用をリクエストできます。この機能には /login を介した claude.ai ログインが必要で、API key 認証では利用できません。それ以外の場合は、リセット時刻まで待つか、Opus の上限であればモデルを切り替えてください。または、API key に作業を移行してください。API key では、一定期間単位ではなく 1 分単位で使用量が計測されます。