跳至主要內容

Claude Code v2.1.274:記憶體臨界警告、MCP 啟動等待控制與閘道維運更新

Claude Code v2.1.274 新增記憶體臨界警告、CLAUDE_CODE_MCP_STARTUP_WAIT_MS、新的 OpenTelemetry 資料,以及 Claude apps gateway 的排空與 Postgres 選項,並修正無止盡重試 tool_use_id 錯誤的問題。

Claude Code v2.1.274 是一次大型更新,變更日誌共列出 108 個項目。此版本會在記憶體使用量達到臨界時顯示明顯警告,提供限制非互動式工作階段等待 MCP 伺服器時間的方法,加入新的 OpenTelemetry 資料,並為 Claude apps gateway 帶來多項維運改進。修正範圍涵蓋卡住的工作階段、MCP 傳輸與逾時、/goal、Bash 權限檢查,以及大量 VS Code、網頁版與 Claude Tag 問題。

新功能

記憶體臨界警告

當記憶體使用量達到臨界時,Claude Code 現在會顯示明顯的警告,並提供釋放記憶體或安全重新啟動的步驟。與此相關的是,在記憶體壓力輕微的機器上,背景指令不再於閒置 30 分鐘後被停止;現在只有在記憶體嚴重不足時才會停止,且除錯記錄會說明原因。

MCP 啟動等待與用戶端預設值

CLAUDE_CODE_MCP_STARTUP_WAIT_MS 可限制第一個非互動式回合等待 MCP 伺服器連線的時間(0 = 不等待)。Bedrock、Vertex、Foundry 以及停用遙測的安裝,現在預設對直接 HTTP 伺服器使用 v2 MCP 用戶端與 MCP 2026-07-28 協商,與其他安裝的做法一致;可用 MCP_SDK_GENERATION=v1 或 MCP_PROTOCOL_NEGOTIATION=legacy 退出。.mcp.json、設定、外掛與代理檔案中的 "type": "sdk" MCP 項目現在會被略過並顯示警告,因為只有 SDK 主機應用程式才能註冊程序內伺服器。

OpenTelemetry 新增項目

  • claude_code.llm_request 追蹤 span 新增 effort 屬性,與 api_request 事件一致。
  • 新的 claude_code.managed_settings_resolved 事件會回報受管設定的來源與政策輔助程式狀態;設定 OTEL_LOG_MANAGED_SETTINGS=1 即可附上經遮蔽的設定與摘要值。
  • OTEL_LOG_RAW_API_BODIES=file:<dir> 的輸出現在包含 index.jsonl,以及 request_body_id / message.id 事件屬性,可將每個回應連結到對應的請求檔案與對話訊息。

Claude apps gateway 維運

  • store.connect_timeout_seconds 可延長 Postgres 連線逾時(預設 5 秒);資料庫無法連線時的啟動錯誤會指向 store.postgres_url 與設定的逾時;啟動時現在最多會嘗試三次建立第一個 Postgres 連線。
  • 收到 SIGTERM 時,閘道現在會讓進行中的請求最多再執行 25 秒才結束(CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS),而不是切斷所有開啟中的串流。
  • 當某個副本開啟的請求數超過它一次向上游傳送的 256 個時,閘道會發出警告,並在啟動時記錄此上限。
  • Claude Desktop 與 Cowork 透過閘道傳送的遙測資料,現在包含 IdP 主體 enduser.sub。
  • 支出上限檢查現在只需一次資料庫往返,而非四次;登入速率限制錯誤也會在 /login 與閘道記錄中說明原因。

未調校模型上更精簡的 /code-review

對於沒有專屬調校設定的模型,/code-review 現在一律改用更精簡的內嵌審查提示,而不是產生許多審查子代理。

外掛複製與 Git LFS

外掛與 marketplace 的複製現在會將 Git LFS 檔案保留為指標檔,不再下載實際內容;需要時請在該 checkout 中執行 git lfs pull 取得檔案。

VS Code:重新載入後繼續、Memory 與 Instructions

VS Code 擴充功能現在會繼續執行被視窗重新載入中斷的步驟,並在聊天中標示;可透過 Claude Code: Continue After Reload 設定關閉此行為。Customize 選單新增 Memory(自動記憶開關、已儲存的記憶與記憶資料夾)與 Instructions(編輯 CLAUDE.md 檔案)項目,新的 claudeCode.lockEditorGroups 設定則可讓 Claude 不再鎖定它所開啟的編輯器群組。

