跳到主要內容
maxstudioNews
產品DEV Community (Claude Code)約 10 分鐘

Claude Code 2.1.293 至 2.1.302 版本更新:值得啟用的重要設定

Claude Code 在 2.1.293 至 2.1.302 版本間進行了八次更新,其中最關鍵的變動包含閒置壓縮功能、掛鉤並行上限與預設啟用的分叉子代理。此外,Sonnet 5.5 快取讀取費用減半,Haiku 5.5 也成為預設模型,並新增了掛鉤失敗時的阻擋選項。這些更新讓使用者能更有效管理成本、提升快取命中率,並強化掛鉤的安全性。

Claude Code 2.1.293 至 2.1.302 版本更新:值得啟用的重要設定
圖片來源:DEV Community (Claude Code)

Claude Code 從 2.1.293 到 2.1.302 版本,最重要的三項變更分別是閒置壓縮(2.1.299)、12 個掛鉤並行上限加上無頭模式下預設開啟的分叉子代理(2.1.302),以及掛鉤的 onFailure: "block" 設定(2.1.295)。

在 2026 年 10 月 7 日至 16 日之間,Claude Code 團隊向 npm 發布了八個版本,包括 2.1.293、2.1.294、2.1.295、2.1.296、2.1.299、2.1.300、2.1.301 和 2.1.302。版本 2.1.297 和 2.1.298 從未出現在更新日誌或 npm 上。

大多數更新日誌條目都是針對 VS Code 面板、雲端會話和 Claude Tag 的修復,因此本文將跳過這些內容,僅涵蓋會影響您的費用、快取命中率或掛鉤行為的變更。這篇文章是八月和九月設定總結的後續。簡而言之,閒置壓縮功能會在約 54 分鐘閒置後,在一個小時的提示詞快取過期之前,壓縮超過 20 萬個 token 的對話。

此功能在終端機中預設開啟,設定 "idleCompaction": false 即可關閉。

提示詞和代理掛鉤現在每個事件最多同時運行 12 個,並且分叉子代理在 claude -p、Agent SDK、桌面應用程式和 VS Code 中預設開啟。將 onFailure: "block" 添加到任何安全掛鉤中,這樣當掛鉤崩潰或超時時,會阻止操作而不是放行。

Sonnet 5.5 快取讀取現在在 /cost 和 SDK 中定價為每百萬 token 0.10 美元(之前是 0.20 美元),而 Haiku 5.5 成為預設的 Haiku 模型。您可以透過 claude update 進行升級,原生安裝也會在背景自動更新。

1. 閒置壓縮:影響您費用的功能

提示詞快取在長設定下有一個小時的生命週期。如果您離開 70 分鐘後再發送一條訊息,整個對話將以完整的輸入價格重新處理,而不是快取讀取價格。2.1.299 版本為終端機新增了一個修復:一個超過 20 萬個 token 且閒置約 54 分鐘的對話會在快取過期前被壓縮,因此您的下一條訊息會重新處理一個簡短的摘要,而不是整個歷史記錄。此功能預設開啟。

2.1.302 版本在 /config 中新增了一個「閒置壓縮」行,讓您可以無需編輯檔案即可切換此功能,並且閒置壓縮後出現的通知現在會告訴您如何關閉它。這是一個真實的取捨,壓縮後的對話會失去細節。如果您有意保持長時間的會話開啟,並期望 Claude 引用確切的檔案內容和工具輸出,那麼在第 54 分鐘進行壓縮可能會導致這些細節丟失。

有兩個設定選項:{ "idleCompaction": false },這會放在 settings.json 中並關閉此功能。若要保持開啟但更改 20 萬 token 的最低限制,請設定環境變數。根據更新日誌,兩者都需要 2.1.290 或更高版本:{ "env": { "CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS": "400000" } }。

上面 400000 的值是一個範例,不是建議。提高最低限制意味著只有更大的對話會被壓縮,這適合那些會話大多較短且只關心昂貴會話的使用者。

