跳至主要內容

Claude Code v2.1.288:Ctrl+C 草稿復原、/code-review --max-findings 與代理檢視搜尋

Claude Code v2.1.288 可找回以 Ctrl+C 清除的提示,為 /code-review 新增 --max-findings、為代理檢視加入名稱搜尋,並修正恢復工作階段、自動模式、外掛、MCP 與權限檢查等問題。

Claude Code v2.1.288 是一次大型發布,變更日誌共列出 89 個項目。此版本可以找回以 Ctrl+C 清除的提示草稿,為 /code-review 新增 --max-findings 選項,並為代理檢視(agents view)加入名稱搜尋與群組間跳轉。其餘項目多半是恢復工作階段、自動模式(auto mode)、外掛、MCP、掛鉤與 Bash 權限檢查的修正,另外也調整了背景指令時間限制的適用範圍。

新功能

找回以 Ctrl+C 清除的提示

用 Ctrl+C 清除提示後,在空白的提示輸入框按向上鍵即可找回草稿,包含貼上的文字與圖片。

/code-review 的 --max-findings

/code-review 現在接受 --max-findings <n>|all,可回報比一般上限更多或更少的發現。這個選擇會沿用到之後的審查,直到你傳入 --max-findings default 為止。

代理檢視的搜尋與群組導覽

在代理檢視中,Ctrl+F 可依名稱尋找工作階段,Alt+↑/↓ 可在群組之間跳轉;這兩個快捷鍵以及重新命名都能在 keybindings.json 中重新綁定。在 n: 篩選或 Ctrl+F 搜尋中按 Enter,現在會開啟名稱最相符的工作階段,而不是最上面那一列。

背景指令時間限制僅適用於無人值守的工作階段

背景指令的時間限制現在只套用於無人值守的工作階段(-p、Agent SDK、CI、雲端);終端機、桌面應用程式與 VS Code 工作階段沒有時間限制。

claude purge 與依模型儲存的 /autocompact

claude project purge 已更名為 claude purge,舊名稱仍可使用,但會顯示提示訊息。/autocompact 現在會依模型分別儲存自動壓縮視窗,切換模型時各自保有自己的設定。

自動模式分類器的變更

當對話長到用戶端安全分類器無法審查時,自動模式現在會壓縮對話,而不是對每次工具呼叫都詢問或直接失敗。用戶端的自動模式分類器也會忽略指定 Claude Sonnet 5.5 或 Opus 5.5 的 ANTHROPIC_DEFAULT_SONNET_MODEL 設定,改用 Claude Sonnet 5。

MCP 的 OAuth 範圍與 URL 提示

當 MCP 伺服器在工具呼叫期間要求更多 OAuth 範圍時,Claude Code 現在會顯示重新驗證的提示。對於無法回報你何時完成的 MCP 伺服器,其 URL 提示現在會等你選擇「I’m done, continue」後才繼續工具呼叫,讓你可以先在瀏覽器中完成操作。

新的 CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS 環境變數

在 Mantle 上或在拒絕結構化輸出的閘道後方,工作階段標題、記憶回想與提示掛鉤不再失敗。新的 CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS 環境變數可關閉結構化輸出。

Mods 與雲端工作階段

Mods 可以呼叫 $.ui.selection(),取得你在全螢幕模式中最後選取的文字;若選取範圍位於單一對話記錄列內,也會一併取得該列。映像檔中沒有 GitHub CLI 的雲端工作階段現在內建 gh api,且這個內建指令不再把檔名、jq 篩選器或 GitHub 錯誤中的控制字元送到終端機。

