Claude Code v2.1.300:Claude Platform on AWS 支援 /advisor、更嚴格的掛鉤輸入驗證與新的 mod API
Claude Code v2.1.300 在 Claude Platform on AWS 加入 /advisor,驗證掛鉤改寫的工具輸入,擴充 mod 與 OpenTelemetry,並移除 claude remote-control 原本沒有作用的 sandbox 旗標。
Claude Code v2.1.300 是一個大型版本,變更日誌共列出 88 個項目。此版本將 /advisor 帶到 Claude Platform on AWS、收緊掛鉤修改工具輸入時的處理方式、新增多個 mod API 與 OpenTelemetry 欄位,並調整請求壓縮、本機對話記錄與結束時的行為。其餘則是一長串修正,涵蓋 worktree、掛鉤、MCP、雲端與 Remote Control 會話,以及 VS Code。
新功能
Claude Platform on AWS 支援 /advisor
/advisor 現在可在 Claude Platform on AWS 上使用。在您透過 /advisor、advisorModel 或 --advisor 旗標選定 advisor 之前,不會有任何 advisor 執行;設定 CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1 則可將其關閉。
掛鉤改寫的輸入現在會經過驗證
PreToolUse 與 PermissionRequest 掛鉤回傳的 updatedInput,現在會以與 Claude 自身工具輸入相同的方式驗證:未知的鍵會被捨棄,而工具拒絕的輸入會使該次呼叫遭到拒絕。另外,在 Cowork 雲端會話中,PermissionRequest 掛鉤允許決定裡的 setMode 更新現在會被忽略,其餘的核准內容仍然有效。
claude remote-control 移除 sandbox 旗標
claude remote-control 的 --sandbox 與 --no-sandbox 旗標原本就沒有作用,現已移除;傳入任一旗標都會以錯誤結束。若要讓會話在沙箱中執行,請在設定中設定 sandbox.enabled。
新的 mod API 與掛鉤
- mod 提示裝飾中的
virtualText可在提示輸入框內繪製文字,這些文字永遠不會進入草稿或送出的提示。 $.ui.view({ agentId })會在主畫面顯示某個代理的對話記錄,$.ui.view({})則返回原畫面。- mod 的
Text新增dir屬性以支援由右至左的文字;在 Windows 與 VS Code 的終端機中,各行會依該方向閱讀並靠右對齊。 - 新的
prompt.change掛鉤會在提示輸入框的文字並非經由打字而改變時觸發,例如叫回歷史項目、清除、復原,或外掛填入內容。 agent.spawn掛鉤現在可以改寫工作流程代理的prompt與model;先前它只能拒絕工作流程代理。
OpenTelemetry 新增欄位
api_request 事件現在包含 cache_creation_5m_tokens 與 cache_creation_1h_tokens,依存留時間區分快取寫入。追蹤 span 也新增了 GenAI 語意慣例屬性,例如 gen_ai.provider.name、gen_ai.conversation.id、gen_ai.tool.name 與 error.type。
請求壓縮與更完整的本機對話記錄
即使停用遙測,送往 api.anthropic.com 的大型請求現在也會使用 gzip 壓縮;設定 CLAUDE_CODE_GZIP_REQUEST_BODIES=0 可將其關閉。本機會話的對話記錄現在也會記錄每個 API 請求的系統提示、工具與參數,因此當您選擇分享對話記錄時,可以精確重現該請求。
結束時強制終止背景指令
結束 Claude Code 時,若背景指令在被要求停止 1.5 秒後仍在執行,現在會被強制終止。先前在全螢幕模式下,這些指令可能會持續執行。
VS Code:claudeCode.attachSelection
新的 claudeCode.attachSelection 設定可讓編輯器中選取的文字不再被加入您的訊息。
Claude Tag:Slack Connect、核准卡片與語音片段
Owner 或 Claude Tag 管理員現在可以讓 Claude in Slack 在與其他組織共用的 Slack Connect 頻道中回覆;此功能預設關閉。需要您核准的連接器操作,現在會在 Slack 討論串中顯示僅您可見的 Allow once / Deny 卡片,讓 Claude 改為詢問而非直接拒絕。當 Slack 提供語音片段的逐字稿時,Claude 也能讀取。
修正與改進
- Worktree:以
--worktree啟動 Claude Code 時,外掛的WorktreeCreate與WorktreeRemove掛鉤現在會執行(--tmux尚未支援);當標籤或分支名稱看起來像 commit ID 時,--worktree會話不再有時從錯誤的 commit 開始。 - 掛鉤:在背景指令仍在執行時結束,SessionEnd 掛鉤不再有時沒有執行。代理掛鉤現在會遵守其
model:haiku等別名可正確解析、子代理的模型不再覆蓋它,而無法使用的模型會改用呼叫端的模型,而非直接允許該操作。 - MCP:當 API 拒絕某個 MCP 工具的輸入 schema 時,對話不再每一輪都以 400 錯誤失敗;該工具在對話剩餘部分會以不帶參數的方式送出。自動工具搜尋(
ENABLE_TOOL_SEARCH=auto)不再於對話中途關閉,例如在恢復會話後 MCP 伺服器重新連線期間。 - Headless 與 Agent SDK 恢復:當壓縮發生在因輸出 token 上限而截斷的回覆之後,或同一輪中重試或未完成的回覆之後,恢復會話不再遺失最近的訊息或壓縮摘要。
- 背景指令:背景指令執行期間,Claude 不再輪詢其輸出檔案或以 sleep 空等。
- 守護程序:
claude daemon stop --any不再於卡住的背景服務仍在執行時印出「stopped」;現在會等待並強制終止該服務,若服務仍然存在則以結束碼 1 結束。 - 登入:遭
forceLoginOrgUUID拒絕的登入,不再把被拒組織的 token 留在儲存中。 - 雲端會話:無法讀取組織政策時,每一輪不再卡住 5 分鐘;該輪現在會及時結束並說明原因。在 Cowork 雲端會話中,Write、Edit 與 NotebookEdit 不再對您本機電腦上的路徑回報成功(檔案實際上從未送達)。
- Remote Control:
claude remote-control伺服器在短暫的登入錯誤(例如鑰匙圈被鎖定)後現在會重試,並在需要執行claude /login時發出警告。在同時服務多個會話的電腦上,仍在執行的會話不再被標示為已停止。 - 任務:您曾傳送訊息的子代理,不再於完成後不久從
/tasks中消失。 - 網路:位於 TLS 檢查代理伺服器後方、且其憑證僅透過作業系統憑證存放區信任時,功能旗標與分階段推出不再停留在過時狀態。
- 由主機管理的供應商:
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST會話現在會忽略設定中的 CA bundle、工具代理、git TLS 與 git config 變數(例如SSL_CERT_FILE);在 Claude Desktop 下,這只適用於專案設定。 - VS Code:使用額度用完後,快速模式現在會關閉,而不是持續開啟並讓每個請求被拒絕後重送。在 WSL、SSH 與 Dev Container 視窗中,按住 Shift 將檔案從檔案總管或編輯器分頁拖曳到提示輸入框,現在可以正常插入。
- Self-hosted runner:runner 與 orchestrator 不再於無人讀取其輸出時凍結;日誌會保留最新的 256 KiB 並計算捨棄的數量(Windows 除外)。
- Code Review:具有寫入權限、但 GitHub 組織成員身分設為不公開的使用者所留下的
@claude review留言,現在會啟動審查。
此版本共包含 88 項變更;所有項目請參閱完整變更日誌。
如何更新
- 檢查已安裝的版本:
claude --version - 直接就地更新:
claude update - 如果您以
--sandbox或--no-sandbox啟動claude remote-control,請移除該旗標(現在會以錯誤結束),改在設定中設定sandbox.enabled。