跳至主要內容

Claude Code v2.1.305:修正工具搜尋回歸問題、Linux 沙箱支援巢狀使用者命名空間,以及用量限制重新檢查

Claude Code v2.1.305 修正 2.1.304 在工具搜尋遭拒時導致每個請求都失敗的回歸問題,新增 sandbox.allowNestedUserNamespaces 與無人值守重試的用量限制重新檢查,並改進 /usage。

Claude Code v2.1.305 的變更日誌共列出 38 個項目。此版本修正了 2.1.304 的回歸問題(工具搜尋遭拒時,Vertex、Bedrock 與其他供應商上的每個請求都會失敗),新增 Linux 沙箱的巢狀使用者命名空間選項與無人值守重試模式的用量限制重新檢查,並調整 allowedMcpServers 對部分受管 stdio 伺服器的處理方式。此外,/usage 的警告現在可以直接套用修正,worktree、MCP、螢幕閱讀器模式與 self-hosted runner 的問題也獲得修正。

新功能

工具搜尋回歸問題修正

自 2.1.304 起,當端點或閘道拒絕工具搜尋時,以及在不允許 ToolSearch 或未將其列入 --tools 的閘道後方,Vertex、Bedrock 與其他供應商上的每個請求都會失敗。Claude Code 現在會在這些情況下改為不使用工具搜尋重試。

Linux 上的 sandbox.allowNestedUserNamespaces

新的 sandbox.allowNestedUserNamespaces 選項讓 Linux 上沙箱中的指令可以建立使用者命名空間,例如供 Chromium 或 rootless podman 使用。變更日誌也指出,這會讓這些指令得以繞過沙箱的檔案保護。

無人值守重試的用量限制重新檢查

新的 CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS 變數,讓無人值守重試模式(CLAUDE_CODE_RETRY_WATCHDOG)能察覺在重置之前就已解除的用量限制。

受管 MCP 伺服器與外掛的 allowed-tools

allowedMcpServers 不再過濾僅在 env 中使用 ${VAR} 的 managed-mcp.json stdio 伺服器,因此先前被您的允許清單排除的這類伺服器,升級後會開始載入;若要讓它保持關閉,請使用 deniedMcpServers。另外,當您組織的受管設定設定了 allowManagedPermissionRulesOnly 時,Claude Desktop 以路徑掛載的外掛將不再保留其 allowed-tools。

/usage 中可直接修正的警告

/usage 中的每個警告現在都是一行標示來源的修正,按下 f 即可套用這些修正。相同的修正也會出現在 VS Code 與 /doctor 中。

/artifacts 刪除確認

/artifacts 的刪除確認現在以 1 或 Enter 保留、2 刪除、Esc 取消;y 與 n 不再能回答此確認。

修正與改進

  • 模型覆寫:當模型名稱與 modelOverrides 中的值僅在大小寫或 [1m] 標記上不同時,/effort 與 /autocompact 設定現在也會套用。
  • Worktree:在 bare 儲存庫中新建的 worktree,不再有時從本機 HEAD 而非預設分支開始;未變更的子代理 worktree 也不再有時沒有被清理。
  • Bash:磁碟已滿時,Bash 指令不再以原始的 ENOSPC 檔案路徑失敗;錯誤訊息現在會說明磁碟已滿,且沒有執行任何內容。
  • MCP:由雲端會話或 SDK 的 setMcpServers 傳入的 MCP 伺服器,不再於會話後段被您自己設定中同名的伺服器取代;MCP 同意對話框也較不容易把原本要給提示的 Enter 當成 Accept。
  • 子代理:子代理切換到備援模型後,Claude 不再說錯該子代理工作所使用的模型。
  • 壓縮:當壓縮為了容納而必須將最舊的訊息排除在摘要之外時,雲端會話與 teammate 現在會告知 Claude。
  • 工作流程:Workflow 恢復時不再重新執行已完成的 pipeline() 與 parallel() 代理,而是從該次執行的日誌中提供結果。
  • Remote Control:使用 /resume 切換對話後,Remote Control 不再在 /resume 中留下空白的「(session)」項目。
  • 終端機介面:在狹窄的終端機中,/usage 的列不再被截斷。啟動警告不再以原始文字印在 logo 上方,而是寫入除錯日誌;不限制任何內容的權限規則,則會以警告列顯示在橫幅下方。
  • 螢幕閱讀器模式:搜尋框現在會讀作「Search:」,而不是被 VoiceOver 念成「telephone recorder」的符號;反白的提示文字(例如 Ctrl+R 搜尋結果與「ultrathink」)也不再在單字中間出現空格。
  • Mod:mod 的 Image 現在可在 iTerm2 3.5 及更新版本的全螢幕渲染下繪製圖片,先前只會顯示其 alt 文字。
  • Self-hosted runner:只與 runner 或 orchestrator 共用 stdout 的啟動腳本,在設定 TERM 時不再以 Resource temporarily unavailable 失敗(2.1.300 的回歸問題);當 git credential helper 或 askpass 程式透過 GIT_CONFIG 讀取設定時,儲存庫存取也不再失敗(自 2.1.296 起的問題)。
  • VS Code:在 SessionStart 或 Setup 掛鉤執行期間,現在會顯示「Running start-up hooks」轉圈狀態,並提供螢幕閱讀器播報。
  • Claude Tag:在 Slack 討論串中設定的 routine,不再於對話結束後回報成功卻沒有發文;這類執行現在會被略過,並通知建立者。
  • Code Review:當審查期間有多次推送到同一個 pull request 時,Code Review 不再有時沒有審查最新的 commit;在先前的阻擋性發現仍未解決時,重新審查也不再以 LGTM 開頭。

此版本共包含 38 項變更;所有項目請參閱完整變更日誌。

如何更新

  1. 檢查已安裝的版本:claude --version
  2. 直接就地更新:claude update
  3. 如果您的 allowedMcpServers 允許清單排除了僅在 env 中使用 ${VAR} 的 managed-mcp.json stdio 伺服器,這些伺服器在升級後會開始載入;若要讓它們保持關閉,請將它們加入 deniedMcpServers。

相關連結