修正與改進

  • 中斷的回應:回應途中發生 API 逾時不再讓該輪失敗——非互動式工作階段與子代理會從部分回應繼續,只有思考內容的回應則會重試。使用 CLAUDE_CODE_RETRY_WATCHDOG 的無人值守工作階段在超長回應串流失敗後,不再重試數小時;Claude Code 會重新串流,並在三次逾時後放棄。
  • 壓縮:當上一則回覆回報的 token 用量為零時,長對話不再以「Prompt is too long」失敗,而會正常自動壓縮。
  • 恢復工作階段:--resume 不再遺失壓縮剛還原的檔案與其他脈絡;恢復的工作階段會儲存該輪的最後回應;同一工作階段在載入期間改寫檔案時,不再載入被截斷的對話記錄;恢復在 2.1.286 或更早版本開始的對話時,會保留模型先前的思考內容。
  • 權限:在 bypassPermissions 模式或 shell 允許規則下,bash -c 或 sh -c 腳本中的危險 rm(例如針對 / 或家目錄)不再未經詢問就執行;shell 會以算術求值的 BASHPID 指派現在也會先詢問。當命令有部分內容無法在執行前檢查時,Bash 權限提示也會給出較短的原因說明。
  • 掛鉤:PreToolUse 與 PermissionRequest 掛鉤在比對失敗或工具輸入無法序列化為 JSON 時不再被略過,而是封鎖該次呼叫。idle_prompt 通知掛鉤不再於背景代理仍在執行時觸發。
  • 規則與 CLAUDE.md:以路徑限定範圍的 .claude/rules 與巢狀 CLAUDE.md 檔案,現在在 Write 或 Edit 建立或修改其範圍內的檔案時也會載入,不再只限於 Read。
  • LSP:當語言伺服器使用動態能力註冊或停止回應時,LSP 工具呼叫不再無限期卡住;請求會在 60 秒後逾時(各伺服器的 requestTimeout)。
  • 外掛:git-subdir 外掛在 2.39 之前的舊版 git 上也能正常安裝;在沒有 GitHub SSH 金鑰的機器上,claude plugin install 安裝 GitHub 來源外掛時會改用 HTTPS;外掛 LSP 伺服器會收到替換後的值,而非字面的 ${user_config.*} 與 ${CLAUDE_PLUGIN_ROOT} 佔位符;以 --plugin-dir 載入的外掛會在 /plugin 中顯示「Configure options」。
  • MCP:遠端伺服器的結果超過 16 MB 或無法解析時,MCP 工具呼叫不再偶爾執行兩次;claude mcp serve 中的 Agent 工具不再拒絕所有 subagent_type。
  • 代理團隊:依名稱產生的外掛定義代理,現在會使用自己的提示、工具、disallowedTools 與 effort,而非預設值。
  • 登入:憑證無法儲存到安全儲存區時,/login 不再顯示「Login successful」,而會顯示失敗,並在新的登入未生效時提供重試。
  • 沙箱:在沙箱自動允許下,使用未加引號分隔符的沙箱 heredoc(python3 <<EOF)若內容只有純文字與簡單的 $VAR 參照,不再每次執行都要求核准。
  • Claude in Chrome:在無法使用自動模式時,對於你已允許的網站,Claude in Chrome 不再於每次截圖與讀取頁面前詢問;輸入、導覽與 JavaScript 仍會詢問。
  • Windows:Claude Code 自行重新啟動後(例如首次登入 Claude apps gateway、設定供應商或 /tui),鍵盤恢復正常運作。
  • 螢幕閱讀器模式:核准計畫時(包括使用 Shift+Tab)會朗讀新的權限模式;簡短的朗讀內容會留在畫面上,直到下一次按鍵或上方內容變動為止;問題對話框中已回答的問題會標示「answered」。
  • VS Code:卡在「Needs authentication」的 claude.ai 連接器,現在可在 MCP 伺服器對話框中使用 Check connection;選用的 New Conversation 快捷鍵(Cmd/Ctrl+N)只會在你所在的檢視開始對話;封存聊天檢視顯示的工作階段後會開始新對話,而不是恢復下一個已儲存的工作階段。
  • Self-hosted runner:被拒絕的 gh 指令現在會印出對應的 gh api 寫法,--paginate 會走訪儲存庫清單的每一頁,巢狀執行的 claude 也不再移除內建的 gh api。
  • Claude Tag:Claude 也會追蹤它只讀取過的其他頻道中的相關 Slack 討論串,讓那裡的更新傳到依賴它的對話。

此版本共包含 89 項變更,完整清單請參閱完整變更日誌。

如何更新

  1. 檢查已安裝的版本:claude --version
  2. 就地更新:claude update
  3. 如果有腳本呼叫 claude project purge,請改為 claude purge;舊名稱仍可使用,但會顯示提示訊息。

相關連結