如果您想了解這一切的實際費用影響,Claude Max API 積分規劃器讓您可以輸入自己的會話數量,而 Claude Code Spend Guard 則在此基礎上增加了預算防護機制。

2. 快取讀取定價與 Haiku 5.5 預設模型

2.1.296 版本更新了 /cost、狀態列、--max-budget-usd 和 SDK 費用數據,將 Sonnet 5.5 快取讀取定價為每百萬 token 0.10 美元,從 0.20 美元下調。請仔細閱讀措辭:這是客戶的成本估算趕上了價格。

如果您將 --max-budget-usd 作為硬性上限,那麼現在相同的快取密集型會話所計算的快取讀取費用會比以前少,因此您之前設定的預算可能會比實際需要的更緊。請檢查您在十月之前設定的任何預算數字。

2.1.293 版本將 Claude Haiku 5.5 (claude-haiku-5-5) 設定為 Anthropic API 上的預設 Haiku 模型,它具有 1M 的上下文視窗,輸入價格為每百萬 token 0.10 美元,輸出價格為 0.50 美元,對於超過 10 萬 token 的提示詞,價格則分別上升到 0.50 美元和 2.50 美元。

這個 10 萬 token 的門檻是人們容易忽略的部分。我們的 Haiku 5.5 定價分析詳細說明了它對將大型檔案塞入廉價模型的代理工作負載的影響。

3. 分叉子代理與 12 個掛鉤上限

2.1.302 版本的兩項變更影響了所有在互動式終端機之外運行 Claude Code 的使用者。分叉子代理現在在更多地方預設開啟。分叉子代理 (subagent_type: "fork") 會繼承父對話而不是從空白開始。它已經在終端機中開啟。

從 2.1.302 版本開始,它也在 claude -p、Agent SDK、桌面應用程式和 VS Code 中開啟。claude mcp serve 從不提供它們。

同一個版本也將桌面應用程式和 VS Code 更改為始終在背景運行主對話的子代理,並且子代理自己的 Agent 呼叫在無頭模式、SDK、桌面和 VS Code 中現在預設在前台運行。如果您的 CI 作業或 SDK 腳本依賴於舊行為,請將其固定:{ "env": { "CLAUDE_CODE_FORK_SUBAGENT": "0" } }。

只有當您看到理由時才關閉它,例如費用飆升或輸出變化。更新日誌沒有量化成本影響,因此在決定之前請測量幾次運行。

提示詞和代理掛鉤:每次最多 12 個。提示詞掛鉤和代理掛鉤現在每個事件最多同時運行 12 個;其餘的則排隊等待。這只在您有很多掛鉤時才重要,例如 PostToolUse 事件上的每個外掛程式一個掛鉤。每個提示詞掛鉤都是一個模型呼叫,因此以前 40 個掛鉤會並行觸發,現在則分批觸發。如果您堆疊許多掛鉤,預計批次會相互排隊。此上限適用於提示詞和代理掛鉤,更新日誌沒有說明它是否涵蓋命令掛鉤。

4. 使用 onFailure 使掛鉤失敗時阻擋

在 2.1.295 版本之前,如果命令或 HTTP 掛鉤無法啟動、超時或以意外代碼退出,它會放行該操作。對於防護機制來說,這是一個錯誤的預設行為。2.1.295 版本新增了 onFailure: "block":如果掛鉤以任何這些方式失敗,現在會阻擋該操作。

