SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor

Claude 使用限制達上限怎麼辦?訂閱與 API 429 處理方式

切換模型只對特定模型系列上限有效。了解 `You've hit your session limit`、每週限制與 API 429 速率限制的差異,以及等待、降速或重設額度的下一步。

Claude 的使用限制是什麼?

Claude 的使用限制分為兩套系統。首先要判斷是哪一套系統阻止了你的請求。Claude 訂閱方案(Pro、Max、Team 或以席位計費的 Enterprise)會提供跨模型共用的滾動使用額度,但部分模型系列另有上限;此額度也會與 Claude chat 共用,因此用盡時會顯示類似 You've hit your session limit · resets 3:45pm 的訊息。目前採用按使用量計費的 Enterprise 方案例外:這類方案不包含使用額度,自第 1 個 token 起即按照 API 費率計費。Claude API 衡量的是另一項限制:每分鐘可傳送的請求數與 token 數。超過限制時會傳回類型為 rate_limit_error 的 HTTP 429 錯誤,通常也會在 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 請求的訂閱方案限制。切換至 Opus 系列以外的模型即可繼續使用。
  • You've hit your Sonnet limit · resets 3:45pm 是相同類型的模型系列限制,但僅適用於 Sonnet 請求。切換至 Sonnet 系列以外的模型即可繼續使用。
  • 以 Fable limit reached 開頭的訊息表示你已用完每週額度中可由 Fable 模型使用的部分。繼續使用 Fable 會扣除使用額度,因此 Claude Code 會先要求你確認。使用 /model 選取其他模型,即可維持在方案額度內。
  • 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 會先自動以退避機制重試,之後才顯示該行訊息。

訂閱限制:工作階段、每週與 Opus 視窗

Pro、Max、Team 或以 seat 計費的 Enterprise 方案都包含滾動式用量額度。額度用盡後,Claude Code 會封鎖後續請求,直到訊息中顯示的重設時間。這項額度有兩個特性最容易造成混淆。

  • 額度與 Claude chat 共用。在 claude.ai 上進行的工作,會與終端機中的工作使用同一份額度,因此下午大量使用 chat,會縮短晚上的程式撰寫時間。使用該帳戶登入的所有介面都會消耗同一個額度池,因此在 Linux 上,beta 桌面應用程式與 Claude Code CLI 共用一份額度,而不是各自擁有一份。
  • 額度跨模型共用。工作階段與每週限制適用於所有模型,且共用同一個額度池。例外是額度池內依模型系列設定的上限,包括 Opus 與 Sonnet 限制;Max 與 Premium seat 另有 Fable 額度,最高可達每週限制的 50%。Pro 與 Standard seat 的方案限制完全不包含 Fable,從第一個請求起便會從用量點數扣款。

Claude for Teams 與以 seat 計費的 Enterprise 所記載的額度形式,是每個 seat 各有一份額度,並在滾動式五小時視窗與每週視窗重設。額度與 Claude chat 及 Cowork 共用,並依 seat 層級(Standard 或 Premium)設定大小。現行依用量計費的 Enterprise 方案則不同:沒有可用盡的內含額度,使用量依 API 費率計費;上限取決於管理員在組織層級及個別使用者層級設定的支出限制。在由業務協助的方案中,因支出限制而停止的用量,會在下一個計費週期開始時恢復,除非 owner 先提高限制。在 self-serve 方案中,預付額度餘額用盡時也會停止用量,直到 owner 購買更多額度為止。Pro 與 Max 顯示在訊息中的重設時間,以及你自己的 /usage 橫條,才是可靠數據,不是從部落格文章抄來的數字。如果你仍在選擇層級,需要哪個 Claude 方案可比較各方案的限制範圍。

為何使用 /model 切換模型無法恢復工作階段或每週限額

這是最常見的錯誤作法,而且文件已明確說明:工作階段與每週限額由所有模型共用,因此切換模型不會恢復存取權。工作階段額度用盡後改用較小的模型,只會改變回應所使用的模型,不會改變剩餘額度。這是因為工作階段與每週額度並非按模型分開計算,因此切換模型不會釋放額度。

例外是模型系列的上限。如果訊息顯示 You've hit your Opus limit 或 You've hit your Sonnet limit,正確的處理方式是 /model。切換到該系列以外的模型即可繼續工作,因為遭到封鎖的只有該系列的請求。Max 和 Premium 方案的 Fable 限額也是相同情況:切換到其他模型,即可在方案額度內繼續工作;或者使用 usage credits 繼續使用 Fable。不過,Fable 消耗共用每週額度的速度比其他模型快,因此達到 Fable 限額後切換模型,仍無法超過整體每週限額。

把限額視為錯誤是第二個常見的錯誤作法。重新安裝或重新驗證身分都不會改變任何事情。額度會在限額週期重設、使用免費限額重設,或購買 usage credits 後恢復。

