繁體中文

新功能

技能有了圖示,終端機清單仍排得整齊

打開 /skills 尋找常用技能時,現在能先看見每個 skill(可重複使用的工作說明)自己宣告的 emoji 圖示。圖示寫在 SKILL.md 檔案開頭的 metadata.icon;它會出現在 /skills 目錄清單、查看細節的標題,以及輸入斜線指令時跳出的自動完成選單。

終端機也會正確計算 emoji 這類多位元字元占多少寬度,因此圖示出現後,各欄文字不會歪成一團。

新功能

@ 補檔案路徑時,空資料夾也找得到

在提示裡打 @ 想指定一個檔案位置,卻只記得它放在哪個空資料夾嗎?路徑自動完成現在會把空目錄也一起建立索引,不再只看搜尋結果裡已有檔案的地方。這也涵蓋只有資料夾、尚未放進內容的工作區結構;你可以在完成清單中找到它,再繼續往下走,不必先在裡面建立一個檔案來讓搜尋看見它。

新功能

預設檢視工作區,讀檔不再反覆問同意

只是想讓工具在工作區根目錄讀檔或列出檔案,卻一直跳出批准詢問,會把檢查工作切得零碎。預設的 review mode(檢視模式,只檢查內容)現在會自動授予工作區範圍的讀取權限,因此這兩種動作不用重複確認。

界線沒有因此放寬:要修改檔案,或要接觸工作區以外的位置,仍會照常要求確認。

效能優化

含子模組的 Git 專案,查看狀態少等一段

在含有 submodule(嵌在專案裡、各自有版本紀錄的子專案)的 Git 儲存庫查看狀態時,等待往往不是你改了什麼,而是工具又把子模組的工作樹一路遞迴掃過。現在 Git 檢查會跳過這種遞迴掃描,以免狀態顯示延遲;子模組指向的提交版本若更新,仍會持續追蹤。

問題修復

列印模式遇到小錯,不再把整次執行判失敗

把 CLI 放進自動流程時,-p 或 --print 的列印模式若遇到無害的工具錯誤或權限拒絕,過去會把整次執行當成失敗,並回傳非零的結束碼。現在即使用 --output-format json 或 stream-json,也只會在 cascade-level failure(錯誤一路傳到整體流程)時回傳失敗結束碼,行為會和互動工作階段一致。

這讓不開互動介面的執行結果,不再被局部狀況誤判。

問題修復

設定檔有看不懂的值,也不會被啟動時截斷

自己維護 settings.json 時,最怕某個新設定值或語法寫錯,程式一開就把原本的內容覆寫掉。現在啟動時若遇到無法辨識的設定值或語法錯誤,CLI 會保留磁碟上既有的設定檔,不再存回一份被截斷的版本。

你可以回頭修正那個項目,不必先從殘缺檔案救回其他設定。

問題修復

沒指定代理設定時,內建自訂項目也列得出來

沒有特別指定 agent configuration(代理的設定資料)時,輸入 /skills、/plugins、/agents 或 /hooks 卻被告知找不到自訂項目,容易誤以為內建內容不見了。現在這些列出指令會先掛載內建自訂項目,再顯示清單,因此沒有明確的代理設定也能看見它們。

這改的是清單檢視,不是要求你先建立一份代理設定。

問題修復

中日韓草稿串流時,不再憑空插入空格

主提示區正在串流顯示中日韓草稿時,字與字之間偶爾被插進不該有的空格,讀起來就像句子被拆散。這次會在更新逐字稿的邊界整理空白字元,避免 CJK(中文、日文與韓文)文字被多塞空格。它處理的是更新交界,不是把你的草稿內容重新改寫。

修正針對的是主提示區的串流更新,讓草稿依原本的字距呈現。

問題修復

對話結束後,背景轉圈不再空轉喚醒 CPU

一輪對話已經結束,畫面上的 spinner(表示處理中的轉圈動畫)本該停下,卻仍在背景持續跳動。這個迴圈現在會在回合完成後停止,因此 CLI 閒置時不再因為它產生不必要的 CPU 喚醒。尤其你暫時不輸入下一個要求時,背景不會再為這個已結束的回合空轉。

你不必做任何設定;修正的是完成回合後仍持續運作的背景動畫。

English

FEATURE

Skills gain icons without throwing terminal lists out of line

When you open /skills to find a familiar skill (a reusable set of work instructions), each one can now show the emoji icon it declares. The icon lives in metadata.icon at the top of its SKILL.md file. It appears in the /skills catalog, detail headers, and slash-command autocomplete popups.

The terminal also calculates the display width of multi-byte Unicode characters correctly, keeping the columns aligned after icons arrive.

FEATURE

@ path completion can now find empty folders too

Typing @ to name a file path but remembering only its empty folder used to leave you stranded. Path autocomplete now indexes empty directories too, instead of seeing only places where search results already contain files. This includes workspace structures made up solely of folders with no contents yet, so you can find the directory in the completion list and keep navigating.

