VS Code 對話可收起工具細節
你在 VS Code 裡跟 Claude 對話,想看回答卻被一串工具操作淹沒時,現在可以切到 Focus view(焦點檢視,把每回合的工具活動收在可展開摘要裡)。聊天選單、Ctrl+Alt+F,或「Claude Code: Toggle Focus view」指令都能切換;摘要仍會顯示哪個工具正在執行。它像把廚房做菜的過程合起來,只把菜單留在桌上:要追查時再掀開,平常不必被鍋碗瓢盆擋住。
發布日期:2026-08-04
你在 VS Code 裡跟 Claude 對話,想看回答卻被一串工具操作淹沒時,現在可以切到 Focus view(焦點檢視,把每回合的工具活動收在可展開摘要裡)。聊天選單、Ctrl+Alt+F,或「Claude Code: Toggle Focus view」指令都能切換;摘要仍會顯示哪個工具正在執行。它像把廚房做菜的過程合起來,只把菜單留在桌上:要追查時再掀開,平常不必被鍋碗瓢盆擋住。
Linux 或 WSL 裡的沙盒(sandbox,把程式限制在隔離範圍內執行)現在可把憑證檔設成 mode: "mask"。裡頭的命令讀到的是替身檔,連 extract 正規表達式(用符號匹配字串的語法)挑出的片段也能替換;資料要送出沙盒時,代理才換回真值。macOS 沒有這種遮罩能力,會改成拒絕讀取。另一方面,經過沙盒代理的大型上傳不再因 TLS 錯誤失敗。像寄件櫃檯先給你一張遮住關鍵欄位的影本,真正交件時才由櫃員換入原件。
準備發布外掛或調整 API 提示詞時,現在多了兩道早期提醒。claude plugin validate 會警告:市集或外掛名稱若不符合 Claude Desktop 的受管理市集同步規則,之後會被拒絕。claude-api skill 也新增 prompt-audit 子指令,會檢查提示詞與工具說明是否還沿用為舊模型寫的模式。這像送印前先讓校稿機檢查店名能不能掛上招牌、文案格式能不能被新版印刷機讀到;問題在上架前看見,而不是同步失敗後才猜原因。
命令看似只是條件判斷,裡面卻藏了另一道指令時,權限檢查現在不會再放過它。先前 zsh 能在 Bash 工具的 [[ ]] 正規表達式條件裡執行隱藏命令,避開確認;這類命令現在都會要求權限。Windows 的 PowerShell 若路徑含引號,檢查也曾處理錯誤,現在同樣會請你核准。門禁像是終於會翻開包包夾層檢查,而不是只看外袋標籤;路徑裡有特殊字元,也不會讓它看錯證件。
工作階段一開始關掉 thinking(思考模式,讓模型保留更多推理過程的開關)後,再把它打開,現在會確實影響這一整段對話。連線中的 MCP(Model Context Protocol,讓 AI 連接外部工具的協定)伺服器若被停用,也不會悄悄自己恢復。另一個修正針對 claude -p:透過 --mcp-config 加入的伺服器會在第一回合前連好,不再讓模型把本該執行的工具呼叫原樣印成文字。這就像關掉一台設備後,控制台不會趁你轉身又把它接回電源。
你按 Esc 撤回提示詞後又送一次,先前用 @ 指名的檔案不會再無聲消失。開發者若用 SDK 的 MCP 工具,工具名稱剛好是 JavaScript 內建物件屬性,例如 constructor,準備 API 請求時也不會崩潰。至於關閉 thinking 後以 xhigh 或 max effort(投入更多推理資源的等級)跑 WebSearch,原本會收到 400 錯誤,現在可正常搜尋。像重新遞一份附檔申請書、讓窗口正確辨認罕見姓氏,最後也讓高難度查詢真的送進資料庫。
Team 或 Enterprise 用戶碰到 spend limit(支出上限)時,訊息終於會指向自己的個人上限,而不是錯怪組織的月上限。Windows 的桌面受管理工作階段裡,使用 AWS SSO 命名設定檔登入 Bedrock 時,若電腦碰巧有多餘的 HOME 環境變數(啟動程式前預先給它的設定值),也不會再登入失敗。前者像信用卡通知終於指出是你的卡刷到上限;後者則像門禁不再被一張放錯抽屜的地址便條帶錯路。
若你明確設 CLAUDE_CODE_RESUME_INTERRUPTED_TURN=0,被打斷回合的自動續接現在真的會關掉;其他代表關閉的 falsy 值也會被尊重。電腦睡醒時,兩個 Claude Code 行程偶爾會同時更新同一個 MCP 連接器或 WIF OAuth token(用來證明登入身分的授權令牌),互相踩到而逼你重登;現在避免了這場競跑。像在交接簿寫下「不要自動續辦」後,值班人員不會照樣替你開案;兩人也不會同時搶著換同一把門鎖。
你在 Claude Code Desktop 或 claude.ai 改工作階段名稱,CLI 現在也會更新,而且不論從哪個介面改都會先整理名稱格式。非互動工作階段(沒有終端機視窗、直接執行的模式)裡,外掛或組織派發的 skill(技能,告訴 Claude 如何處理特定工作的指示)若剛好叫 /help、/feedback 等終端機內建名,也能叫得動。外掛重載完成後,「Plugins changed」通知也會自動消失。像同一份行程表在手機、網頁與櫃檯都用同名,活動結束的提醒則會自行撤牌。
用 Vim mode(Vim 模式,用鍵盤指令編輯文字的操作方式)編寫提示詞時,yank register(暫存複製文字的位置)不會再因為開過對話框、搜尋歷史或看逐字稿就被清空。另一個小但重要的修正是:你一路 undo 回空白提示詞後,第一次按左箭頭會先準備「再按一次才回代理畫面」的確認,而不是立刻跳走。像剪貼簿不會因為你翻了幾頁文件就倒空;走到門口也會先亮警示燈,免得你按錯一步就離開編輯桌。
Google Vertex AI 上的 Claude 4.5 世代以上模型,tool search(工具搜尋,讓模型找可用工具的功能)重新可用。自動模式處理平行工具呼叫的權限判斷時,會更有效率地使用快取(把算過的結果暫存起來直接用);切換模式剛好碰上尚未完成的檢查,也會重新問你,而不套用過期結果。同一段對話前綴會重複用於判斷,因而降低 prompt-cache 成本。Stats 面板則把快取 token 納入總數,分開列出輸入、輸出、快取讀取與寫入。就像收費停車場重用已驗過的車牌資料,並把每種計費清楚印在收據上。
你用 /ultrareview 比對目前儲存庫與基準分支,兩者若沒有共同 Git 歷史,錯誤訊息現在更能指出下一步。完全沒有分支的 checkout(簽出副本,Git 目前取出的工作版本)會立刻被拒絕,並建議先建立分支;已是完整副本的情況,也不會再亂建議 git fetch --unshallow。這像地圖導航發現起點根本沒有接上道路時,會叫你先選一條路,而不是硬叫你去挖一條其實已經挖好的隧道。
Windows 啟動 Claude Code 時,程式要讀取行程建立時間,現在直接呼叫原生的 kernel32,不再為這件事另外啟動 PowerShell。若公司的 endpoint security(端點安全工具,監看電腦程式行為的防護軟體)會攔住 powershell.exe,也就不會再跳出不必要的詢問。這不是少查資料,而是改走 Windows 自己的服務窗口;像大樓住戶查電錶,不必每次都叫外包技師進門,因此保全也不用反覆放行。
背景工作階段完成任務後,現在會 commit 並 push,讓做出的工作有地方可保存;但 draft PR(草稿合併請求,尚未準備合併的程式碼提案)只在任務本身要求時才開。它也會遵守你專案的 CLAUDE.md Git 指示,最後一定回報成果放在哪裡。這項行為會影響協作流程:把背景工作想成代你整理檔案的同事,他會把成品歸檔並告知位置,卻不會未經任務要求就送出一份請人審核的提案。
輸入 /plugin install 找不到外掛時,它會先刷新過期的市集目錄並重試,再告訴你真的找不到。從 /plugin 裝好的外掛,只要安全,現在會立刻啟用,不必一律再輸入 /reload-plugins。外掛也可把 skills 路徑寫成 "." 代表根目錄;根層 SKILL.md 驗證失敗時,錯誤訊息會明說應該使用外掛根目錄。像店員先更新庫存再說缺貨,新買的零件能直接裝上,而說明書放在盒子最上層也能被正確找到。
想知道眼前工作階段是否還在你手上,/status 現在會標示它是 interactive,還是背景工作且為 attached 或 unattended。打表情符號時,常見替代短碼 :thumbsup:、:thumbsdown:、:love: 也會補全。至於用 /fork 分出新工作階段,它會替自己建立一份工作樹(worktree,Git 讓同一專案平行開多份副本的功能),不再直接在原工作階段的簽出副本裡工作。像看班表就知道誰值班、通訊軟體聽得懂不同簡寫,而分派的新同事也會拿到自己的桌面。
Claude in Chrome 完成工作、不再需要自己開的分頁後,會把那些分頁關掉。快速模式(fast mode,優先加快回應的模式)若在工作階段中途用完 usage credits(可用額度),串流回應會直接說明,不再沉默失敗。Monitor 裡的 watch(持續觀察命令輸出的功能)若結束前沒有任何輸出,也會明說「沒有輸出」,不再只寫含糊的「stream ended」。像助理借用幾張參考頁後會收好,預算耗盡會當面告知,巡邏員空手回來也會說他整趟沒看到事。
Gateway 收到 model 欄位不是字串時,現在會直接回 400 錯誤,不會照單全收再往後端轉送。這讓資料格式錯誤在入口就被擋下。另一邊,auto-mode 分類呼叫還排隊時如果權限模式改了,核准提示不會再反覆顯示那條變更通知。像郵局櫃檯看到地址欄塞進一張照片就當場退件,而不是把怪資料一路送到分揀中心;公告貼過一次,也不會每次排隊都重新貼滿牆。
When a VS Code chat answer is buried under a long trail of tool activity, switch to Focus view. It folds each turn's activity into an expandable summary while still showing which tool is currently running. Toggle it from the chat menu, with Ctrl+Alt+F, or through the “Claude Code: Toggle Focus view” command. It is like closing the kitchen doors while keeping the menu on the table: open them when you need to inspect the cooking, but do not let the pots block dinner.
On Linux and WSL, sandboxed commands can now read a masked stand-in for a credential file when it uses mode: "mask". The stand-in can cover the whole file or regions selected by an extract regex, while the sandbox proxy restores the real value only on egress. macOS falls back to denying the read. Large uploads through that proxy also no longer fail with TLS errors. Think of a shipping desk handing you a redacted copy, then having the clerk insert the real details only when the package leaves.
Before publishing a plugin or revising API prompts, there are now two earlier warnings. claude plugin validate flags marketplace or plugin names that Claude Desktop's managed marketplace sync would reject. The claude-api skill also adds prompt-audit, which looks for prompt and tool-description patterns written for older models. It is like checking whether a shop sign and its artwork fit the printer before sending them to press, instead of discovering the problem after distribution fails.
A command that looks like a condition but hides another command inside it can no longer slip past permission checks. zsh previously could execute hidden commands in Bash tool [[ ]] regex conditionals without prompting; affected commands now require permission. On Windows, PowerShell checks also now correctly ask for approval when a path contains quote characters. It is like security finally checking a bag's inner pocket rather than just its label, even when the ID includes unusual punctuation.
If a session began with thinking off, turning it on now affects the rest of that session as intended. An MCP server disabled while it is connecting also no longer silently comes back. Another fix targets claude -p: servers supplied with --mcp-config connect before the first turn, so the model does not print its tool calls as literal text instead of using them. It is like a control panel that no longer reconnects a machine after you deliberately unplugged it.
When you retract a prompt with Esc and submit it again, files mentioned with @ no longer vanish silently. SDK MCP tools whose names match built-in object properties such as constructor also stop crashing while an API request is prepared. And WebSearch at xhigh or max effort with thinking disabled no longer returns a 400 error. It is like resubmitting an application with its attachments intact, having the clerk recognize an unusual surname, and finally letting a difficult query reach the archive.
When Team or Enterprise users hit a spend limit, the message now correctly points to their individual limit instead of blaming the organization's monthly limit. In desktop-managed Windows sessions, Bedrock authentication with an AWS SSO named profile no longer fails merely because the machine has a stray HOME environment variable. One is like a credit-card alert naming the card that hit its limit; the other is like a security desk no longer following an address note left in the wrong drawer.
Setting CLAUDE_CODE_RESUME_INTERRUPTED_TURN=0 now truly disables automatic resumption of an interrupted turn; other falsy values are honored too. After waking from sleep, two Claude Code processes could rarely refresh the same MCP connector or WIF OAuth token at once, forcing another sign-in. That race is avoided now. It is like a handover note saying “do not reopen automatically” finally being followed, while two staff members stop trying to replace the same lock at once.
Rename a session in Claude Code Desktop or claude.ai and the CLI now follows, with names sanitized from every rename surface. In non-interactive sessions, plugin- or organization-delivered skills that happen to be named like terminal built-ins such as /help and /feedback can now be invoked. The “Plugins changed” notification also clears after plugins reload. It is like one itinerary keeping the same clean title on your phone, the web, and the desk, while a finished alert takes itself down.
In Vim mode, the yank register no longer empties just because you opened a dialog, searched history, or viewed the transcript. There is also a small but important navigation fix: after undoing back to an empty prompt, the first left-arrow press arms the “press again to return to the agent view” confirmation instead of immediately taking you away. It is like a clipboard that does not empty when you browse papers, plus a warning light at the door before you leave the desk.
Tool search is available again on Google Vertex AI for Claude 4.5-generation and newer models. In auto mode, permission checks for parallel tool calls use the cache more efficiently; if you switch modes while a check is pending, it reliably asks again instead of applying a stale result. Reusing the cached conversation prefix also reduces prompt-cache costs. The Stats panel now includes cache tokens in totals and breaks them down by input, output, cache read, and cache write. It is like a paid car park reusing a verified plate record and printing every kind of charge on the receipt.
When /ultrareview compares a repository with a base that shares no Git history, its errors now point to the useful next step. A checkout with no branches is refused up front with advice to create one, while a complete clone is no longer incorrectly told to run git fetch --unshallow. It is like a map noticing that the starting point is not connected to any road, telling you to choose a road first rather than ordering you to dig a tunnel that already exists.
When Claude Code starts on Windows, it now reads process creation times through the native kernel32 call rather than spawning PowerShell for the job. Endpoint security tools that gate powershell.exe therefore stop prompting unnecessarily. The same information is still read; it simply uses Windows' own service counter instead. It is like checking a building meter without calling an outside technician through the lobby every time.
Background sessions now commit and push to preserve their work. They open a draft PR only when the task calls for one, follow the repository's CLAUDE.md Git instructions, and always finish by reporting where the work lives. This changes a collaboration habit: picture a colleague filing the finished work and telling you where it is, without sending a review request unless that was part of the assignment.
If /plugin install cannot find a plugin, it now refreshes a stale marketplace catalog and retries before saying it is unavailable. Plugins installed through /plugin activate immediately when safe instead of always requiring /reload-plugins. A plugin may also use "." as its skills path; if root-level SKILL.md validation fails, the message tells you to use the plugin root. It is like a clerk updating stock before declaring an item absent, then fitting a safe new part straight away and finding its manual at the top of the box.
/status now says whether a session is interactive or a background job that is attached or unattended. Emoji completion also accepts common alternate shortcodes such as :thumbsup:, :thumbsdown:, and :love:. And a session created with /fork receives its own worktree rather than working in the original session's checkout. It is like a roster showing who is on duty, a messenger understanding several familiar abbreviations, and a newly assigned colleague receiving a desk of their own.
Claude in Chrome now closes tabs it opened once it no longer needs them. If fast mode runs out of usage credits mid-session, the stream reports that fact instead of failing silently. And when a Monitor watch exits without producing output, it says so rather than merely reporting “stream ended.” It is like an assistant closing borrowed reference pages, telling you directly when the budget is gone, and a patrol officer reporting that nothing happened during the round.
When Gateway receives a non-string model field, it now rejects it with a 400 rather than forwarding it onward. That stops malformed data at the entrance. Separately, approval prompts no longer repeat the notice about a permission-mode change while an auto-mode classifier call was queued. It is like a post-office counter returning a photo placed in the address field instead of sending it to sorting, while a notice posted once does not cover the wall again for every person in line.
[VSCode] Added Focus view: a chat-menu toggle that hides tool activity behind an expandable per-turn summary with a live running-tool indicator, toggled with `Ctrl+Alt+F` or the "Claude Code: Toggle Focus view" commandAdded `mode: "mask"` for sandbox credential files on Linux and WSL — sandboxed commands read a sentinel copy (the whole file, or just the spans captured by an `extract` regex) while the sandbox proxy substitutes the real value on egress; on macOS file masking falls back to `deny`
Fixed sandboxed large uploads failing with TLS errors through the sandbox proxyAdded warnings to `claude plugin validate` when a marketplace or plugin name would be rejected by Claude Desktop's managed marketplace sync
Added a `prompt-audit` subcommand to the `claude-api` skill for auditing prompts and tool descriptions for patterns written for older modelsFixed a Bash tool permission-check bypass where zsh could execute hidden commands in `[[ ]]` regex conditionals; affected commands now prompt for permission
Fixed PowerShell permission checks mishandling paths containing quote characters on Windows; such paths now prompt for approvalFixed the thinking toggle having no effect for the rest of a session that started with thinking off; disabling an MCP server mid-connect no longer silently reverts
Fixed MCP servers from `--mcp-config` not being connected before the first turn in print mode (`-p`), which made the model emit tool calls as literal textFixed @-mentioned files being silently dropped when pressing Esc to retract a prompt and resubmitting it
Fixed a crash when preparing API requests for SDK MCP tools named after built-in object properties such as `constructor`
Fixed WebSearch failing with a 400 error at effort `xhigh`/`max` when thinking is disabledFixed Team and Enterprise spend-limit message incorrectly blaming the org's monthly limit instead of your individual spend limit
Fixed Bedrock authentication with AWS SSO named profiles failing in desktop-managed sessions on Windows machines that set a stray `HOME` environment variableFixed `CLAUDE_CODE_RESUME_INTERRUPTED_TURN=0` not disabling interrupted-turn auto-resume; falsy values are now honored
Fixed a rare wake-from-sleep race where two Claude Code processes could both refresh the same MCP connector or WIF OAuth token at once, forcing re-authenticationFixed renaming a session from Claude Code Desktop or claude.ai not updating the CLI's session name; session names from every rename surface are now sanitized
Fixed plugin- and org-delivered skills named after terminal-only built-ins (e.g. `/help`, `/feedback`) being un-invocable in non-interactive sessions
Fixed the "Plugins changed" notification lingering after plugins were reloaded instead of clearingFixed Vim mode: the yank register now survives dialogs, history search, and the transcript view instead of being silently emptied
Fixed Vim mode: undoing back to an empty prompt now arms the "press ← again" confirm before returning to the agent viewImproved tool search on Google Vertex AI: re-enabled for Claude 4.5-generation and newer models
Improved auto mode: permission checks for parallel tool calls are now cache-efficient, and switching modes while a check is pending reliably prompts instead of applying the stale result
Reduced prompt-cache costs for auto-mode permission checks by reusing the cached conversation prefix across decisions
Improved Stats panel to count cache tokens in its token totals, with a breakdown by input, output, cache read, and cache writeImproved `/ultrareview` error messages when a repo shares no history with its base: a checkout with no branches is now refused up front with advice to create one, and refusal hints no longer suggest `git fetch --unshallow` on clones that are already completeImproved Windows startup: process creation times are now read via a native kernel32 call instead of spawning PowerShell, so endpoint security tools that gate `powershell.exe` no longer promptChanged background sessions to commit and push to preserve work, open a draft PR only when the task calls for one, follow your CLAUDE.md git instructions, and always end by reporting where the work livesChanged `/plugin install` to refresh a stale marketplace catalog and retry before reporting a plugin not found
Changed plugins installed from `/plugin` to activate immediately when safe, instead of always requiring `/reload-plugins`
Changed plugins to accept `"."` as a `skills` path, and the root-level `SKILL.md` validation error now suggests using the plugin rootChanged `/status` to show the session kind: `interactive`, or a background job that is `attached` or `unattended`
Changed emoji autocomplete to accept common alternate shortcodes like `:thumbsup:`, `:thumbsdown:`, and `:love:`
Changed sessions forked with `/fork` to create a new worktree of their own instead of working in the original session's checkoutChanged Claude in Chrome to close the browser tabs it opens once it no longer needs them
Changed fast mode to report on the stream when usage credits run out mid-session, instead of failing silently
Changed Monitor: a watch that exits without producing any output now says so instead of reporting "stream ended"Changed the Gateway `model` field validation: non-string values are rejected with a 400 instead of being forwarded
Removed the repeated "Permission mode changed while the auto-mode classifier call was queued" notice from approval prompts