遇到訂閱用量上限時的處理方式

  1. 先查看重設時間。工作階段視窗很短,每週視窗則不適合一直坐在桌前等待。在 Claude Code v2.1.234 或更新版本中,/rate-limit-options 可以等待重設,並自動繼續執行中斷的工作。
  2. 如果達到的是 Opus、Sonnet 或 Fable 的上限,執行 /model,然後選擇該系列以外的模型。
  3. 執行 /usage 查看方案上限、目前用量及重設時間。/cost 是相同畫面的別名。
  4. 在 claude.ai 或 Claude Desktop 中開啟 Settings > Usage,查看 Resets 區段。符合資格的方案偶爾會提供免費重設用量上限的選項。按一下 "Reset for free" 後,五小時工作階段上限或每週上限會依優惠涵蓋的項目立即恢復為完整額度。Claude Code 的終端機或 IDE,以及 Claude Mobile 都不提供這個按鈕,而且每項優惠都有期限。
  5. 執行 /usage-credits,即可繼續使用服務而不受上限限制。在 Pro 和 Max 方案中,這會開啟帳單設定。在 Team 和 Enterprise 方案中,這會開啟組織的用量設定;如果你沒有帳單存取權,則會向管理員提出請求。
  6. 如果每週都遇到相同的限制,表示目前方案不符合你的工作方式。與其每次重設時才處理,不如先評估突破用量上限的方法。

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

使用量點數有一項值得先了解的影響。預設情況下,當 Claude Code 使用訂閱方案包含的用量時,會為主要對話提供一小時的提示快取;開始使用點數後,快取時間會降為五分鐘。因此,後續對話較常需要重新建立快取,而相同工作所需的 Claude Code token 用量也會增加。子代理程式不計入主要對話的用量區間,因此即使方案用量尚未用罄,也只會取得五分鐘的快取時間。在 Claude Code v2.1.242 或更新版本中,使用 promptCacheTtl 設定或 CLAUDE_CODE_PROMPT_CACHE_TTL 自行選擇 TTL,即使使用點數,也能維持一小時的快取期限。

看似使用量限制、實際上不是的訊息

Claude Code 有 4 種錯誤會被回報為使用量限制,但其實都不是。

  • context 或 auto-compact 警告不是使用量限制。/context 會輸出類似 Context exceeds the 200k-token limit by 94k tokens 的訊息,接著顯示可釋放空間的命令;這通常發生在對話超過模型的 context window 後。壓縮會摘要較早的對話記錄,以釋放空間,但這並非免費:/compact 會讀取要摘要的對話,因此壓縮大型 context 本身也會對方案產生大型請求。若要重新開始而不是保留對話內容,/clear 不會產生費用。
  • Prompt is too long · automatic compaction failed: <the underlying error> 表示自動壓縮本身失敗,錯誤原因會列在訊息中。/compact 會持續因相同錯誤失敗,直到你解決該問題為止。
  • Credit balance is too low 表示你的 Console 組織已用完預付額度,或 Claude Code 正透過 Console API key 傳送訂閱者的請求;/status 會顯示目前使用的憑證。在 platform.claude.com/settings/billing 新增額度;該頁面也提供自動重新載入功能。
  • API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context 是 entitlement 檢查,不是配額用盡。如果你選取了 Opus 4.6 或 Sonnet 4.6 的 [1m] 變體,請改選不含 [1m] 後綴的變體,或設定 CLAUDE_CODE_DISABLE_1M_CONTEXT=1。如果這個訊息在對話中途出現,原因是 context 超過 200K tokens;Claude Code 會自行將內容壓縮回標準限制以下。Sonnet 5 及後續版本、Opus 4.7 及後續版本、Haiku 5.5,以及 Fable models 原生使用 1M window,沒有可移除的後綴;限制它們使用 200K 的是該變數。

另一種錯誤來自 API。413 request_too_large 是單一請求的大小限制,不是速率限制。

API 速率限制:429 實際計算的是什麼

Messages API 會針對每個模型類別,分別計算以下 3 項指標。

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

您的組織也有支出限制,但這是另一項設定:API 使用量每月可產生的最高費用。達到所屬層級的支出上限後,API 使用會暫停,直到下個月開始,除非您申請提高上限。這同樣會回傳 429 rate_limit_error,但不會包含 retry-after 標頭,且 enforced_spend_limit_reached 會出現在 error.details.error_code 中。任何重試迴圈都無法解決此問題。您在 Console 中自行設定的較低支出限制,會以另一種方式呈現:請求會回傳 HTTP 400 invalid_request_error,且訊息會以 You have reached your specified API usage limits 開頭。提高或移除該限制後,即可恢復存取。

以下 4 項機制會決定何時收到 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 這些層級會決定實際數值,系統會根據您的使用歷程與帳戶狀態自動指派。新組織及使用歷程較少的組織,可能會先處於 Evaluation 層級,其限制低於標準公布值,因此第一次收到 429 的時間可能早於表格預測。使用量若突然增加,會觸發加速限制;即使尚未超過所屬層級,仍可能回傳 429,因此請逐步提高流量。所有公布數值都是上限:文件列出的限制代表允許的最高使用量,不是保證的最低額度。若要申請提高限制,請在 Claude Console 的 Rate limits 頁面使用 "Request tier 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 是可以重試請求前必須等待的秒數。提早重試會失敗。並非每個 429 都會包含此標頭,且 spend-cap 429 絕不會包含。
  • 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-* 顯示目前生效限制中最嚴格者的數值。