修正與改進

  • 卡住的工作階段:工作階段不再因「unexpected tool_use_id」400 錯誤而無止盡地重試;損毀的對話紀錄現在會盡可能自我修復,否則會以清楚的錯誤訊息(附 /rewind 提示)結束迴圈。
  • MCP 傳輸:設定為 http、但只支援舊版 HTTP+SSE 的伺服器,在以 422 或其他 4xx 錯誤回應第一個請求時,現在也能連線;設定了較長的個別伺服器 timeout 時,Streamable HTTP 工具呼叫也不再於約 5 分鐘後逾時。
  • MCP 錯誤與機密資訊:被以 403 insufficient_scope 拒絕的工具呼叫,不再被回報為登入過期;錯誤訊息會指出缺少的權限,並引導你透過 /mcp 重新驗證。MCP 連線錯誤與 MCP 登入工具的說明,也不再顯示從 ${VAR} 預留位置解析出的機密值。
  • /goal:在反應式壓縮後上下文再次溢出時,由 hook 驅動的工作階段(例如進行中的 /goal)現在會進行壓縮,而不是以「Prompt is too long」結束;恢復曾經壓縮過的工作階段時,進行中的 /goal 也不再遺失。
  • 代理檢視:自動更新後重新啟動時,claude agents 不再遺失 --model、--effort、--permission-mode、--allow-dangerously-skip-permissions 與 --agent。
  • Bash 權限:對某些特殊 shell 變數進行迴圈或指派的指令,現在會要求權限;以 worktree 隔離的工作階段現在會拒絕含有某些巢狀 shell 展開的 Bash 指令;在含有多位元組字元的檔案中,Edit 權限提示的預覽也不再偶爾顯示與核准的編輯不同的位置。
  • 模型選擇:在 Bedrock、Vertex 或 Foundry 上,當工作階段模型的 id 無法辨識出模型系列時,model: "opus" 的子代理不再離開工作階段的模型(除非設定了 ANTHROPIC_DEFAULT_OPUS_MODEL)。
  • Self-hosted runner:幾次 token 更新失敗後,工作階段不再每一輪都以 401 失敗;runner 會持續重試,並在收到 401 後取得新的 token。對於 git 主機在存取檢查時拒絕的唯讀儲存庫,runner 現在會略過,而不是讓工作階段啟動失敗。
  • 效能:修正語言伺服器為數千個檔案發布整個專案的診斷時,每一輪都變慢的問題。Bash 工具現在只有在外掛的 bin/ 目錄變更時,才會於外掛重新載入後重新載入 shell 設定檔;當外掛政策來自遠端受管設定時,installed_plugins.json 也不再幾乎每次啟動都被改寫。
  • 無介面模式與 SDK:已排入佇列的背景任務完成通知,現在會由一次模型呼叫統一回應,而不是每個任務各呼叫一次;--input-format stream-json 工作階段的第一個回合,也不再為了工具被工具搜尋延後載入、仍在連線中的 MCP 伺服器等待最多 2 秒。
  • 終端機輸出:在 VS Code 及其他需要 file:// URI 的終端機中,指向本機檔案路徑的可點擊連結現在能正常運作;對話紀錄也不再重新編號你自己訊息中的有序清單。
  • AskUserQuestion:預覽備註現在會附加到反白的選項,而不是先前選擇的選項;以 Enter 送出備註時也不再遺失反白的選項。
  • Hook:Stop 提示 hook 不再於對話中每次阻擋時都重送整段提示;重複的阻擋會以 500 字元的標籤說明條件。
  • Monitor 與 artifact:Monitor 腳本的最終輸出與結束現在會合併成一則通知送達,可省下一個模型回合。Artifact 工具不再要求你核准一項它隨後會拒絕的更新;以舊版本為基礎的發布會在送出前被攔下;在本機工作階段中,於別處發布的新版本也不再觸發新的回合。
  • Linux:在 Cursor 或 VS Code 終端機內執行時,Wayland 下啟動不再開啟多餘的空白編輯器視窗。
  • VS Code:擴充功能重疊寫入設定時,不再讓 ~/.claude/settings.json 無法解析或遺失設定。螢幕閱讀器現在會將每則訊息朗讀為「You」或「Claude」;在高對比佈景主題下程式碼可正常閱讀;Manage Plugins 開關與 MCP servers 對話框的各列也能透過鍵盤操作。
  • Claude Code on the web:雲端工作階段的差異檢視新增「Compare against」分支選擇器。GitHub 的 token 更新短暫出錯時,git 操作不再以「service unavailable」失敗;當擁有者的 GitHub 連線遺失時,routine 現在會略過該次執行並在最多 72 小時內重試,而不是在第一次檢查失敗時就關閉 routine。
  • Claude Tag:其他 Slack 應用程式或 bot @ 提及 Claude 時,Claude 現在會回應;像阻礙這類較晚的後續更新,現在會以會發出通知的新回覆張貼,而不是悄悄編輯先前的訊息;在單一頻道內搜尋 Slack 也不再失敗。Add channel 與 Add workspace 表單新增 Guests 設定。
  • Code Review:GitHub 或內部服務在啟動時暫時失敗時,審查不再偶爾以「Code review encountered an error」結束,而是會等待並重試。重新審查也不再偶爾讓已修正問題的討論串保持開啟。

此版本共包含 108 項變更,完整清單請參閱官方變更日誌。

如何更新

  1. 檢查已安裝的版本:claude --version
  2. 就地更新:claude update
  3. 在 Bedrock、Vertex、Foundry 或停用遙測的安裝上,與直接 HTTP 伺服器的 MCP 連線現在預設使用 v2 用戶端與 MCP 2026-07-28 協商;若要退出,請設定 MCP_SDK_GENERATION=v1 或 MCP_PROTOCOL_NEGOTIATION=legacy。若有外掛依賴 Git LFS 檔案,請在其 checkout 中執行 git lfs pull。

相關連結