Claude 529 Overloaded:含義與修復方法
Claude 529 Overloaded: What It Means and How to Fix It
Claude 529 Overloaded 是 Anthropic API 目前無法為該模型提供服務的錯誤。
- 錯誤含義:529 表示所有使用者同時對同一模型產生高流量,非使用者限額。
本文說明 529 Overloaded 的成因及重試、跨供應商備援與 fallback 模型,並提供實務範例與最佳實踐,協助開發者穩定 Claude 應用。
A 529 overloaded_error from Claude 表示 Anthropic 的 API 目前暫時無法為你所請求的模型提供容量。你的金鑰、方案與請求都正常,通常同樣的請求在幾秒鐘後即可成功。為了讓應用程式在此情況下繼續運作,先使用退避重試,再將請求送往另一個提供相同 Claude 模型的供應商。
大部分人會在 Claude Code 中遇到此錯誤,會在會話停止時顯示 API Error: Repeated 529 Overloaded errors。我們在重試範例中使用本機 API 替身來模擬過載,因為真實 API 無法隨意觸發。指南中的每一個 OpenRouter 請求都是實際的。
簡而言之
- A 529
overloaded_error表示 Anthropic 的 API 在所有使用者中對該模型已無容量。A 429 則是來自你自身使用所產生的錯誤。 - 先使用指數退避並加入隨機性重試。Anthropic 的 SDK 以及 Claude Code 已經執行此流程。
- 當過載持續時,將相同模型送往其他供應商。在 OpenRouter 上,Claude Sonnet、Opus 與 Haiku 5.5 均由五家供應商提供服務,預設路由會自動切換。
- 若所有供應商皆忙碌,請列出備援模型並加上
models。 - 在 Claude Code 中執行
ori claude以在 OpenRouter 上啟動會話並取得相同的備援。
529 過載代表什麼?
Anthropic 的 API 在某模型的流量超過其可處理量時會回傳 529。回應內容如下:
{"type": "error", "error": {"type": "overloaded_error", "message": "Overloaded"}}這個錯誤與你無關。Anthropic 的 錯誤參考 說明當 API 在所有使用者中流量高峰時會發生,任何在那一刻呼叫該模型的人都可能收到此錯誤,無論其方案為何。一位 Max‑plan 使用者 報告說 Claude Code 重新嘗試超過八分鐘後才放棄。
真正來自你方的錯誤是 429 rate_limit_error。它表示你的組織已達到自身的速率限制或消耗上限,你可以透過減慢速率或提高上限來修正。529 不是你的使用限制,Claude Code 的 錯誤參考 指出它不會計入你的配額。當 Anthropic 再次有容量時,錯誤會消失,因此你可以等待或將請求送往目前有容量的地方。接下來三個步驟皆可做到。
步驟 1:使用指數退避重試
大多數 529 會在數秒內消失,因此先進行重試。每次嘗試後稍作延遲並加入隨機性,避免多個客戶端同時重試。我們將此迴圈指向一個小型本機伺服器,該伺服器在前三次請求時回傳真實形態的 529,之後成功:
import random
import time
import requests
# The local stand-in. In production, use https://api.anthropic.com/v1/messages
URL = "http://127.0.0.1:8529/v1/messages"
def call_with_backoff(body, attempts=5):
for attempt in range(attempts):
r = requests.post(URL, json=body, timeout=60)
if r.status_code != 529:
return r
if attempt == attempts - 1:
r.raise_for_status() # out of attempts: fail now instead of sleeping again
wait = min(2 ** attempt, 30) + random.uniform(0, 1)
print(f"attempt {attempt + 1}: 529 {r.json()['error']['type']}, retrying in {wait:.1f}s")
time.sleep(wait)
r = call_with_backoff({
"model": "claude-sonnet-5-5",
"max_tokens": 64,
"messages": [{"role": "user", "content": "hi"}],
})
print(r.status_code, r.json()["content"][0]["text"])attempt 1: 529 overloaded_error, retrying in 1.9s
attempt 2: 529 overloaded_error, retrying in 2.3s
attempt 3: 529 overloaded_error, retrying in 4.0s
200 Hello! How can I help you today?第四次嘗試成功,距離第一次約八秒鐘。若你使用 Anthropic 官方 SDK,已經具備此功能。它們 以指數退避重試 5xx 錯誤,預設為兩次,你可以用 max_retries 來提升。
重試可處理短暫高峰,但當模型持續過載數分鐘時並無效,且每次等待都會增加使用者感受到的延遲。此時你需要另一個地方來傳送請求。
步驟 2:將相同模型送往另一個供應商
Claude 並非只在 Anthropic 的 API 上執行。在 OpenRouter 上,Claude Sonnet 5.5 由五家供應商提供,同樣地 Opus 5.5 與 Haiku 5.5 亦如此。以下是我們於 2026 年 10 月 21 日針對 Sonnet 5.5 呼叫 端點 API 的回傳結果:
| 供應商 | Slug | 輸入價格(每百萬 token) |
|---|---|---|
| Anthropic | anthropic | $2.00 |
| Amazon Bedrock | amazon-bedrock | $2.00 |
| Google Vertex AI | google-vertex | $2.00 (global), $2.20 (US or Europe) |
| Azure | azure | $2.00 (global), $2.20 (US) |
| Claude Platform on AWS | claude-on-aws | $2.00 |
將請求傳送到全域端點而非 Anthropic 並不改變您支付的費用。延遲和正常運作時間仍可能因供應商而異,如何評估 LLM 供應商效能說明如何進行比較。
您無需任何設定即可使用它們。當您呼叫 anthropic/claude-sonnet-5.5 時,我們的 預設路由 將請求分散到提供服務的供應商,將在過去 30 秒內發生重大停機的供應商降級,並在下一個供應商重試失敗的請求。
若您想指定首選供應商,請設定 order:
import os
import requests
body = {
"model": "anthropic/claude-sonnet-5.5",
"provider": {
"order": ["anthropic", "amazon-bedrock", "google-vertex"],
"allow_fallbacks": True,
},
"messages": [{"role": "user", "content": "Reply with the word ok."}],
"max_tokens": 16,
}
r = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
json=body,
timeout=120,
headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
)
data = r.json()
print(r.status_code, data["model"], data["provider"])200 anthropic/claude-sonnet-5.5 AnthropicAnthropic 已回應,因此未發生備援。每個回應中的 provider 欄位會標示提供服務的供應商,讓您的日誌能顯示流量何時離開 Anthropic。設定 order 可關閉預設負載平衡。請求將依照您的清單而非健康排名執行,且僅在您列出的供應商失敗後才移至其餘供應商。
有兩項設定可停止備援,若您仍看到 529 錯誤,值得檢查:
"allow_fallbacks": false會將請求限制在您列出的供應商上。若它們皆已超載,您將收到錯誤。"only": [...]限制哪些供應商可以提供服務。若皆無供應商能提供該模型,請求將在啟動前失敗。
我們將 only 設為 ["openai"] 以觀察該失敗的樣貌:
import json
import os
import requests
body = {
"model": "anthropic/claude-sonnet-5.5",
"provider": {"only": ["openai"]},
"messages": [{"role": "user", "content": "Reply with the word ok."}],
"max_tokens": 16,
}
r = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
json=body,
timeout=120,
headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
)
print(r.status_code)
print(json.dumps(r.json(), indent=2))404
{
"error": {
"message": "No allowed providers are available for the selected model. Providers serving anthropic/claude-sonnet-5.5-20260928: google-vertex, amazon-bedrock, azure, claude-on-aws, anthropic, but your request's provider.only preference permits only: openai.",
"code": 404,
"metadata": {
"available_providers": [
"google-vertex",
"amazon-bedrock",
"azure",
"claude-on-aws",
"anthropic"
],
"requested_providers": [
"openai"
],
"routing_funnel": [
{
"step": "Initial Endpoints",
"endpoint_count": 8
},
{
"step": "Filter by Regional Surcharge",
"endpoint_count": 5
}
],
"failed_routing_step": "Filter by Allowed Providers"
}
}
}錯誤訊息會列出所有可能提供服務的供應商,您可以將需要的 slug 直接複製到您的 only 清單中。
步驟 3:新增備援模型
若某模型的所有供應商同時繁忙,例如新版本發布後需求激增,則可使用第二個模型作為備援。以 models 列出模型順序,並以與步驟 2 相同的方式送出請求:
body = {
"models": ["anthropic/claude-sonnet-5.5", "anthropic/claude-haiku-5.5"],
"provider": {
"order": ["anthropic", "amazon-bedrock", "google-vertex"],
"allow_fallbacks": True,
},
"messages": [{"role": "user", "content": "Reply with the word ok."}],
"max_tokens": 16,
}200 anthropic/claude-sonnet-5.5 AnthropicSonnet 可用,因此它回應。若它在所有供應商都失敗,我們會將請求送至 Haiku 5.5,且回應中的 model 欄位會標示它。模型備援 將在第一個模型發生任何錯誤時觸發,包括速率限制、停機與上下文長度錯誤。若清單中的最後一個模型也失敗,您將收到其錯誤。
挑選足以完成您任務的備援模型。較小的模型如 Haiku 5.5 適合簡短摘要或分類等日常工作,我們的 最低成本推論指南 介紹如何找出仍能完成任務的最便宜模型。若工作只能由較大型模型良好處理,請依賴第二個供應商及重試,而非較小的備援。
如何在 Claude Code 中修復 529 錯誤?
Claude Code 已經為你完成了步驟 1。它 會以指數退避方式重試暫時失敗最多 10 次,只有當重試用完後才顯示 API Error: Repeated 529 Overloaded errors。你可以用 CLAUDE_CODE_MAX_RETRIES 變更次數,但當模型忙碌時,更多重試只會延長等待時間。最快的修復方法不需要任何設定,就是執行 /model 並切換模型,因為 Anthropic 會追蹤每個模型的容量。
若想保留您選擇的模型,請在 OpenRouter 上執行 Claude Code,這將加入步驟 2。最快的方式是 Ori Harness,它會在您的機器上啟動已配置 OpenRouter 設定的 Claude Code:
curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash
ori claude --model anthropic/claude-sonnet-5.5Ori 會開啟瀏覽器,讓您以 OpenRouter 帳戶登入,無需建立或貼上 API 金鑰。僅以 ori claude 開啟的會話會在 OpenRouter 上執行,純粹的 claude 仍如以往運作。
若想手動設定,請設定三個環境變數:
export ANTHROPIC_BASE_URL="https://openrouter.ai/api"
export ANTHROPIC_AUTH_TOKEN="$OPENROUTER_API_KEY"
export ANTHROPIC_API_KEY="" # must be empty如果您已使用 Claude 帳號登入,請執行 /logout 一次並重新啟動,讓變數生效。我們的 Claude Code 指南 建議將 Anthropic 設為首選供應商,因為 Claude Code 保證能與其正常運作。當 Anthropic 過載時,請求會切換到其他提供相同模型的供應商。
我們以此方式執行 Claude Code 九次,針對一個小型除錯任務,使用 Opus、Sonnet 與 Haiku 5.5,每一次會話皆完成。Claude Code 與 OpenRouter 覆蓋其餘設定,包括為每個角色挑選模型。
常見問題
529 錯誤是我的錯嗎?
不是。529 表示 Anthropic 的 API 在該模型上已達到所有使用者的容量。您的金鑰、方案與請求都正常。429 是由您自身使用造成的錯誤。
Claude 529 會持續多久?
通常只會持續幾秒鐘,這也是為什麼使用退避重試可以修復大多數情況。當需求激增時,過載可能持續數分鐘,這時將請求轉發至其他供應商會有所幫助。
付費方案或更高等級會阻止 529 錯誤嗎?
不是。更高等級會提高您的速率限制,從而避免 429,但 529 來自模型的總需求。由多個供應商提供模型才是降低風險的關鍵。
如何確認 Claude 是否停機?
Anthropic 在 status.claude.com 釋出事件,舊的 status.anthropic.com 會重定向至此。在 OpenRouter 上,每個模型的頁面都會顯示所有供應商的近期正常運作時間,例如 Claude Sonnet 5.5。
下一步
- Ori Harness 只需一個指令即可在 OpenRouter 上執行 Claude Code 與其他代理 CLI。
- Provider routing 包含
order、allow_fallbacks、only以及按價格或吞吐量排序。 - Model fallbacks 列出觸發回退的條件以及如何排序模型。
- Uptime optimization 說明我們如何追蹤供應商健康狀態。
- OpenRouter failover and fallbacks explained 展示供應商故障轉移與模型回退如何協同運作。
- Keep your agent running when models disappear 處理此問題的長期版本,即模型被淘汰時。