跳至主要內容

Claude Code v2.1.238:readline 按鍵風格、外掛 marketplace 的 headersHelper,以及 self-hosted runner 新旗標

Claude Code v2.1.238 新增 readline 按鍵風格、外掛 marketplace 的 headersHelper,以及 self-hosted runner 的關機與 proxy 旗標,收緊 MCP headersHelper 的信任規則,並修正多項 Remote Control 問題。

Claude Code v2.1.238 是一個大型版本,變更日誌共列出 39 項變更。此版本新增 readline 風格編輯的 keybindingFlavor 設定、可為外掛 marketplace 產生標頭的 headersHelper 指令,以及 claude self-hosted-runner 的關機與 proxy 授權選項,同時收緊 MCP headersHelper 指令的執行條件。其餘變更有許多是 Remote Control 與跨工作階段訊息的修正,另外也修正了長時間互動工作階段中記憶體無限制成長的問題。

新功能

keybindingFlavor 設定

新的 keybindingFlavor 設定可調整提示輸入的編輯行為。將它設為 "readline",提示中的 Ctrl+W 就會像在 Bash 中一樣,刪除到前一個空白處;預設值("classic")維持不變。

外掛 marketplace 的 headersHelper

url marketplace 或 catalog 項目上的 headersHelper 會執行一個指令來產生 HTTP 標頭(例如短效 token),用於 catalog 與同源封存檔的下載。catalog 項目的 headersHelper 只會在您安裝或更新該外掛、且其指令已顯示之後才執行;claude plugin install/update 會以 [y/N] 詢問確認(或傳入 -y)。

claude self-hosted-runner 新選項

使用 --defer-shutdown-max-min <minutes> 時,runner 收到 SIGTERM 後會繼續服務已連接的工作階段,在指定分鐘數後將剩餘工作階段暫存,然後結束。新的 --proxy-authorization-command 與 --proxy-authorization-file 選項,支援要求每次連線都提供新簽發 Proxy-Authorization 標頭的對外 proxy。

MCP headersHelper 的信任規則更嚴格

專案 .mcp.json 中的 MCP headersHelper,以及專案或 --add-dir 代理檔案中的內嵌 MCP 伺服器,現在都需要先接受該資料夾的信任對話框(在 claude -p 下也是如此)。來自專案 .mcp.json、外掛或代理檔案的 helper 現在執行時不會繼承憑證相關的環境變數;使用者、受管理與 claude.ai 範圍的 helper 則改為從 Claude 設定目錄執行。

全螢幕中 Ctrl+L 與 Cmd+K 只會重繪

在全螢幕模式中,Ctrl+L 與 Cmd+K 現在一律只會重繪畫面。連按兩次觸發 /clear 的捷徑已移除,只有一列高的 nvim 終端機也不再觸發自動 /clear 迴圈。

claude mcp list 與 claude mcp get 顯示停用的伺服器

claude mcp list 與 claude mcp get 現在會將停用的伺服器顯示為 ⊘ Disabled,而不是連線到這些伺服器進行健康檢查。

修正與改進

  • 記憶體:修正長時間互動工作階段中記憶體無限制成長的問題;子代理的工具結果在離開最近的顯示範圍後就會被釋放。
  • 輸出風格:自訂、專案與外掛輸出風格不再於工作階段中途飄回預設語氣。
  • Remote Control 連線:來自網路邊緣、VPN 或 proxy 的短暫 HTTP 403 拒絕現在最多可容忍 3 分鐘,若封鎖持續則會指出拒絕的一方。短暫的網路問題延遲了登入續期時,不再以「login expired」中斷連線,而會重試並保持連線。程序當機的工作階段不再需要重新啟動 claude remote-control 才能使用,下次傳訊息給它時即可重新使用。
  • Remote Control 工作階段:由 claude remote-control 啟動的工作階段不再從啟動它的 shell 繼承工作階段範圍的環境變數。在 Claude 回合進行中從網頁或 Desktop 傳送的訊息,不再於回合結束後從對話記錄中消失。
  • 代理與跨工作階段訊息:在由 claude remote-control(伺服器模式)或 Desktop/IDE 主機執行的工作階段中,ListAgents/SendMessage 不再回報「Remote Control is not connected」,現在能列出並聯繫 Remote Control 對等端。傳送給拒絕接收訊息的工作階段(例如 crossSessionInbound: "refuse")時,現在會回報「refused」,而不是無聲地顯示成功;若對方收件匣因速率限制或佇列已滿而丟棄您的訊息,現在也會通知您的工作階段,訊息不再無聲消失。
  • Self-hosted runner:self-hosted runner 不再偶爾因一次緩慢或遺失的輪詢請求就被伺服器移除,導致其正常運作的工作階段被交給另一個 runner。
  • MCP:stdio MCP 伺服器不再於 initialize 之前收到 server/discover 請求,該問題曾迫使延遲啟動的伺服器在每次開啟工作階段時啟動後端。MCP elicitation 對話框遇到超過 4,096 個字元的 URL 時,不再一片空白。
  • 權限提示:當專案路徑超出終端機寬度時,權限提示不再遺漏「don’t ask again」選項;權限提示差異中含有寬字元多碼點字元(例如 emoji)或 tab 的行也不再被截斷。Bash 工具對 shell 條件式中 zsh 特有語法的權限檢查也獲得改進。
  • 提示建議:當帳號接近但尚未超過用量上限時,CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=true 現在能讓提示建議保持開啟。
  • 終端機輸入:在以 Ctrl+H 送出 Backspace 的終端機上,當按鍵大量湧入時(例如透過緩慢的 SSH/mosh 連線),按住的 Backspace 不再被忽略。
  • 錯誤訊息:proxy 拒絕連線時,現在會指名該 proxy,而不是回報為一般的網路錯誤。
  • 啟動:在 macOS 上直接執行 claude 會更快啟動,自動更新檢查也改為在啟動約 10 秒後執行,不再與啟動程序爭搶 CPU。
  • claude-api 技能:內建的 claude-api 技能已針對 Managed Agents 8 月 19 日的版本更新,涵蓋 web search/fetch 網域設定與 self-hosted 沙箱上的記憶體儲存(memory stores)。

此版本共包含 39 項變更,完整清單請參閱下方連結的官方變更日誌。

如何更新

  1. 檢查已安裝的版本:claude --version
  2. 就地更新:claude update
  3. 請留意兩項行為變更:在全螢幕中,Ctrl+L 與 Cmd+K 現在只會重繪(連按兩次觸發 /clear 的捷徑已移除);專案 .mcp.json 中的 MCP headersHelper 現在只有在接受該資料夾的信任對話框後才會執行。

相關連結