SSD Nodes Learn
指南 Matt Connor作者: Matt Connor · 已更新 2026-07-24

Claude 使用限制解決方案:遇到用量限制怎麼辦?

解析 Claude 訂閱方案與 API 429 錯誤的差異。若遇到訂閱額度用盡,切換模型可能無效,需等待重置;若觸發 API rate limit,則需調整請求頻率。本文說明如何判斷是 session 限制或 API 速率限制,並提供對應的處理建議。

Claude 的使用限制為何?

Claude 的使用限制分為兩個獨立系統,首要任務是判斷是哪種限制導致無法使用。Claude 訂閱方案(Pro、Max、Team 或 Enterprise)提供滾動式的用量額度,該額度由各個模型共用,並與 Claude chat 共用,當達到限制時會顯示 You've hit your session limit · resets 3:45pm 等訊息。Claude API 則衡量不同的指標:每分鐘發送請求與 token 的速度。當達到限制時,會回傳 rate_limit_error 類型的 HTTP 429 錯誤,並在 retry-after 標頭中顯示需等待的秒數。

兩者的解決方法完全不同。訂閱限制取決於您在特定時間窗口內的總用量,因此您必須等待額度重置或購買更多用量。API 速率限制(rate limit)則取決於您目前的發送速度,只要放慢速度,限制會在數秒內解除。

方案額度與速率限制的分級數字會頻繁變動,提供錯誤的數字比不提供更糟,因此此處不列出具體數值。請使用下方的指令查看您自己的限制。

你觸發了哪項限制?請閱讀確切訊息

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 速率限制 (rate limit)。您已達到 API key、Amazon Bedrock 或 Google Cloud 專案所設定的限制。
  • API Error: Server is temporarily limiting requests (not your usage limit) 為與方案配額無關的短期節流 (throttle)。Claude Code 在顯示此訊息前,會自動進行退避重試 (backoff)。

訂閱限制:session、每週限制與 Opus 視窗

訂閱方案包含滾動式的使用額度。當額度用盡時,Claude Code 會封鎖後續請求,直到訊息中顯示的重置時間為止。該額度的兩項特性最常導致混淆。

  • 額度與 Claude chat 共用。在 claude.ai 進行的工作與在 terminal 進行的工作共用相同額度,因此在 chat 進行大量工作會縮短您當晚的編碼時間。
  • 額度於不同模型間共用。除了 Opus 限制外,session 與每週限制皆不設單一模型的預算限制。

在 Claude for Teams 與 Enterprise 方案中,官方文件記載的結構為按人頭計算的額度,會在滾動的 5 小時視窗與每週視窗中重置;該額度與 Claude chat 及 Cowork 共用,並依據席位層級(Standard 或 Premium)決定大小。在 Pro 與 Max 方案中,訊息中顯示的重置時間與您自身的 /usage 條顯示值才是準確數據,而非從部落格文章複製的數字。若您仍在挑選方案,請參閱 哪種 Claude 方案適合您 以比較各方案的限制內容。

為什麼使用 /model 切換模型無法恢復存取權限

這是最常見的錯誤操作。文件已明確說明:session 與 weekly limits 是所有模型共用的,因此切換模型無法恢復存取權限。當 session window 用盡後,選擇較小的模型僅是改變回答的模型,並不會改變剩餘的 allowance。由於 allowance 並非按模型個別計算,切換模型無法釋放額度。

唯一的例外是 Opus limit,這是真正針對特定模型的上限。若訊息顯示 You've hit your Opus limit,則 /model 才是正確的解決方案。請切換至其他模型繼續工作,因為僅有 Opus 的 requests 會被封鎖。

將此限制誤認為 bug 是第二種錯誤操作。重新安裝或重新進行 re-authenticating 皆無濟於事。額度會在 window 重設或購買 usage credits 後恢復。

達到訂閱限制時的處理步驟

  1. 確認重置時間。Session window 的時間很短,但 Weekly window 不需要坐在電腦前等待。
  2. 若達到 Opus 限制,請執行 /model 並選擇其他模型。
  3. 執行 /usage 查看目前的方案限制、額度以及重置時間。/cost 為相同介面的別名。
  4. 執行 /usage-credits 以突破限制繼續工作。在 Pro 與 Max 方案中,這會開啟帳單設定;在 Team 與 Enterprise 方案中,這會開啟組織的使用量設定;若您沒有帳單存取權限,則會向管理員發送請求。
  5. 若每週都遇到相同的限制,代表目前的方案規模不符合您的工作模式。

/usage-credits 需要透過 /login 登入的 claude.ai 訂閱。使用 API key 驗證時無法使用此功能,因為 API key 沒有可擴展的方案額度。

使用額度(Usage credits)有一個重要的副作用。訂閱用戶的 Prompt cache 有效期為 1 小時,一旦開始消耗額度,有效期會降至 5 分鐘,因此相同的任務會消耗更多 Claude Code token usage

