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 項變更,完整清單請參閱下方連結的官方變更日誌。
如何更新
- 檢查已安裝的版本:
claude --version - 就地更新:
claude update - 在代理檢視的派送輸入框中,shift+enter 現在會插入換行;請改用 ctrl+enter 來派送並附加。