FEATURE

Default review mode stops repeatedly asking to read workspace files

Repeated approval prompts can break up a simple inspection when a tool only needs to read or list files under the workspace root. Default review mode (a mode for examining content) now automatically grants workspace-scoped read access, so those two actions no longer need repeated confirmation.

The boundary remains: changing files or accessing anything outside the workspace still asks for confirmation.

PERF

Git status checks avoid an extra sweep through submodule worktrees

In a Git repository with submodules (nested projects that keep their own version history), a status check can spend its time recursively scanning each submodule worktree. Repository inspection now skips that sweep to remove status latency, while still tracking updates to the commit pointer each submodule uses.

BUGFIX

Print mode no longer marks a run failed over benign tool errors

When you put the CLI into an automated flow, print mode with -p or --print used to mark the whole run as failed and return a non-zero exit code for benign tool errors or permission denials. That is now fixed for --output-format json and stream-json too. A non-interactive run reports failure only for a cascade-level failure (one that reaches the overall run), matching an interactive session.

Local trouble no longer mislabels the whole result.

BUGFIX

Startup no longer truncates settings it cannot parse

If you maintain settings.json yourself, an unrecognized setting value or syntax mistake should not make startup overwrite what was already there. On encountering either one, the CLI now preserves the existing file on disk instead of saving a truncated version.

You can return to fix that entry without first rescuing the rest of your settings from a damaged file.

BUGFIX

Built-in customizations appear even without an explicit agent config

Without an explicit agent configuration (the data that configures an agent), /skills, /plugins, /agents, and /hooks could say no customizations were found, making built-in content seem absent. Their listing views now mount built-in customizations before showing the list, so they appear even with no agent configuration specified.

This changes the listing view; it does not require you to create an agent config.

BUGFIX

Streaming CJK drafts stop gaining stray spaces

While a CJK draft (Chinese, Japanese, or Korean text) streams into the main prompt, stray spaces could appear between characters and make the sentence look pulled apart. Streaming transcript updates now normalize whitespace at their boundaries, preventing those unwanted inserts.

The fix applies to streaming updates in the main prompt and keeps the draft at its intended spacing.

BUGFIX

The conversation spinner stops waking the CPU after a turn ends

After a conversation turn had already finished, the spinner (the rotating animation that signals processing) could keep ticking in the background. That loop now stops when the turn completes, so an idle CLI no longer causes unnecessary CPU wakeups from it.

No setting is required; the fix is for the background animation that kept running after completion.

原始 CHANGELOG

Original changelog技能有了圖示,終端機清單仍排得整齊
Added skill icon and visual branding support across the CLI, displaying emoji icons declared under `metadata.icon` in `SKILL.md` frontmatter across the `/skills` catalog list view, detail inspection headers, and slash command autocompletion popups, with proper multi-byte Unicode display width calculation to maintain terminal layout alignment.
Original changelog@ 補檔案路徑時,空資料夾也找得到
Improved `@` file path autocompletion by indexing empty directories alongside files in ripgrep search results, allowing unpopulated and directory-only workspace structures to be discovered and traversed during path completion.
Original changelog預設檢視工作區,讀檔不再反覆問同意
Improved permission management by automatically granting workspace-scoped read access under the default review mode, eliminating repetitive approval prompts for reading or listing files within the workspace root while strictly maintaining confirmation prompts for file modifications and external access.
Original changelog含子模組的 Git 專案,查看狀態少等一段
Improved Git repository inspection performance by skipping recursive submodule worktree scans while continuing to track commit pointer updates to eliminate status latency in repositories with submodules.
Original changelog列印模式遇到小錯,不再把整次執行判失敗
Fixed print mode (`-p`/`--print`, including `--output-format json` and `stream-json`) treating benign tool execution errors and permission denials as fatal run failures with non-zero exit codes, ensuring headless exit codes reflect only cascade-level failures and match interactive session behavior.
Original changelog設定檔有看不懂的值,也不會被啟動時截斷
Fixed the CLI overwriting and discarding unparsed configuration in `settings.json` when encountering an unrecognized setting value or syntax error on startup, preserving the existing configuration file on disk instead of saving a truncated version.
Original changelog沒指定代理設定時,內建自訂項目也列得出來
Fixed `/skills`, `/plugins`, `/agents`, and `/hooks` commands reporting that no customizations were found when invoked without an explicit agent configuration by mounting built-in customizations in listing views.
Original changelog中日韓草稿串流時,不再憑空插入空格
Fixed CJK draft jitter in the main prompt by normalizing boundary whitespace in streaming transcript updates, preventing unwanted spaces from being inserted characters.
Original changelog對話結束後,背景轉圈不再空轉喚醒 CPU
Fixed the conversation spinner animation loop continuing to tick indefinitely in the background after turns completed, eliminating unnecessary CPU wakeups while the CLI is idle.