非使用量限制的錯誤訊息

有四種 Claude Code 錯誤會顯示為使用量限制,但實際上並非如此。

  • Context 或 auto-compact 警告並非使用量限制。當對話內容超過模型的 context window 時,/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 本身執行失敗,因為剩餘的 free context 不足以容納產生的摘要。
  • 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。413 request_too_large 是單次請求的大小限制,而非速率限制 (rate limit)。

API rate limits: 429 錯誤的實際計算方式

Messages API 會針對每個模型類別分別計算以下三項指標:

  • 每分鐘請求數 (RPM)
  • 每分鐘輸入 token 數 (ITPM)
  • 每分鐘輸出 token 數 (OTPM)

您的組織設有支出限制 (spend limit),這與上述指標不同:它是 API 使用量的每月最高成本。一旦達到該層級 (tier) 的支出上限,API 使用將會暫停直到下個月,除非您申請提高上限。任何重試迴圈 (retry loop) 都無法解決此問題。

以下四種機制決定了 429 錯誤發生的時機:

  • 限制是以模型類別為單位。 限制分別套用於各個模型,因此您可以同時使用不同的模型並各自達到其上限。部分模型家族共用配額:Opus 的速率限制是 Claude Opus 4.8、Opus 4.7、Opus 4.6 與 Opus 4.5 的總和,而 Claude Sonnet 5 則擁有獨立的限制。
  • 容量會持續補充。 API 使用 token bucket 演算法,因此容量會持續補充,而非在固定時間點重設。例如每分鐘 60 次請求的限制可能會被執行為每秒 1 次請求,因此若同時發送 60 次請求仍會失敗。
  • 多數模型僅計算未快取的輸入以計入 ITPM。 input_tokenscache_creation_input_tokens 會被計入。在多數 Claude 模型中,cache_read_input_tokens 不會被計入,但 Claude Haiku 3.5 是已知的例外。因此,使用快取 (caching) 除了能獲得折扣,也能增加速率限制的餘裕。在輸出端,高 max_tokens 不會計入 OTPM,因為 OTPM 僅計算實際產生的 token。
  • 限制是在組織層級設定。 工作區 (workspace) 可以被設定較低的限制,且組織層級的限制始終有效,即使工作區限制的總和較高亦然。若您未在工作區覆寫限制,該限制將繼承自組織,而非設為無限制。

Start、Build、Scale 與 Custom 等層級會設定實際數值,系統會根據您的使用紀錄與帳戶狀態自動分配。新組織的起始限制可能低於標準發佈的限制,因此第一次遇到 429 錯誤的時間可能早於表格預期。使用量急劇增加會觸發加速限制 (acceleration limits),這會在您仍處於該層級時就回傳 429,因此請逐步增加流量。所有發佈的數值皆為上限:文件中的限制是允許使用的最大值,而非保證的最小值。若需申請更高額度,請使用 Claude Console 中 Limits 頁面的「Request rate limit increase」控制項。

解讀 429:retry-after、Headers 與 SDK 重試機制

每個 API 錯誤都會回傳相同的封裝結構:一個包含類型與訊息的巢狀 error 物件,以及一個頂層的 request_id

{
  "type": "error",
  "error": {
    "type": "rate_limit_error",
    "message": "<names the rate limit you exceeded>"
  },
  "request_id": "req_011CSHoEeqs5C35K2UUqR7Fy"
}

其餘資訊包含在 Headers 中。

  • retry-after 代表重新嘗試請求前須等待的秒數。過早重試將會失敗。
  • anthropic-ratelimit-requests-limitanthropic-ratelimit-requests-remaininganthropic-ratelimit-requests-reset 描述您的請求額度(Request Budget)。
  • anthropic-ratelimit-input-tokens-*anthropic-ratelimit-output-tokens-* 對於 ITPM 與 OTPM 進行相同的描述,並使用相同的 limit、remaining 與 reset 字尾。
  • anthropic-ratelimit-tokens-* 顯示目前生效中最嚴格限制的數值。

Reset Headers 為 RFC 3339 時間戳記。Remaining Token Headers 會四捨五入至最接近的千位數,請將其視為估計值。Fast mode 擁有獨立的資源池與 anthropic-fast-* Headers。請從任何成功的呼叫中讀取所有相關資訊:

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'

每個回應也會包含一個唯一的 request-id Header,例如 req_018EeWyXxfu5pfWkrYcMdjWG。它會以 request_id 形式出現在錯誤主體中,並以 _request_id 形式出現在 Python 與 TypeScript SDK 的回應中。聯繫技術支援時請提供此值。