Reset 標頭使用 RFC 3339 時間戳記。Remaining token 標頭會四捨五入至最接近的千位數,因此應將其視為概略指標。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 迴圈前,先確認是否真的需要。官方 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 面臨所有使用者的高流量時。這與您的金鑰或程式碼無關。請使用指數退避(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」。Input 圖表會將未快取 input tokens 每分鐘的每小時最大值,與目前的 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 憑證:Admin API key、具備 org:admin scope 的 OAuth token,或未限定 workspace 的 personal key 或 service account key。Workspace API key 無法使用。GET /v1/organizations/workspaces/{workspace_id}/rate_limits 可針對各 workspace 執行相同操作。兩者皆為唯讀;若要變更限制,請使用 Console 中的 Rate limits 頁面。

少用一些,因此較少觸及限制

兩個系統底層計算的是相同項目,因此這些調整方式都適用於兩者。

  • 每回合使用較少 token。 連續工作可維持快取有效,而在不相關的工作之間使用 /clear 不會產生成本。Claude Code token 使用量完整說明了這些調整方式。
  • 降低 effort。 可用等級為 low、medium、high、xhigh 和 max。/effort 選單也提供 ultracode,但這會提高用量,而不是降低用量。對機械式重新命名使用深度推理沒有任何效益。
  • 收到 429 後降低並行數。 降低 CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY,並避免同時執行許多子代理程式。也執行 /status:遺留的 ANTHROPIC_API_KEY 會讓請求改由低階 key 路由,而不是使用你的訂閱。
  • 將非互動式工作移至 Message Batches API。 它會以非同步方式處理大量工作,輸入與輸出 token 均可享有 50% 折扣,並使用獨立的速率限制,因此夜間工作不會再與你的工作階段競爭。

將大量資料載入 context 的工作最容易遇到這個問題:如果你正在根據即時市場資料分析股票與選擇權,每個問題只擷取所需的狹窄資料範圍,成本會遠低於貼上完整的報價表與選擇權鏈。由程式而非人員驅動的突發性工作,一開始就應使用 API key。移轉後不只計量方式會改變,付款方式也會改變,因為Claude API 沒有免費方案。Max 和 Team 方案在你連結 Console 組織後,確實會提供每月 API 點數,供你執行自有的應用程式與代理程式。這些點數不適用於 Claude Code,也不會改變方案的用量限制。在 VPS 上建立第一個 Claude API 應用程式涵蓋 key 管理與重試;如果你讓 Claude Code 在 VPS 的 tmux 內執行,長時間的代理程式工作即使連線中斷也能持續。

FAQ

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

因為工作階段與每週限制會套用至所有模型。這項額度屬於方案,而非特定模型,因此 /model 只會改變回答所使用的模型,不會改變剩餘額度。例外是模型系列限制:You've hit your Opus limit 與 You've hit your Sonnet limit 只適用於該系列,而 Max 和 Premium 方案的 Fable 限制則只會限制 Fable。在這些情況下,切換模型就是文件建議的解決方式。

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

這表示您的帳戶觸發了該模型類別的速率限制,包括每分鐘請求數、每分鐘輸入 token 數,或每分鐘輸出 token 數。回應通常會包含 retry-after 標頭,指出需要等待的秒數;過早重試會失敗。官方 SDK 預設會以指數退避重試速率限制與 5xx 錯誤 2 次;若回應包含該標頭,也會依其指定時間等待。若您仍在方案層級限制內,卻收到 429,通常表示流量突然增加而觸發加速限制。若 error.details.error_code 中包含 enforced_spend_limit_reached,且從未帶有 retry-after 標頭,這表示已達每月支出上限;等待幾分鐘無法解除這項限制。

如何查看 Claude 使用量限制,以及限制何時重設?

在 Claude Code 中執行 /usage,即可查看方案用量列、重設時間與使用量明細;/cost 是別名,而 d 或 w 可在最近 24 小時與最近 7 天之間切換。這些數據來自本機工作階段記錄,因此不包含其他裝置及 claude.ai 的使用量。使用 API 時,Console 會顯示您的速率限制圖表;使用 Admin API 憑證(例如 Admin API key)時,GET /v1/organizations/rate_limits 會回傳已設定的限制。

達到 Claude 方案限制後,還能繼續工作嗎?

有時可以。在 Pro 和 Max 方案中,執行 /usage-credits 可購買超出上限的使用量;在 Team 和 Enterprise 方案中,則可向管理員提出請求。此功能需要透過 /login 登入 claude.ai,且不適用於 API key 驗證。否則,請等待重設時間;如果 claude.ai 或 Claude Desktop 的 Settings > Usage 提供免費重設額度,也可以使用該額度;若觸發的是 Opus、Sonnet 或 Fable 限制,則可切換模型;或者改用 API key,因為 API key 依每分鐘計量,而非依每個時間視窗計量。