1418 字
7 分鐘

Claude Code 2.1.275 出現 advisor_20260301 400?先升到 2.1.276

如果你在 2026 年 9 月 18 日更新 Claude Code 後,所有請求都在 proxy 或 gateway 回傳類似下面的錯誤:

400 ... Input tag 'advisor_20260301' ...

先不要把它當成一般 API key、網路或 prompt 問題。Claude Code 官方在 v2.1.276 的 release notes 明確記錄:v2.1.275 曾造成 ANTHROPIC_BASE_URL 指向 proxy 或 gateway 時,每個請求都失敗;v2.1.276 修正這個回歸。

本文處理的是這個很窄的症狀:版本是 2.1.275 附近、所有請求都失敗、錯誤包含 advisor_20260301,而且請求經過自訂代理路徑。其他 400 錯誤仍要依照代理、帳號與 API 回應內容另外排查。

先用三個條件確認是不是同一個問題#

檢查符合時代表什麼
claude --version 顯示 2.1.275 或剛更新過的版本可能落在官方記錄的回歸版本
每個請求都失敗,而不是單一 prompt 失敗比較像 client/代理協定層問題
response 提到 advisor_20260301,且設定了 ANTHROPIC_BASE_URL和 v2.1.275 的已知 proxy/gateway 回歸相符

如果只有某個模型、某種 prompt 或某個 workspace 失敗,先不要直接套用本文結論。先保存不含 token、prompt 內容與個資的錯誤摘要,並用一個空白測試請求確認範圍。

最短修復路徑:更新後走同一個 proxy 重測#

官方 release note 的修復版本是 v2.1.276。因此安全的第一步是更新 Claude Code,再確認實際執行的 binary 已經切換:

Terminal window
claude --version
claude update
claude --version

如果你的 Claude Code 是由套件管理器、企業軟體目錄或自動部署流程安裝,請使用那個安裝來源的更新方式;重點不是某一個指令,而是最後執行的版本至少是 2.1.276,或更晚的修正版。

更新後不要先移除 proxy,也不要改成另一個 API endpoint 來「證明」問題消失。用同一個 ANTHROPIC_BASE_URL、同一組非敏感測試 prompt 和同一個 workspace 重測,才能知道原本的代理路徑已恢復。

不暴露秘密的本機確認#

在 macOS 或 Linux,可以先確認版本、binary 路徑和代理變數是否存在;不要把完整 URL、query string 或環境變數值貼到 issue:

Terminal window
claude --version
command -v claude
claude doctor
if [ -n "${ANTHROPIC_BASE_URL:-}" ]; then
echo "ANTHROPIC_BASE_URL is configured"
else
echo "ANTHROPIC_BASE_URL is not configured"
fi

Windows PowerShell 可用:

Terminal window
claude --version
Get-Command claude
claude doctor
if ($env:ANTHROPIC_BASE_URL) {
'ANTHROPIC_BASE_URL is configured'
} else {
'ANTHROPIC_BASE_URL is not configured'
}

若版本輸出已是 2.1.276,卻仍看見同一個錯誤,下一個檢查點是「你更新的 binary 是否就是實際執行的 binary」。command -vGet-Command、企業 wrapper 和 shell cache 都可能讓終端仍呼叫舊版本;完成檢查後重開 shell,再用同一個命令確認。

更新後仍失敗,怎麼切開問題#

若已確認版本和執行路徑,請依序保留以下證據:

  1. Client 版本:記錄 claude --version,不要只記「已更新」。
  2. 代理是否存在:只記錄 ANTHROPIC_BASE_URL 已設定,不要公開完整值或 credential。
  3. 錯誤摘要:保留 HTTP status、錯誤 tag 與 request timestamp;移除 prompt、token、header 與個資。
  4. 代理觀測:在 proxy 的安全 log 中確認 request 是否有被改寫、拒絕或轉送到錯誤的 upstream。
  5. 最小重現:用不含專案內容的簡短測試請求,在同一個 endpoint 再試一次。

這時不要把所有 400 都歸因於 2.1.275 回歸。若錯誤已改成 authentication、model not found、payload schema 或 upstream timeout,就應回到企業 proxy/gateway 文件檢查 header、路由與支援的 API 版本。Anthropic 的 proxy 文件也提醒,代理設定需依安裝方式和組織網路政策配置,不能只靠客戶端重試。

團隊部署時的防呆#

如果團隊用集中式安裝或容器執行 Claude Code,可以把以下檢查放在更新流程:

  • 2.1.276 或更晚版本設為 proxy 使用者的最低版本。
  • 在 CI 或開發環境用固定的無敏感測試請求,經過真實 proxy path 做 smoke test。
  • 只在內部安全 log 紀錄 client version、proxy route、status 與 timestamp。
  • 文件中明確說明 ANTHROPIC_BASE_URL 是否由 shell、wrapper、container 或管理工具注入。
  • 不要用「直接連 Anthropic 成功」取代「經過公司 proxy 成功」的驗證。

這類 regression 的處理重點是讓版本、binary 和代理路徑可觀測。只貼一張 IDE 錯誤截圖,通常無法分辨是舊 client、代理重寫,還是 upstream 本身拒絕。

結論#

advisor_20260301 400 的最短判斷路徑是:確認 Claude Code 是否在 2.1.275、確認每個請求都失敗且經過 ANTHROPIC_BASE_URL,然後升級到 v2.1.276,再用同一個 proxy 路徑重測。修復版本只針對官方記錄的回歸;如果錯誤內容或失敗範圍不同,就要把它當成另一個代理或 API 問題處理。

常見問題#

Q: 我只看到一般的 HTTP 400,也要升級嗎?#

A: 可以確認版本是否最新,但不要直接把一般 400 判定成同一個回歸。本文的證據條件是 advisor_20260301、每個請求失敗,以及請求經過 ANTHROPIC_BASE_URL proxy 或 gateway。

Q: 升級後可以把 ANTHROPIC_BASE_URL 拿掉嗎?#

A: 不要把移除代理當成正式修復。若組織需要 proxy、稽核或網路隔離,應保留原路徑,用同一個代理做更新後 smoke test;只有在網路政策允許時,才把直連當成額外的隔離測試。

Q: 可以把完整錯誤 log 貼到公開 issue 嗎?#

A: 先遮掉 API key、Authorization header、完整 endpoint、prompt、workspace 路徑、個資和可能包含 query secret 的 URL。通常只需要版本、status、錯誤 tag、時間與代理路徑類型就足以開始排查。

參考資料:

Claude Code GitHub Release:v2.1.276

Claude Code Docs:Getting started

Claude Code Docs:Troubleshooting

Anthropic Docs:Claude Code with corporate proxy

Claude Code 2.1.275 出現 advisor_20260301 400?先升到 2.1.276
https://laplusda.com/posts/claude-code-2-1-276-proxy-400-regression/
作者
Zero
發佈於
2026-09-19
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。