繁體中文
你正在寫提示,想加一顆愛心時,不必停下來翻表情符號鍵盤。現在輸入完整的 :heart:,Claude Code 就會插入 ❤️;只打到 :hea,畫面也會列出候選。這項表情符號短碼(用冒號包住名稱來代表一個符號的簡寫)就像手機的預測輸入:先給幾個字母,它便把可能要用的圖案送到手邊,寫句子的節奏不會被打斷。若候選清單反而讓你分心,打開個人設定檔 ~/.claude/settings.json,在最外層加入下面這一行即可關閉:
{"emojiCompletionEnabled": false}
若檔案裡已有其他設定,只需在同一對大括號內加入 "emojiCompletionEnabled": false,並用逗號和前一項隔開。
辛苦聊完一段工作,最怕關掉才發現紀錄根本沒存。現在 transcript(對話逐字紀錄)因磁碟滿了寫不進去,或 session(一次持續工作的對話)因承接的環境變數而沒有儲存時,Claude Code 會先警告你。舊紀錄裡就算有格式壞掉的附件,--resume、--continue 與 /resume 也不會因此整個失敗;接回剛啟動的背景對話時,預覽和輸入框間會保留一行空隙,不會突然跳動。像收據夾終於會在紙快塞不下時提醒你,也不會因一張破收據讓整本帳都打不開。
工具回傳很長的結果時,畫面雖只留摘要,記憶體卻曾偷偷抱著完整原文直到工作階段結束。這次修掉 MCP(Model Context Protocol,讓 AI 連接外部工具的協定)工具輸出被截短後仍佔滿記憶體的問題。Claude Opus 4.8 在 Bedrock 上的自動壓縮也終於會觸發,超過上限時 /compact 不再失敗;而 CLAUDE.md 或 SKILL.md 的 paths 設定塞進太多大括號,也不會讓 CLI(命令列介面)啟動時耗盡記憶體或卡死。像收納員只留下需要看的摘要,不再把整車舊紙箱偷偷堆在後房。
Windows 更新若半路失敗,最糟曾會把 claude.exe 一起弄丟;現在失敗時會自動放回保留的執行檔,Claude 不會憑空消失。另一個讓人無力的情況是把 session(一次持續工作的對話)送到背景後,背景 shell(執行命令的程式)有時再也停不下來,尤其 Windows 或電腦很忙時更明顯。這版把它修好,無論用 /background、左箭頭送進背景,或對話正結束,都能正常停止。這就像工廠換新機器時把舊機留在旁邊備援;若要停工,也終於能關掉仍在背景運轉的機器。
把背景 session(一次持續工作的對話)關在指定工作區,本來就該像把人留在同一間辦公室;但工作資料夾若經過 symlink(符號連結,指向另一個位置的捷徑檔),先前路徑沒有被認成真正位置,對話可能因此逃出 workspace folder(工作區資料夾)。現在背景隔離會先辨認捷徑最後通往哪裡,再套用邊界,避免工作跑到不該碰的資料夾。這是安全修復,不是新增限制:你照常從捷徑開工作,但門禁終於看得懂它通往哪一扇門。
在公司網路裡能開網頁,不代表 Claude Desktop 就連得出去:mTLS、TLS 驗證、OAuth 範圍與 proxy(代理伺服器,代替你轉送網路連線的中繼站)設定曾被它忽略。現在這些企業設定會在 Desktop session(一次持續工作的對話)生效。受管理的 OTEL_EXPORTER_OTLP_ENDPOINT 也能真正管住所有 telemetry(遙測資料,程式送出的運作紀錄)訊號,較低層級的個別設定不能再把資料改送到別處。像總公司替每輛車規劃好路線與回報站,現在所有車都會照著走,不會有一輛私自繞路。
使用螢幕閱讀器(把畫面文字念出來的輔助工具)時,啟動公告以前常被第一個提示畫面截斷;現在它會好好念完。思考狀態列也不再每幾秒為了更新經過時間與 token(AI 處理文字時使用的計數單位)數而重畫一次,少了反覆干擾。若有人在 Remote Control(遠端控制,讓他人連進同一工作階段)已出現授權提示後才加入,先前看不到那個待處理視窗,現在也能看見。就像會議室的廣播不再講到一半被蓋掉,晚進門的人也能看到桌上正等簽的文件。
透過 ssh 或 tmux 使用終端機時,footer 的 PR badge(Pull Request 徽章,連到程式碼審查頁的標記)以前因偵測不到支援而不能點;現在仍會做成可點的超連結。若你的終端機真的不想要,設 FORCE_HYPERLINK=0 就能關掉。登入即將到期的提醒則從五天前改為三天前,少一點太早的催促;frontend-design plugin(前端設計外掛)的推薦提示一生最多三次,不會無限重播。像桌上便利貼改成真正需要時才出現,紙上的地址也終於能直接點開。
一個指令若叫出太多 subagent(子代理,替主對話分頭做事的 AI 工作單位),電腦和預算都可能被拖垮。現在同時執行的子代理預設最多 20 個,可用 CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS 改上限;子代理預設也不能再繼續生子代理,真需要更深層協作才用 CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH 放寬。--max-budget-usd 到頂時,新的背景子代理會被拒絕,已在跑的也會停下來。這像專案經理先限制同時出勤人數、禁止員工無限找下包,預算用完更會立刻收工,而非繼續記帳。
English
Want a heart in the prompt you are writing? You no longer need to stop and hunt through an emoji picker. Type the complete shortcode :heart: and Claude Code inserts ❤️; type only :hea and it shows suggestions. A shortcode is a symbol name wrapped in colons, and it works like predictive text on a phone: offer a few letters and the likely emoji comes to you without breaking your writing rhythm. If the suggestion list is distracting, open your personal settings file at ~/.claude/settings.json and add this top-level setting:
{"emojiCompletionEnabled": false}
If that file already contains other settings, add "emojiCompletionEnabled": false inside the same outer braces and separate it from the previous entry with a comma.
After a long working conversation, discovering that nothing was saved is miserable. Claude Code now warns you if a transcript cannot be written, such as when the disk is full, or if session saving is disabled by an inherited environment variable. A malformed attachment in an old transcript no longer breaks --resume, --continue, or /resume, and attaching to a starting background session no longer makes the preview jump against the input. Think of a receipt folder that warns when it is full and does not make the whole ledger unreadable because one receipt is torn.
A tool can return a huge result while the screen shows only a shortened version; previously, the full result could still sit in memory until the session ended. This fixes that MCP (Model Context Protocol, the standard for connecting AI to external tools) memory leak. Auto-compact now fires for Claude Opus 4.8 on Bedrock, /compact works past the limit, and excessive brace groups in CLAUDE.md or SKILL.md paths no longer freeze or exhaust the CLI at startup. It is like a clerk keeping the summary you need instead of secretly piling the whole truckload of boxes in the back room.
A failed Windows update could once leave you without claude.exe; now it automatically restores the preserved executable instead of making Claude vanish. Another frustrating case was a background shell that sometimes could not be stopped after a session was sent to the background, especially on Windows or a heavily loaded computer. This is fixed whether you use /background, the left arrow, or the session is exiting. It is like replacing a factory machine while keeping the old one nearby as a backup, then being able to shut down the machine still running in the back room.
A background session should stay inside its assigned workspace, like a worker staying in the right office. But if its working directory was reached through a symlink (a shortcut file pointing elsewhere), the path was not converted to its real location and the session could escape its workspace folder. Background isolation now resolves that shortcut first, then applies the boundary. This is a security fix, not a new restriction: you can still open work through a shortcut, but the access gate now knows which door it actually reaches.
Being able to open a website on a corporate network did not always mean Claude Desktop could connect: it was ignoring mTLS, TLS verification, OAuth scopes, and proxy settings. Those corporate settings now apply to Desktop sessions. A managed OTEL_EXPORTER_OTLP_ENDPOINT also truly governs every telemetry signal, so lower-scope, signal-specific overrides cannot redirect data elsewhere. It is like headquarters setting the route and reporting depot for every vehicle; now every one follows it rather than one quietly taking a detour.
With a screen reader (an accessibility tool that reads on-screen text aloud), the startup announcement used to be cut off by the first prompt; now it can finish. The thinking status row also stops re-rendering every few seconds merely to refresh elapsed time and token counts. In Remote Control, people who join after a permission prompt appears can now see that pending dialog. It is like a meeting-room announcement that is no longer talked over halfway through, while late arrivals can still see the document waiting for a signature.
When you use a terminal through ssh or tmux, the footer PR badge (a Pull Request marker linking to code review) could be unclickable because support could not be detected. It now stays a hyperlink; use FORCE_HYPERLINK=0 if you truly want it off. The login-expiry warning moves from five days before expiry to three, and the frontend-design plugin suggestion appears at most three times in a lifetime instead of forever. It is like desk sticky notes appearing only when they matter, while the address written on them finally opens when clicked.
One request that launches too many subagents (AI workers that split work from the main conversation) can overwhelm both a computer and a budget. Concurrent subagents now default to a maximum of 20; change it with CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS. Subagents also no longer create nested subagents by default; use CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH only when deeper coordination is needed. When --max-budget-usd is reached, new background spawns are denied and existing ones stop. It is like a project manager limiting the crew, preventing endless subcontracting, and calling work off when the budget is spent.
原始 CHANGELOG
Original changelog打幾個字母,表情符號就自己送上門
Added emoji shortcode autocomplete in the prompt input: type `:heart:` to insert ❤️, or `:hea` for suggestions — disable with the `emojiCompletionEnabled` setting
Original changelog對話紀錄出狀況,不再悄悄消失
Added warnings when transcript writes are failing (e.g. disk full) or when session saving is off due to an inherited environment variable, instead of losing transcripts silently
Fixed `--resume`/`--continue` and `/resume` failing with a TypeError when a transcript has a malformed attachment entry
Fixed the transcript preview sitting flush against the input area when attaching to a starting background session; it now leaves the same one-line gap as the live layout, so the transcript no longer shifts when the session takes over
Original changelog長工作階段不再吃光記憶體、卡在整理關卡
Fixed a memory leak where truncated MCP tool outputs kept the full untruncated result in memory for the rest of the session
Fixed auto-compact never triggering for Claude Opus 4.8 on Bedrock and `/compact` failing once over the limit
Fixed a `CLAUDE.md` or `SKILL.md` paths frontmatter value with many brace groups OOM-killing or stalling the CLI at startup — brace expansion is now budget-bounded
Original changelog更新失手會復原,背景命令也叫得停
Fixed Windows auto-update failures that could leave `claude.exe` missing; failed updates now restore the preserved executable automatically
Fixed background shells sometimes becoming impossible to stop after a session is sent to the background (`/background` or `←`) or when the session exits on a heavily loaded machine, most visible on Windows
Original changelog背景對話不會沿捷徑跑出工作區
Fixed background session isolation not canonicalizing symlinked working directories, which could let sessions escape their workspace folder
Original changelog公司網路設定終於真的跟著 Claude Desktop 走
Fixed corporate mTLS, TLS-verify, OAuth scope, and proxy settings being ignored in Claude Desktop sessions
Fixed managed settings that set `OTEL_EXPORTER_OTLP_ENDPOINT` not governing all signals — lower-scope signal-specific overrides no longer redirect telemetry away from the managed endpoint
Original changelog看得見、聽得清,也不會漏掉遠端的授權窗
Fixed screen reader mode's startup announcement being cut off by the first prompt render, and the thinking status row re-rendering every few seconds to update elapsed time and token counts
Fixed Remote Control sessions not showing a pending permission prompt or dialog to viewers that connected after it appeared
Original changelog終端機的小提醒少打擾,該點的連結更好點
Improved footer PR badge links to be clickable hyperlinks even when terminal support can't be detected (e.g. over ssh/tmux); set `FORCE_HYPERLINK=0` to opt out
Changed the login-expiry warning to appear 3 days before expiry instead of 5
Capped the frontend-design plugin suggestion tip at 3 lifetime impressions instead of repeating indefinitely
Original changelog子代理有上限,也不會自己無限開分身
Added a cap on concurrently-running subagents (default 20, override with `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`) so one message can't fan out unbounded background agents
Changed subagents to no longer spawn nested subagents by default; set `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` to allow deeper nesting
Fixed `--max-budget-usd` not stopping background subagents: once the cap is reached, new spawns are denied and running background agents are halted