繁體中文
你把任務丟給背景代理(background agent,讓 Claude 在背景幫你跑活、你先去忙別的的功能)之後,現在可以放心走開了。以前它有一堆怪毛病:在 macOS 上開啟或切換要莫名卡 15 到 20 秒、內部通行證(session token,系統認人用的臨時憑證)過期後整隻永遠叫不醒、回到列表畫面還會偷偷把跑到一半的子任務砍掉從頭重來;這批毛病一次修完,斷線還會自己接回來。就像洗衣店以前偶爾弄丟衣服、或把洗到一半的整批重洗,現在每件衣服的進度都記得牢牢的,你隨時回來拿都對得上。
打開 claude agents 的任務列表,現在一眼就知道每隻代理在幹嘛。以前每一列只顯示生硬的工具呼叫原文,看半天看不出進度;現在改成彩色的狀態字(例如「執行中」「等你回覆」)加上一句自動寫好的進度標題,欄位還會撐滿整個終端機寬度不再截斷,代理改過或推送過的 PR(pull request,請別人把你的修改合併進主程式的申請單)也會直接附上連結。就像貨運追蹤頁從一串看不懂的物流代碼,變成「包裹已到你家附近的營業所」這種人話。
覺得 Claude Code 哪裡怪怪的,現在打一句 /doctor 就能做全身健檢,而且它不只診斷、還會動手修;順口的別名 /checkup 也通。健檢項目也變多:會建議你精簡塞太肥的 CLAUDE.md(專案說明檔,Claude 每次開工都要先讀的備忘錄)——凡是 Claude 自己看程式碼就推得出來的內容都可以刪掉省空間;用 Homebrew 裝的人,更新檢查也改成對正確的更新頻道。就像健檢中心從「只印報告」升級成「當場幫你拔智齒」。
登入快到期時,Claude Code 現在會提前警告你,讓你在背景任務被打斷前先重新登入。以前更糟的是登入真的過期後,畫面只會冒出「所選模型有問題」這種牛頭不對馬嘴的錯誤,害你以為是模型壞了;現在會老實告訴你「請執行 /login」。就像大樓門禁卡快失效時警衛先提醒你去換卡,而不是等你被鎖在門外還騙你「是門壞了」。
這一輪把幾個吃效能的老毛病一起減掉了。長回覆串流(streaming,答案一邊生成一邊逐字顯示)時不再整個畫面重繪,打字和捲動都變順;對話額度指標以前每講一輪就重新掃描整段對話、白吃記憶體和 CPU,現在不會了;程式本體瘦了約 7 MB、啟動時少吃約 7 MB 記憶體;自動更新下載改成邊下邊寫進磁碟,尖峰記憶體省下約 400 MB。就像家裡同一週換了省電燈泡、又修好漏水的水龍頭——每一項都不起眼,帳單加起來有感。
自動模式(auto mode,讓 Claude 不逐一問你就自己執行的模式)加了三道新保險。第一,禁止竄改對話紀錄檔,留底的證據動不得;第二,遇到 rm -rf 後面接一個看不出內容的變數(也就是刪除指令指向的位置不明)時,會先停下來問你再動手;第三,背景任務的通知現在會明講「過程中沒有任何人工核可」,避免有人在對話裡偽造一句「使用者已同意」就騙過系統。就像自動駕駛多了三個感測器:黑盒子上鎖、看不清路況先減速、儀表板不讓人貼假的綠燈。
Windows 使用者這條要看:以前清理工作樹(worktree,讓同一個專案多開幾份平行工作副本的 git 功能)時,如果裡面藏著 NTFS 目錄捷徑(junction,Windows 上把一個資料夾指向另一個位置的分身),刪除會順著捷徑刪到工作樹外面的真檔案;現在修好了,刪除只動工作樹自己的東西。就像拆違建時以前會順著水管拆到隔壁鄰居家,現在確實只拆自己這一戶。
有裝 MCP 伺服器(Model Context Protocol,讓 Claude 外接其他工具服務的插座標準)的人,這輪有兩個修復。一是你在設定裡寫的單一伺服器逾時秒數(request_timeout_ms)以前會被無視、新對話一律用預設 60 秒就砍線,跑比較久的工具老是被斷頭,現在真的照你設的來;二是走 OAuth 登入(把登入委託給原服務認證的機制)的伺服器,以前只要一次換證失敗就逼你手動重新登入,現在小失誤會自己重試接上。就像延長線以前標示耐重 10 公斤、實際 6 公斤就跳電,現在標多少就耐多少。
用 /commit-push-pr 一條龍提交時,推送(git push,把你的修改上傳到遠端儲存庫)這步不再多跳一次確認。以前只有推到 origin(預設遠端的慣用名字)會自動放行,推到你自己設定的推送遠端還是會被攔下來問;現在只要是 repo 設定裡指名的推送目的地,一樣直接放行。就像社區大門的車牌辨識,以前只認你的舊車牌,現在你登記過的車都直接開門。
打 /model 挑模型時,價格標籤不再張冠李戴。以前清單有時會把 A 模型的單價印在 B 模型那一列,害你以為換了個便宜的、其實更貴;順帶也不再對「根本不照官方定價收費」的第三方供應商硬印官方牌價。就像菜單以前會把牛排的價錢印在義大利麵旁邊,現在每道菜對準自己的標價,代售的菜也不再亂掛別家的價目。
English
Once you hand a job to a background agent (a feature that lets Claude keep working on a task while you go do something else), you can now actually walk away. It used to have a pile of quirks: opening or switching sessions on macOS could stall for 15–20 seconds, an expired internal session token (the temporary pass the system uses to recognize you) could leave a session permanently unresponsive, and returning to the list view could silently kill half-finished subagents and restart them from scratch. All of these are fixed, and dropped sessions now reconnect on their own. It's like a laundry service that used to occasionally lose your clothes or rewash a half-done load; now every item's progress is tracked, and whenever you come back, it all checks out.
Open the claude agents task list and you can now tell at a glance what every agent is up to. Rows used to show raw tool-call text that told you nothing; now each shows a colored state word (like "working" or "needs input") plus an auto-written one-line headline, the status column stretches across the full terminal width instead of truncating, and any PR (pull request, the request form for merging your changes into the main code) an agent touched is linked right there. It's like a package-tracking page upgrading from cryptic logistics codes to "your parcel has reached the local depot" in plain words.
When Claude Code feels off, one /doctor now runs a full checkup — and it doesn't just diagnose, it can fix what it finds; /checkup works as an alias. The checkup also covers more ground: it can propose trimming an overweight CLAUDE.md (the project memo Claude reads before every work session) by cutting anything Claude could figure out from the code itself, and Homebrew installs now get their update check compared against the right release channel. It's like a health clinic upgrading from "here's your report" to "let's pull that wisdom tooth right now."
Claude Code now warns you before your login expires, so you can re-authenticate before background sessions get cut off. Worse before: once the login actually expired, every request failed with a misleading "There's an issue with the selected model" error, sending you hunting for a model problem that didn't exist; now it plainly tells you to run /login. It's like a building guard reminding you to renew your keycard before it dies, instead of letting you get locked out and telling you "the door is broken."
This round trims several old performance drains at once. Long streaming responses (answers appearing word by word as they generate) no longer redraw the whole screen, so typing and scrolling stay smooth; the context-usage indicator used to re-scan the entire transcript after every single turn, burning memory and CPU for nothing — not anymore; the binary slimmed down by about 7 MB and uses about 7 MB less memory at startup; and auto-update downloads now stream to disk instead of piling up in memory, cutting peak usage by roughly 400 MB. It's like swapping in LED bulbs and fixing a dripping faucet in the same week — each change is small, but the bill notices.
Auto mode (the mode where Claude acts without asking you step by step) gains three new guardrails. First, tampering with session transcript files is blocked — the paper trail stays untouchable. Second, before running rm -rf on a variable it can't resolve (a delete command whose target is unclear), it now stops and asks you. Third, background task notifications explicitly state that no human input has occurred, so a fabricated "the user approved this" line planted in a transcript can't trick the system. Like a self-driving car gaining three sensors: a locked black box, slowing down when the road is unclear, and a dashboard nobody can tape a fake green light onto.
Windows users, this one's for you: removing a worktree (a git feature that gives one project several parallel working copies) used to follow any NTFS junction or directory symlink (a Windows shortcut that points a folder at another location) hiding inside it and delete real files outside the worktree; that's fixed, and removal now touches only the worktree's own files. Like a demolition crew that used to follow the plumbing into the neighbor's house — now it strictly tears down only your unit.
If you run MCP servers (Model Context Protocol, the socket standard that lets Claude plug into outside tools), two fixes this round. First, the per-server timeout you set (request_timeout_ms) used to be ignored — fresh sessions cut every call off at the default 60 seconds, beheading long-running tools; it now honors your setting. Second, OAuth-based servers (which delegate sign-in to the original service) used to demand a full manual re-login after a single failed token refresh; small hiccups now retry and reconnect on their own. Like a power strip that claimed a 10 kg rating but tripped at 6 — now it holds exactly what the label says.
When you run the one-stop /commit-push-pr, the push step (git push, uploading your changes to the remote repository) no longer throws an extra confirmation. It used to auto-allow pushes only to origin (the customary name for the default remote), stopping to ask about the push remote you'd actually configured; now any destination named in your repo's config sails through too. Like a gated community's plate reader that only knew your old car — now every car you've registered opens the gate.
When you open /model to pick a model, price tags no longer land on the wrong row. The list could print one model's price next to another model's name, letting you "switch to something cheaper" that wasn't; it also stops quoting first-party list prices for third-party providers that don't bill by them at all. Like a menu that used to print the steak's price next to the pasta — every dish now wears its own tag, and consignment dishes stop borrowing another shop's price list.
原始 CHANGELOG
Original changelog背景代理不再卡死、斷線、偷偷重跑
Fixed opening or switching background agent sessions on macOS stalling for 15–20 seconds due to a false low-memory detection (regression in 2.1.196). Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale — the session now recovers automatically. Fixed returning to `claude agents` silently stopping running subagents and re-running the prompt from scratch — their work now carries over. Fixed background agents crash-looping when their working directory was deleted, replaced by a file, or became an invalid path. Fixed a background daemon auto-upgrade failure silently killing all running background sessions. (2.1.203)
Original changelog背景任務列表一眼看懂:彩色狀態+一句話進度
Improved agent view: rows now show a colored state word and a classifier-written headline instead of raw tool call text, and the peek opens with full status including the exact ask for blocked sessions. Improved agent view: sessions that edit, merge, comment on, or push to an existing PR now link it in `claude agents`. Improved agents view: status column now uses full terminal width instead of truncating at 64 characters. Changed agents view: Ctrl+X now permanently removes a completed session, and sessions no longer render twice. (2.1.205–2.1.206)
Original changelog/doctor 升級成一站式健檢,還會幫你動手修
`/doctor` is now a full setup checkup that can diagnose and fix issues; `/checkup` is its alias. (2.1.205) Added a `/doctor` check that proposes trimming checked-in `CLAUDE.md` files by cutting content Claude could derive from the codebase. Fixed `/doctor`'s update check to compare Homebrew installs against their cask's channel instead of the settings channel. Fixed `/status` listing the same broken-install warning twice. (2.1.206)
Original changelog登入快過期會先提醒,過期也不再誤報成模型故障
Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted. (2.1.203) Fixed an expired login failing every model with a misleading "There's an issue with the selected model" error instead of prompting to run `/login`. (2.1.206)
Original changelog更順更省:長回覆不再整屏重繪,更新時少吃 400 MB 記憶體
Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen. Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it. Fixed a memory and per-turn CPU regression in interactive sessions: the context-usage indicator no longer re-analyzes the entire transcript after every turn. (2.1.203) Auto-update binary downloads now stream to disk instead of buffering in memory, cutting the updater's peak memory usage by roughly 400 MB. (2.1.205)
Original changelog自動模式加了三道保險,危險刪除會先停下來問你
Added an auto mode rule that blocks tampering with session transcript files. Improved auto mode to ask before running `rm -rf` on a variable it can't resolve from context. Background task notifications now explicitly state that no human input has occurred, preventing fabricated in-transcript approvals from being acted on. (2.1.205)
Original changelogWindows 使用者注意:清理工作樹不會再誤刪外面的檔案
Fixed Windows worktree removal deleting files outside the worktree when an NTFS junction or directory symlink existed inside it. (2.1.205)
Original changelogMCP 外掛更耐用:逾時設定真的生效、斷一次線不用重登
Fixed MCP servers configured via `--mcp-config` or `.mcp.json` ignoring a per-server `request_timeout_ms`, which caused long-running MCP tool calls to time out at the 60s default in fresh sessions. Fixed OAuth MCP servers requiring manual re-authentication after a single failed token refresh. (2.1.206)
Original changelog/commit-push-pr 推送不再多問一次
`/commit-push-pr` now auto-allows `git push` to the repo's configured push remote (`remote.pushDefault`, or the sole remote when only one is configured) in addition to `origin`. (2.1.206)
Original changelog/model 選單的價格標籤不再張冠李戴
Fixed `/model` picker rows printing a price for a different model than the row named, and stopped quoting first-party list prices on providers that don't bill them. Fixed server-provided model rows being misplaced in the `/model` picker when an entitlement or allowlist restriction drops the row they were positioned against. (2.1.206)