Claude 使用限制:觸發額度上限的處理方式
Claude 訂閱額度與 API 429 速率限制的處理方式不同。本文說明如何區分 C7、C8、C9 與 C10 錯誤訊息,並解析為何切換模型無法解決大部分的額度問題。
Claude 的使用限制為何?
Claude 的使用限制分為兩套系統,首先必須釐清是哪一套系統導致您受限。Claude 訂閱方案(Pro、Max、Team 或 Enterprise)提供一套滾動式的使用額度,該額度由各模型與 Claude 聊天功能共享;若觸發此限制,系統會顯示 You've hit your session limit · resets 3:45pm 類型的訊息。Claude API 則採用另一套衡量標準:計算每分鐘發送的請求數與 Token 數。若觸發此限制,系統會回傳 HTTP 429 錯誤,錯誤類型為 rate_limit_error,並附帶一個 retry-after 標頭,告知您需等待的秒數。
這兩者的解決方式截然不同。訂閱限制取決於您在特定時間視窗內的使用量,因此您必須等待額度重置或購買更多使用量。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 專案所設定的限制。具體適用哪一項,取決於 客戶端如何進行驗證,因為 Bedrock 或 Vertex 客戶端是根據您的雲端專案配額進行計量,而非 Anthropic 組織配額。API Error: Server is temporarily limiting requests (not your usage limit)代表與您的方案額度無關的短暫節流。Claude Code 在顯示該行訊息前,會自動透過退避機制(backoff)進行重試。
訂閱限制:工作階段、每週額度與 Opus 視窗
訂閱方案包含滾動式的用量額度。當額度耗盡時,Claude Code 會封鎖後續請求,直到訊息中顯示的重置時間為止。該額度有兩個特性最容易造成混淆。
- 此額度與 Claude 聊天共用。您在 claude.ai 進行的工作與終端機中的工作會消耗相同的額度,因此若下午在聊天中大量使用,會縮短您晚上的編碼時間。您使用該帳號登入的所有介面皆從同一個額度池扣除,因此在 Linux 上,測試版桌面應用程式與 Claude Code CLI 兩者共用同一個額度,而非各自擁有。
- 此額度跨模型共用。工作階段與每週限制並無針對個別模型的預算,唯一的例外是 Opus 限制。
在 Claude for Teams 與 Enterprise 方案中,其架構為每席位額度,並於滾動式的五小時視窗與每週視窗進行重置,該額度與 Claude 聊天及 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 生命週期為一小時,一旦開始消耗額度,生命週期會降至五分鐘,因此會有更多回合從冷啟動開始,且執行相同工作時的 Claude Code token 使用量 會隨之增加。
看似使用量限制但並非如此的訊息
有四種 Claude Code 錯誤常被誤認為使用量限制,但其實不然。
- 內容長度或自動壓縮警告並非使用量限制。當對話長度超過模型的上下文視窗時,
/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 的錯誤。413 request_too_large 是單次請求的大小限制,而非速率限制。
API 速率限制:429 錯誤的實際計算方式
Messages API 針對每個模型類別分別計算三項指標:
- 每分鐘請求數 (RPM)
- 每分鐘輸入 Token 數 (ITPM)
- 每分鐘輸出 Token 數 (OTPM)
您的組織另有支出上限,這與上述限制不同:這是 API 使用量的每月最高費用。一旦達到您所屬層級的支出上限,API 使用將暫停至下個月,除非您申請提高上限。任何重試迴圈都無法解決此問題。
四種機制決定了何時會觸發 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_tokens與cache_creation_input_tokens會計入。在大多數 Claude 模型中,cache_read_input_tokens不會計入,Claude Haiku 3.5 是文件中記載的例外。因此,快取不僅能節省成本,還能增加速率限制的餘裕。在輸出端,高max_tokens不會計入 OTPM,因為 OTPM 僅計算實際產生的 Token。 - 限制適用於組織層級。 工作區可設定較低的限制,但即使工作區限制的總和超過組織上限,組織層級的限制仍會優先適用。若您未在工作區覆寫限制,則會繼承組織的限制,而非處於無限制狀態。
名為 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 時間戳記。剩餘額度標頭會四捨五入至千位數,請將其視為概略指標。快速模式(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'每個回應皆包含一個唯一的 request-id 標頭,例如 req_018EeWyXxfu5pfWkrYcMdjWG。它在錯誤內容中顯示為 request_id,在 Python 與 TypeScript SDK 回應中則顯示為 _request_id。聯繫技術支援時請提供此編號。
在撰寫退避迴圈(backoff loop)前,請先確認是否有此必要。官方 SDK 會自動重試暫時性失敗,包含連線錯誤、速率限制與 5xx 伺服器錯誤。SDK 預設會執行兩次指數退避重試,並在偵測到 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 面臨所有使用者的高流量時。這與您的金鑰或程式碼無關。請使用指數退避(exponential backoff)機制進行重試(SDK 已針對 5xx 回應內建此機制),若問題持續,請檢查 status.claude.com。500 api_error 錯誤為內部錯誤,請以相同方式重試;這兩者皆非速率限制(rate limit)問題。
直接讀取您的限制而非查看表格
若您訂閱了服務,/usage 是關鍵畫面。它會顯示您的方案使用量長條圖以及各項目的消耗細節,並可透過 d 或 w 切換顯示過去 24 小時或過去 7 天的數據。有兩點注意事項。Session 區塊顯示的是 API token 使用量,專供 API 使用者參考,訂閱者可忽略其中的金額數字。這些數據來自該機器的本機工作階段歷史紀錄,因此來自其他裝置或 claude.ai 的使用量不會被計入。
在 API 方面,Claude Console 中的 Usage 頁面會繪製兩張圖表:「Rate Limit - Input Tokens」與「Rate Limit - Output Tokens」。輸入圖表會將每分鐘未快取輸入 token 的每小時最大值,與您目前的 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 以減少限制
兩個系統底層的計量方式相同,因此這些手段適用於兩者。
- 減少單次對話的 token 用量。 持續性的工作階段能維持快取熱度,且在無關任務之間進行
/clear不會產生額外成本。Claude Code token 使用量 完整涵蓋了這些手段。 - 降低運算負擔。 等級分為
low、medium、high、xhigh與max。/effort選單也提供ultracode,這會增加而非降低支出。針對機械性的重新命名進行深度推理並無實質效益。 - 在出現 429 錯誤後降低並發數。 降低
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY並避免使用過多平行子代理。同時執行/status:若遺留ANTHROPIC_API_KEY,請求將會透過低階金鑰而非您的訂閱方案進行路由。 - 將非互動式工作移至 Message Batches API。 此 API 以非同步方式處理大量請求,輸入與輸出 token 可享 50% 折扣,並擁有獨立的速率限制,確保夜間排程任務不會與您的互動工作階段競爭資源。
將大量資料匯入 context 的工作最容易觸發限制:若您正在 針對即時市場數據分析股票與選擇權,僅擷取每個問題所需的特定片段,其成本遠低於貼上整份報價與鏈結表格。由程式而非人工驅動的突發性工作,應從一開始就使用 API key。遷移至該方式不僅改變計費與計量模式,且 Claude API 沒有免費層級(僅提供註冊時贈送的小額點數)。您的第一個 Claude API 應用程式於 VPS 上執行 涵蓋了金鑰管理與重試機制,且當您保持 Claude Code 在 VPS 的 tmux 中執行 時,長時間運行的代理程式即使連線中斷也能持續運作。
FAQ
為什麼切換模型無法解決 Claude 的使用限制?
因為會話與每週限制是所有模型共用的。配額屬於訂閱方案而非特定模型,因此 /model 僅會改變回答的模型,不會增加剩餘配額。唯一的例外是 You've hit your Opus limit,它僅適用於 Opus 的請求。在該情況下,切換模型是官方建議的解決方案。
429 rate_limit_error 代表什麼?我該等待多久?
這表示您的帳號已達到該模型類別的速率限制:包含每分鐘請求數、每分鐘輸入 Token 數或每分鐘輸出 Token 數。回應中會包含一個 retry-after 標頭,標示需等待的秒數,過早重試將會失敗。官方 SDK 已內建速率限制與 5xx 錯誤的指數退避重試機制(預設重試兩次),並會遵循該標頭的指示。若您在未達方案限制的情況下收到 429 錯誤,則代表請求量激增觸發了加速限制。
如何查看 Claude 的使用限制與重置時間?
在 Claude Code 中,執行 /usage 可查看方案進度條、重置時間與使用量明細;/cost 為其別名,而 d 或 w 可在過去 24 小時與過去 7 天的數據間切換。這些數據來自本地會話歷史,因此不包含來自其他裝置或 claude.ai 的使用量。若使用 API,請透過 Console 查看速率限制圖表,或使用管理員 API 金鑰執行 GET /v1/organizations/rate_limits 查詢已設定的限制。
達到 Claude 方案限制後,我還能繼續工作嗎?
視情況而定。執行 /usage-credits 可在 Pro 與 Max 方案中購買超出上限的額度,或在 Team 與 Enterprise 方案中向管理員申請;此功能需透過 /login 登入 claude.ai,且無法透過 API 金鑰驗證使用。否則,請等待重置時間,若觸發的是 Opus 限制則可切換模型,或將工作轉移至 API 金鑰,API 是按每分鐘計量而非按時間窗口計量。