這是一個 PreToolUse 掛鉤,它檢查 Bash 命令,如果檢查器本身崩潰,則拒絕運行它們。掛鉤路徑是您自己腳本的佔位符:{ "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "~/.claude/hooks/check-bash.sh", "onFailure": "block" } ] } ] } }。

將此功能用於強制執行某些規則的掛鉤,例如秘密掃描、阻止寫入生產配置、許可證檢查。不要將其用於便利性掛鉤,例如桌面通知,因為不穩定的通知器會阻礙您的工作。2.1.300 版本從另一方面收緊了相同領域:PreToolUse 和 PermissionRequest 掛鉤返回的 updatedInput 現在像 Claude 自己的工具輸入一樣進行驗證,未知鍵會被丟棄,並且工具拒絕的輸入會拒絕呼叫。

5. 選擇自動模式分類器使用的模型

2.1.302 版本新增了 CLAUDE_CODE_AUTO_MODE_MODEL,用於選擇客戶端自動模式分類器使用的模型。它不會更改伺服器端自動模式的模型。分類器是判斷工具呼叫是否可以安全運行而無需詢問您的檢查。較小的模型使該檢查更便宜、更快;較大的模型不太可能誤判危險命令。

{ "env": { "CLAUDE_CODE_AUTO_MODE_MODEL": "claude-haiku-5-5" } }。在涉及生產憑證的儲存庫中,在最便宜的模型上運行分類器之前請三思。更新日誌沒有提供分類器模型的準確性數據,因此任何聲稱某個模型「足夠好」的說法都是您應該根據自己的工具呼叫歷史記錄進行測試的判斷。

同一個版本也改進了伺服器端自動模式:對於安全檢查來說太長的對話現在會被壓縮,而不是每次檢查的工具呼叫都被拒絕。而 2.1.301 版本在 OpenTelemetry tool_decision 事件中新增了 classifier_verdict 和 permission_mode,這是您衡量上述問題的方式。

6. 值得關注的小改進

子代理自動壓縮:2.1.296 版本在子代理前置資料和 --agents 定義中新增了 autoCompactWindow,因此子代理可以比主對話的視窗更早地自動壓縮。一個讀取 30 個檔案的研究子代理不需要將所有 30 個檔案都帶到後續對話中。

更新日誌沒有說明該值的單位或有效範圍,因此在設定之前請查閱您版本的子代理文件。例如:--- name: repo-researcher description: Reads many files and reports a short summary autoCompactWindow: 100000 --- 上述數字是一個佔位符,用於顯示鍵的位置。

MCP 描述不再被截斷:兩個限制被移動了。2.1.296 版本將預先發送的 MCP 工具描述和 MCP 伺服器指令的預設上限從 2,048 個字元提高到 4,096 個字元。2.1.295 版本將模型透過工具搜尋載入的描述的截斷點從 2,048 個字元提高到 16,384 個字元。

如果您編寫了一個帶有冗長、仔細描述的 MCP 伺服器,並想知道為什麼 Claude 忽略了後半部分,這就是解決方案。這也意味著每個工具需要更多的 token,因此請修剪您不再需要的描述。

切換到較小上下文模型:2.1.301 版本更改了當您切換到上下文視窗小於當前對話的模型時會發生的情況。現在,前一個模型會先總結對話,使其符合新的上下文視窗。以前,您可能會遇到硬性失敗。

新的 /usage 警告:2.1.299 版本為最大努力、工作流程、始終開啟的上下文和大型工具結果新增了 /usage 警告。這四項是解釋意外費用的最常見原因。升級後請運行一次 /usage。

何時關閉某些設定及其原因

閒置壓縮:當您有意保持長時間會話開啟並需要保留確切的早期輸出時,請關閉它。否則,在超過 20 萬個 token 的對話閒置約 54 分鐘後,細節可能會丟失。

分叉子代理 (CLAUDE_CODE_FORK_SUBAGENT=0):如果您的 CI 或 SDK 腳本依賴於空白上下文的子代理,請關閉它。否則,無頭模式運行中的子代理輸出和 token 使用可能會有所不同。

API 請求上的 Gzip (CLAUDE_CODE_GZIP_REQUEST_BODIES=0):如果代理或閘道器出現瓶頸,請關閉它。

Share

覺得值得一看?分享給朋友。

以上為 AI 自動翻譯導讀。原文版權歸 DEV Community (Claude Code) 所有, 建議透過「閱讀原文」前往原始網站,以取得最完整資訊並支持原作者。

Newsletter

不用每天追,AI 重點每週寄給你

43 個來源、每 2 小時更新,太多看不完。電子報每週挑最值得看的幾則,附上 Max 的看法。

每週一封。Email 只用來寄電子報,每封信都能一鍵退訂。