跳至主要內容

Claude Code v2.1.307:安全遙測事件、API 版本遷移,以及一長串 MCP 與 session 修正

Claude Code v2.1.307 新增 claude_code.safety_event OpenTelemetry 事件,記錄每一次被規則、auto 模式、hook 或 sandbox 介入的工具呼叫;新增 /claude-api api-version;並修正 HTTP MCP 工具重複呼叫、keychain 上鎖時的 MCP 驗證、大型工具結果造成的 autocompact 反覆壓縮等問題。

Claude Code v2.1.307 共有 43 條變更:24 條修正、6 條改進、5 條行為變更、4 條新增。內容集中在 MCP 可靠性、雲端與自架 runner session,以及 VS Code 擴充套件。如果你讓 Claude Code 無人值守執行,或透過 gateway 使用,這是值得更新的一版。

新功能

安全遙測事件。 新的 claude_code.safety_event OpenTelemetry 事件,會在每一次被權限規則、auto 模式、安全檢查、hook 或 sandbox 擋下、詢問或退回的工具呼叫時發出。如果你已經從 Claude Code 匯出 OpenTelemetry,這些介入現在會各自成為一筆事件,而不只是出現在 session 裡。

/claude-api api-version。 內建的 /claude-api skill 新增一個子命令,可把 Claude API 程式碼遷移到 API 版本 2026-10-21。它與 migrate、upgrade、managed-agents-onboard、prompt-audit、cost-optimize 等動作並列。

MCP 可靠性

這裡有六條與 MCP 相關:五條修正與一條延遲改進。

  • 重複呼叫消失了。 HTTP MCP 工具呼叫在連線於呼叫中途關閉時可能被送出兩次。現在只有唯讀或等冪的工具才會重試。
  • macOS keychain 上鎖不再被誤判為伺服器壞掉。 過去 keychain 上鎖時,claude -p 裡的 MCP 伺服器會顯示「needs authentication」。現在會說明原因,而且解鎖後的下一次執行就能連上,不需要重新登入。
  • 電腦睡眠不再讓伺服器永久失效。 連線過程中電腦進入睡眠的伺服器會被回報為逾時,並在 headless 執行中持續維持失敗狀態。
  • 背景任務執行時,新的一輪不再拿到過期的 SDK 工具清單。
  • 直接設定的 GitHub MCP server 的 write tools 在桌面應用的 Code 分頁會跳出表單、關閉後卻什麼都沒建立。
  • 雲端 session 回應更快——當桌面應用的某個 MCP 伺服器連不上時。這條屬於改進而非修正。

Session 與 context 修正

  • 大量 PDF 頁面、圖片或其他大型工具結果造成的 autocompact 反覆壓縮。
  • 雲端 session 的 /autocompact 在重啟後退回預設視窗。
  • 用 /clear 清掉的對話在雲端或自架 runner session 重啟後有時會回來。
  • CLAUDE_CODE_DISABLE_1M_CONTEXT 在模型是帶 [1m] 後綴的別名(例如 opus[1m])時,請求會以 model-not-found 失敗。
  • 無法解析的工具呼叫現在會重試最多兩次,才以錯誤結束該輪。
  • 同時啟動的 fork subagent 現在各自被告知哪一個啟動屬於自己,大幅降低互相搶對方工作的機率。

權限與 gateway

  • /permissions 的 Recently denied 過去不顯示被拒絕的 shell 命令,而且 auto 模式的本地分類器在重新檢查重試命令時會忽略在那裡給的核准。現在核准一列會指名該命令,而不是它的描述。
  • prompt-caching-scope beta header 不再送往自訂 ANTHROPIC_BASE_URL gateway 或 Foundry——在那裡它本來就沒有作用。
  • CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS 在 Claude apps gateway session 中被忽略。
  • 桌面應用 session 經由 Claude apps gateway 送出的遙測,在設有 OTEL_EXPORTER_OTLP_HEADERS 時會被拒絕。

值得注意的行為變更

  • axScreenReader 以及設定 env 區塊裡的 CLAUDE_AX_SCREEN_READER,現在只從 user、managed 或 --settings 設定生效。此行為自 v2.1.305 起就是如此,這次才明文記載。
  • 自架 runner 的 checkout hook 預設 30 分鐘後會被中止,並讓該 session 的設定階段失敗。若你的 hook 需要更久,調高 --checkout-hook-timeout-min 或設為 0。
  • WebSearch 額度用盡的通知現在還會告訴 Claude:不要改用瀏覽器或 computer use 去查搜尋引擎。

自架 runner 與 Code Review

  • 使用 --use-anthropic-git-proxy 的 session 不再把前一個 session 遺留在 clone 裡的 .claude/settings.local.json 提交進去。
  • 在 checkout hook 執行期間封存或重新排入 session、或停止 runner,不再讓 hook 的行程繼續跑並佔住 runner 的名額。
  • Anthropic 託管 git 所建立的憑證檔,現在會比照 CLI 篩選信任憑證,並以 [runner:warn] 一行回報被排除的數量。
  • Code Review 新增 @claude review stop(也接受 off 與 pause),可在不啟動新審查的情況下,結束某個 pull request 上的 @claude review always 訂閱。

VS Code

  • 用 Show more 展開的長 prompt 現在固定在面板的 40% 並可捲動,不再蓋住整個聊天面板。
  • 語音聽寫自行停止時(15 秒未辨識到語音,或達到兩分鐘上限)會顯示通知,說明原因並保留已輸入的文字。
  • 聽寫與擴充套件自身的請求,現在會依循 CLAUDE_CODE_CERT_STORE 以及環境或使用者設定中指定的 NODE_EXTRA_CA_CERTS 檔案,修正了在 TLS 檢查代理後方聽寫失敗的問題。
  • 貼上含 LaTeX 數學式的清單項目或表格儲存格的一部分時,不再於 rich text 編輯器中產生新的清單或表格。

命令介面未變

儘管變更日誌很長,擷取到的 CLI 介面與 v2.1.306 相同:64 個命令、327 個旗標、249 個設定鍵、391 個環境變數名稱。新的 api-version 動作位於既有的 /claude-api skill 命令之內。本站的 CLI 參考 即依此呈現。

如何更新

  1. 檢查已安裝的版本:claude --version
  2. 直接就地更新:claude update

相關連結