在撰寫 Backoff 迴圈之前,請先確認是否有此需求。官方 SDK 會針對暫時性錯誤(包括連線錯誤、速率限制與 5xx 伺服器錯誤)自動進行重試,並採用指數退避(Exponential Backoff)機制。預設重試 2 次,若存在 retry-after Header 則會遵循該值。每個 Client 均提供 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 高流量時。這與您的 API key 或程式碼無關。請使用指數退避 (exponential backoff) 進行重試,SDK 在處理 5xx 回應時已內建此機制;若問題持續,請檢查 status.claude.com。500 api_error 為內部錯誤,重試方式相同,兩者皆非速率限制 (rate limit)。

直接讀取您的限制,而非查閱表格

在訂閱方案中,/usage 是最重要的介面。它顯示您的方案使用量進度條,並詳細列出消耗原因;您可以使用 dw 在過去 24 小時與過去 7 天之間切換。有兩點注意事項:Session 區塊顯示 API token 使用量,主要供 API 使用者參考,因此訂閱用戶可以忽略其顯示的金額。數據是根據該裝置上的本地 session 紀錄計算,因此不會包含來自其他裝置或 claude.ai 的使用量。

在 API 端,Claude Console 中的 Usage 頁面繪製了兩張圖表:「Rate Limit - Input Tokens」與「Rate Limit - Output Tokens」。輸入圖表將每分鐘未快取(uncached)輸入 token 的每小時最大值,與您的當前 ITPM 限制進行對比,並在旁邊顯示您的快取率(cache rate),讓您能在正式環境達到限制前預先掌握趨勢。

若要透過程式方式讀取您設定的限制:

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 提供相同功能。兩者皆為唯讀:若要變更限制,請使用 Console 中的 Limits 標籤頁。

使用 less,以降低限制

兩套系統底層計費機制相同,因此以下調整方式對兩者皆有效。

  • 降低每次對話的 token 消耗。 持續的任務能保持 cache 熱度,且在不相關任務間進行 /clear 不會產生額外成本。Claude Code token usage 詳細說明了這些調整方式。
  • 降低運算強度。 階層包含 lowmediumhighxhighmax/effort 選單亦提供 ultracode,其作用是增加消耗而非降低。針對機械式的重新命名進行深度推理(Deep reasoning)並無實質效益。
  • 發生 429 錯誤後降低並行數量。 降低 CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY 並避免使用過多並行 subagents。同時執行 /status:若出現 ANTHROPIC_API_KEY,請求會經由低階 key 路由,而非使用您的訂閱方案。
  • 將非互動式工作移至 Message Batches API。 該 API 以 50% 的輸入與輸出 token 折扣,在獨立的 rate limits 下非同步處理大量任務,因此夜間作業不會與您的工作階段(session)競爭資源。

由程式而非人工驅動的突發性工作,應從一開始就使用 API key。Your first Claude API app on a VPS 涵蓋了 key 的處理與重試機制;若要讓長時間運行的 agent 在連線中斷時仍能持續運作,請參考 Claude Code running on a VPS inside tmux

FAQ

為什麼切換模型無法解決 Claude 使用量限制問題?

因為 session 與 weekly 限制是所有模型共用的。額度屬於方案而非特定模型,因此 /model 只會改變回應的模型,不會改變剩餘額度。唯一的例外是 You've hit your Opus limit,它僅適用於 Opus 請求。在該情況下,切換模型是官方建議的解決方法。

429 rate_limit_error 代表什麼意思?我該等待多久?

這代表您的帳戶觸發了該模型類別的速率限制:包含每分鐘請求數、每分鐘輸入 token 數或每分鐘輸出 token 數。回應會包含一個帶有等待秒數的 retry-after header,若在此之前嘗試重試皆會失敗。官方 SDK 已針對速率限制與 5xx 錯誤實作了 exponential backoff 機制,預設會依照該 header 進行兩次重試。若您仍在方案額度範圍內卻收到 429 錯誤,代表您觸發了突發流量導致的加速限制 (acceleration limit)。

如何查看 Claude 使用量限制與重置時間?

在 Claude Code 中,執行 /usage 可查看方案進度條、重置時間與使用量明細;/cost 為其別名,而 dw 可切換查看過去 24 小時或過去 7 天的數據。這些數據來自本地 session 紀錄,因此不包含其他裝置或 claude.ai 的使用量。在 API 端,Console 會圖表化顯示您的速率限制,而使用 Admin API key 執行 GET /v1/organizations/rate_limits 則會回傳您設定的限制值。

達到 Claude 方案限制後可以繼續工作嗎?

有時可以。在 Pro 與 Max 方案中,請執行 /usage-credits 以購買超過上限的額度;在 Team 與 Enterprise 方案中,請向管理員提出申請;此操作需要透過 /login 登入 claude.ai,且無法使用 API key 驗證。否則,請等待重置時間,若先前是 Opus 限制則請切換模型,或是將工作轉移至 API key,因為 API 是以每分鐘為單位計費,而非以特定時間窗口計費。