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-scopebeta header 不再送往自訂ANTHROPIC_BASE_URLgateway 或 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 參考 即依此呈現。
如何更新
- 檢查已安裝的版本:
claude --version - 直接就地更新:
claude update