Claudeの利用制限を解決する方法|エラーメッセージ別の対処法
Claudeで利用制限に達した際、モデルの切り替えでは解決しない場合があります。サブスクリプションのローリング方式の制限と、APIのHTTP 429エラーの違いを解説します。エラーメッセージの内容に基づいた、リセットを待つべきか、通信速度を調整すべきかといった具体的な対処法を確認してください。
Claudeの利用制限は何ですか?
Claudeの利用制限には2つの異なるシステムがあります。まずは、どちらの制限に抵触したかを確認する必要があります。Claudeのサブスクリプション(Pro、Max、Team、またはEnterprise)には、モデル間で共有されるローリング方式の利用枠があります。これを超えると、You've hit your session limit · resets 3:45pm のようなメッセージが表示されます。一方、Claude APIは別の基準で測定されます。これは、1分間あたりのリクエスト数とトークン数です。制限に達すると、rate_limit_error 型の HTTP 429 エラーが発生し、retry-after ヘッダーに待機秒数が表示されます。
これら2つの解決策は全く異なります。サブスクリプションの制限は、一定期間内の使用量に関するものです。そのため、リセットを待つか、追加の利用権を購入する必要があります。APIのレート制限は、現在の通信速度に関するものです。速度を落とせば、数秒で解除されます。
プランごとの利用枠やレート制限のティア番号は頻繁に変更されます。誤った数値を提示するよりも、提示しない方が確実であるため、ここでは具体的な数値は記載していません。詳細は、後述のコマンドを使用してご自身で確認してください。
どの制限に達しましたか?正確なメッセージを確認してください
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 プロジェクトに設定された制限に達しました。API Error: Server is temporarily limiting requests (not your usage limit)は、プランのクォータとは無関係な一時的なスロットリングです。Claude Code は、このメッセージを表示する前に、バックオフを伴う自動リトライを試行します。
サブスクリプションの制限:セッション、週次、および Opus ウィンドウ
サブスクリプションプランには、ローリング方式の利用枠が含まれます。利用枠を使い切ると、メッセージに表示されるリセット時刻まで Claude Code はリクエストをブロックします。この利用枠には、混乱を招きやすい2つの特性があります。
- Claude chat と共有されます。claude.ai で行った作業は、ターミナルでの作業と同じ利用枠を消費します。そのため、チャットで大量に作業すると、コーディングに使える時間が減少します。
- モデル間で共有されます。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 のリクエストのみがブロックされているため、別のモデルに切り替えて作業を継続してください。
制限をバグだと考えることも、二番目に多い間違いです。再インストールや再認証を行っても解決しません。制限が解除されるのは、ウィンドウがリセットされるか、使用クレジットを購入した時のみです。
サブスクリプション制限に達した場合の対処法
- リセット時間を確認してください。セッションウィンドウは短いです。週単位のウィンドウは、デスクの前で待機して解決するものではありません。
- Opusの制限に達した場合は、
/modelを実行して別のモデルを選択してください。 /usageを実行して、プランの制限、使用量、およびリセット時期を確認してください。/costは同じ画面を表示するエイリアスです。- 制限を超えて作業を継続するには
/usage-creditsを実行してください。ProおよびMaxプランでは、請求設定が開きます。TeamおよびEnterpriseプランでは、組織の使用量設定が開くか、請求権限がない場合は管理者へリクエストが送信されます。 - 毎週同じ制限に達する場合、現在のプランはワークフローに対して容量不足です。
/usage-credits の利用には、/login 経由でログインした claude.ai のサブスクリプションが必要です。API key 認証では利用できません。API key には拡張可能なプラン枠がないためです。
使用クレジットには、まず知っておくべき副作用があります。サブスクリプションでの prompt cache の有効期間は1時間ですが、クレジットを使用し始めると5分に短縮されます。そのため、やり取りのたびにキャッシュが効かず Claude Code のトークン使用量 が増加します。
使用制限のように見えるが、実際には異なるメッセージ
Claude Codeでは、4つのエラーが使用制限として報告されますが、これらはすべて使用制限ではありません。
- contextまたはauto-compactの警告は、使用制限ではありません。会話がモデルのcontext windowを超えると、
Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.のような行が/contextに表示されます。古い履歴はスペースを確保するために要約されます。プランの割り当て(allowance)は消費されません。 Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.は、/compact自体が失敗したことを意味します。要約を作成するためのfree contextが不足しています。Credit balance is too lowは、Consoleのorganizationのプリペイドクレジットが不足していることを意味します。platform.claude.com/settings/billingでクレジットを追加してください。auto-reloadも利用可能です。API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard contextはentitlementのチェックであり、quotaの枯渇ではありません。[1m]というサフィックスのないモデルバリアントを選択するか、CLAUDE_CODE_DISABLE_1M_CONTEXT=1を設定してください。
もう一つはAPIに起因するものです。413 request_too_largeは、単一のリクエストに対するサイズ制限であり、rate limitではありません。
API rate limits: 429エラーの実際のカウント対象
Messages APIは、モデルクラスごとに以下の3つの要素を個別に測定します。
- 1分あたりのリクエスト数 (RPM)
- 1分あたりの入力トークン数 (ITPM)
- 1分あたりの出力トークン数 (OTPM)
また、組織には「支出制限(spend limit)」が設定されています。これはAPI利用の月間最大コストを指す別の仕組みです。ティアの支出上限に達すると、上限緩和を申請しない限り、翌月までAPIの利用は停止されます。リトライ処理では解決できません。
429エラーが発生する要因は、以下の4つのメカニズムによります。
- 制限はモデルクラスごとに適用されます。 各モデルに個別に適用されるため、異なるモデルをそれぞれの制限内で同時に使用できます。一部のモデルファミリーはリソースを共有しています。例えば、Opusのレート制限は Claude Opus 4.8, Opus 4.7, Opus 4.6, Opus 4.5 の合計に対して適用されますが、Claude Sonnet 5 は独自の制限を持ちます。
- 容量は継続的に補充されます。 APIはtoken bucketアルゴリズムを使用しています。そのため、容量は特定のタイミングでリセットされるのではなく、継続的に補充されます。例えば「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エラーが発生することがあります。利用量が急増すると、加速制限(acceleration limits)が作動します。これはティアの範囲内であっても429エラーを返します。トラフィックは段階的に増やしてください。公開されている数値はすべて上限です。ドキュメントに記載された制限は最大許容値であり、保証される最小値ではありません。制限の引き上げを希望する場合は、Claude Console の Limits ページにある「Request rate limit increase」を使用してください。
429エラーの読み取り: retry-after、ヘッダー、およびSDKによるリトライ
すべてのAPIエラーは、共通のエンベロープを返します。これには、typeとmessageを含むネストされた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は、リクエストの予算(budget)を示します。anthropic-ratelimit-input-tokens-*とanthropic-ratelimit-output-tokens-*は、ITPMおよびOTPMについても同様の情報を、同じlimit、remaining、resetというサフィックスを用いて示します。anthropic-ratelimit-tokens-*は、現在適用されている最も制限の厳しい制限値の値を表示します。
ResetヘッダーはRFC 3339形式のタイムスタンプです。Remainingトークンヘッダーは、最も近い1,000単位に丸められるため、目安として読み取ってください。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ヘッダーが存在する場合はその値に従います。各クライアントは、この動作を変更または無効化するためのmaximum-retriesオプションを受け入れます。
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 が一時的に過負荷であることを示します。これは全ユーザーによるトラフィック増加が原因で発生します。API キーやコードに問題はありません。SDK は 5xx レスポンスに対して指数バックオフ(exponential backoff)を自動で行いますが、手動でリトライしてください。エラーが解消されない場合は status.claude.com を確認してください。500 api_error は内部エラーであり、同様にリトライが必要です。これらはどちらも rate limit ではありません。
表ではなく、自身の制限値を確認する
サブスクリプションでは、/usage が重要です。ここにはプランの使用状況バーと、消費の内訳が表示されます。d または w で、過去24時間と過去7日間の表示を切り替えられます。注意点が2つあります。Session ブロックは API トークンの使用状況を示すもので、API ユーザー向けです。サブスクリプション利用者は、そこに表示される金額を無視して構いません。数値は、そのマシン上のローカルなセッション履歴から取得されます。そのため、他のデバイスや claude.ai からの使用状況は含まれません。
API の場合、Claude Console の Usage ページには、「Rate Limit - Input Tokens」と「Rate Limit - Output Tokens」の2つのチャートが表示されます。Input チャートは、1分あたりのキャッシュなし Input トークンの時間ごとの最大値と、現在の ITPM 制限値を比較してプロットします。その横にはキャッシュ率が表示されます。これにより、本番環境で制限に達する前に、制限への接近を監視できます。
設定された制限値をプログラムで取得する方法は以下の通りです:
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 もワークスペースごとに同様の操作を行います。どちらも読み取り専用です。制限を変更するには、Console の Limits タブを使用してください。
less を使用して制限を回避する
両システムは内部的に同じ指標を計測しているため、以下の手法はどちらにも有効です。
- 1ターンあたりの token 使用量を抑える。 連続して実行することで cache を維持できます。無関係なタスク間で
/clearを行うコストはゼロです。詳細は Claude Code token usage を参照してください。 - 負荷(effort)を下げる。 レベルは
low、medium、high、xhigh、maxです。/effortメニューには、使用量を増やすultracodeも用意されています。単純なリネーム作業に Deep reasoning を使う必要はありません。 - 429 エラー発生後は並列実行を減らす。
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCYを下げ、多数の subagent を同時に動かさないようにしてください。/statusにも注意が必要です。誤ってANTHROPIC_API_KEYが発生すると、サブスクリプションではなく低ティアの key を経由してリクエストが送信されます。 - 非対話的な処理は Message Batches API に移行する。 この API は大量の処理を非同期で行います。入力および出力 token が 50% 割引され、独自の rate limits が適用されるため、夜間のジョブが現在のセッションと競合することはありません。
人間ではなくプログラムによる突発的なワークロードには、最初から API key を使用してください。Your first Claude API app on a VPS では、key の管理と retry について説明しています。また、Claude Code running on a VPS inside tmux を使用すれば、接続が切断されても長時間実行中の agent を維持できます。
FAQ
なぜモデルを切り替えても Claude の使用制限が解消されないのですか?
セッション制限と週次制限は、すべてのモデルで共有されているためです。制限はモデル単位ではなくプラン単位で適用されます。そのため、/model は回答するモデルを変更するだけで、残りの使用可能量は変化しません。唯一の例外は You've hit your Opus limit で、これは Opus のリクエストにのみ適用されます。この場合は、モデルの切り替えが有効な解決策として記載されています。
429 rate_limit_error は何を意味し、どのくらいの時間待機すべきですか?
そのモデルクラスのレート制限(1分あたりのリクエスト数、入力トークン数、または出力トークン数)に達したことを意味します。レスポンスには、待機すべき秒数を示す retry-after ヘッダーが含まれます。その秒数より前にリトライしても失敗します。公式 SDK は、このヘッダーに従って、レート制限および 5xx エラーに対して指数バックオフを用いたリトライ(デフォルトで2回)を既に行います。プランの制限内にいるにもかかわらず 429 が発生する場合、急激なリクエスト増加による加速制限に抵触しています。
Claude の使用制限とリセット時間はどのように確認できますか?
Claude Code では、/usage を実行すると、プランの制限状況、リセット時間、および使用量の内訳が表示されます。/cost はそのエイリアスです。また、d または w で、直近 24 時間と直近 7 日間の表示を切り替えられます。これらの数値はローカルのセッション履歴に基づいているため、他のデバイスや claude.ai での使用量は含まれません。API の場合は、Console でレート制限を確認できます。また、Admin API キーを使用すると GET /v1/organizations/rate_limits で設定済みの制限値を取得できます。
Claude プランの制限に達した後も作業を継続できますか?
可能な場合があります。Pro および Max プランで制限を超えて使用するには /usage-credits を実行してください。Team および Enterprise プランの場合は、管理者へのリクエストが必要です。これには /login を介した claude.ai へのログインが必要であり、API キー認証では利用できません。それ以外の場合は、リセット時間まで待機するか、Opus の制限に達した場合はモデルを切り替えてください。あるいは、ウィンドウ単位ではなく分単位で計測される API キーに作業を移行してください。