跳至主要內容

Claude Code v2.1.248:--restricted 模式、各代理的提示快取 TTL,以及 Bedrock、Vertex 與 Foundry 上的跨工作階段訊息

Claude Code v2.1.248 新增 --restricted 模式、代理層級的 experimental.cacheTtl、伺服器管理設定診斷,以及 Bedrock、Vertex 與 Foundry 上的跨工作階段訊息,並修正提示快取未命中的問題。

Claude Code v2.1.248 是一個大型版本,變更日誌共列出 49 項變更。此版本新增會移除執行指令類工具、並忽略使用者/專案/本機設定檔的 --restricted 模式、代理 frontmatter 中的代理層級提示快取 TTL、伺服器管理設定的診斷資訊,以及 Bedrock、Vertex 與 Foundry 上的跨工作階段訊息。它也修正了兩種造成提示快取未命中的原因,避免 Claude Desktop 與 Cowork 工作階段在 30 天後消失,並解決了 claude agents、掛鉤、MCP 與 Remote Control 的許多問題。

新功能

--restricted 模式

新的 --restricted 旗標(或 CLAUDE_CODE_RESTRICTED=1)會移除執行指令或程式碼的內建工具與 WebFetch(在 --tools 中指名者除外)。它也會將檔案工具限制在工作目錄內、拒絕 bypassPermissions,並忽略使用者、專案與本機設定檔。

各代理的提示快取 TTL

代理 frontmatter 現在支援 experimental.cacheTtl("5m" 或 "1h"),這是代理層級的提示快取 TTL,會在未設定子代理 TTL 設定時使用。

伺服器管理設定的診斷

伺服器管理設定載入失敗時,Claude Code 現在會在啟動時顯示警告;/doctor 與 /status 也會多一行說明載入失敗的原因,或設定為何沒有被擷取(Bedrock/Vertex/第三方供應商、自訂 ANTHROPIC_BASE_URL)。

Bedrock、Vertex 與 Foundry 上的跨工作階段訊息

同一台電腦上工作階段之間的跨工作階段訊息(SendMessage / ListAgents),現在可在 Bedrock、Vertex 與 Foundry 上使用,停用遙測時也能使用。

Self-hosted runner 用戶端標籤

claude self-hosted-runner --client-label <label>(或 SELF_HOSTED_RUNNER_CLIENT_LABEL)可覆寫 runner 註冊時使用的標籤;預設為主機名稱。

更多 Enterprise 組織可使用 /usage-credits

透過 AWS Marketplace 計費的 Enterprise 組織、自助式 Enterprise 以及 Enterprise 試用版,現在都可以使用 /usage-credits,讓成員向管理員申請更高的用量上限。

Workflow 工具佔用更少

Workflow 工具的說明現在約為 1k tokens,而不是 5.7k,撰寫腳本的參考資料已移至內建的 workflow-authoring 技能中。

代理檢視與 /loop 的變更

在代理檢視的派送輸入框中,shift+enter 現在會插入換行(與提示輸入一致),ctrl+enter 則會派送並附加。/loop 的自行調整節奏動態模式與無提示自主預設現在一律可用,包括在 Bedrock/Vertex/Foundry 上。

修正與改進

  • 提示快取:修正長時間工作階段中大約每小時發生一次的提示快取未命中(以及延伸思考 context 遺失)問題,其原因是 OAuth token 更新後工具定義被重新渲染。當帳號進入用量超額狀態時,ScheduleWakeup 工具定義不再於工作階段與其 --resume 之間發生變化,該問題曾讓恢復後工作階段的第一個回合完全未命中提示快取。
  • 桌面版工作階段保留:Claude Desktop 與 Cowork 工作階段不再於 30 天後消失。對話記錄清理現在會保留由桌面版寫入、仍存在於 App 中的工作階段(除非由組織政策管理保留期限),新的 desktopSessionCleanupPeriodDays 設定則可為此豁免設定上限。
  • 雲端上傳中的本機檔案:/ultrareview 與以本機內容建立的雲端工作階段,不再上傳 prod.env 類與 *.tfvars 檔案的未提交編輯,也不再上傳憑證檔案的編輯器交換檔、暫存檔與備份副本(例如 key.pem.tmp、id_rsa.swo);這些檔案現在會留在您的電腦上。
  • 登入:當另一個 Claude Code 程序持有 token 更新鎖、而工作階段 token 已過期時,不再把您帶到登入畫面,而是讓請求以可重試的錯誤失敗。在無法使用建議的 Console 登入的電腦上(例如已設定 ANTHROPIC_API_KEY 或 API 金鑰 helper),/login 不再因 OAuth 錯誤而失敗,而會改用 API 金鑰登入。
  • claude agents:設定了 CI 環境變數時,claude agents 不再略過工作區信任提示;PR 狀態快取中有格式錯誤的項目時,也不再於啟動時當機。電腦關機一段時間後,代理檢視不再讓數週前的背景工作階段「復活」;這類工作階段現在會顯示為在其實際結束時間停止,開啟時也會先詢問是否恢復已儲存的對話。
  • Worktree:背景執行的 worktree 工作階段不再遺失其檢出內容,因為背景工作階段在執行期間會持有該 worktree 的鎖,清理作業與 git worktree remove 都不會動到它。當工作階段的 worktree 分支已合併到您目前檢出的預設分支、但尚未推送時,claude agents 與 claude rm 不再拒絕刪除該工作階段(「has commits that are not pushed anywhere」)。
  • 掛鉤:當 PermissionRequest 或 PreToolUse 掛鉤輸出無效的回應時,背景工作階段不再默默等待,claude agents 中的該列會指出是哪個掛鉤以及結構描述錯誤。stdout 中不是有效 JSON 的 {…} 物件,現在會連同解析訊息一起回報為掛鉤錯誤,而不是被當作純文字。
  • MCP 與 gateway:由 headersHelper 提供 Authorization 標頭的 MCP 伺服器,遇到 401 時現在會依文件所述重新執行 helper 並重試呼叫,而不是進入 OAuth 探索流程。需要受管理設定的安全核准對話框時,登入 Claude apps gateway 的 /login 不再卡住。
  • Remote Control 與雲端工作階段:CLI 在背景默默重新連線後,Remote Control 工作階段不再偶爾無法在已連線裝置上顯示權限提示或最新訊息。當容器的工作階段憑證尚無法讀取時,雲端工作階段不再偶爾於啟動時失敗。
  • 跨工作階段訊息:無效的 crossSessionInbound 值不再被默默忽略;在修正之前,現在會發出警告並暫留跨工作階段訊息(使用者設定),或拒絕這些訊息(受管理設定)。
  • GitHub:當 GitHub CLI token 缺少 workflow 範圍時,/web-setup 現在會發出警告,因為缺少該範圍時,推送到非常大的儲存庫可能會被拒絕。/ultrareview <PR#> 現在會在啟動前確認連結到您 Claude 帳號的 GitHub 帳號能否存取該儲存庫,並說明如何修正,而不是在雲端工作階段啟動後才失敗。

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

如何更新

  1. 檢查已安裝的版本:claude --version
  2. 就地更新:claude update
  3. 在代理檢視的派送輸入框中,shift+enter 現在會插入換行;請改用 ctrl+enter 來派送並附加。

相關連結