Claude Code 近期最重大更新:background session
Dr. J
2026-05-11,Anthropic 在 v2.1.139 把背景 session 從實驗功能升級成第一公民。
在session 下 /bg 或 claude --bg 把任務推背景
空 prompt 按 ← 直接 detach。
如果你還把 Claude Code 當成「跑完一次就關掉」的 CLI,這次更新會徹底改你的工作流。
為什麼這次更新重要
之前 Claude Code 的互動模型是「跑一個任務 → 它跑完 → 我看結果」。
Background session + agent view 把模型換成「我同時跑 5 個 task、它們各自進展、我隨時 peek 任何一個」。
對跑很久的任務(整理一整個 codebase、跨多個檔案改寫、長時間查資料)這是革命——你不用守在終端機前等。對同時做很多專案的人這是必要——終於可以同時推進 3 個 repo 而互不干擾。
對 /loop 這類定時任務——終於有 native 容器跑它而不用魔改 launchd 或 cron。
更深一層:這是 Anthropic 對「agent 不是 chat session」這件事的正式表態。
Chat 對話框 是「你問一句、它答一句」、只能綁一個終端、跑完就結束。
Agent 則是長期運作的個體,可以同時跑多個任務,而且關掉視窗也不會消失、隨時能接著做。
不只是「在背景跑」,是換了一套架構
Background session 不再附屬於終端機。系統開了一個 per-user supervisor process,host 所有背景 session——終端關掉、session 還在。
機器 sleep 中斷後 claude respawn --all 一鍵全部復活。
CLI auto-update 時 supervisor 用 file watcher 偵測 binary 更新後自動重啟進新版。
每個 session 閒置約一小時,supervisor 會把它的 process 停掉省資源,state 留在 disk,下次 attach 時 fresh process 從原處接續。
其實就像是可視化的 tmux,不用過下指令就可以操作不同任務切換。
Agent view 的全新操作介面
打開 claude agents,你看到的 row 不是歷史紀錄,是當下還活著的會話。圖示語義設計得很精:
✻/ 動畫✽— 活著、即時回應∙— process exit 了但可以 peek / reply / attach✢—/loop任務在等下次 iteration
顏色:動畫 = working、黃 = needs input、灰 = idle、綠 = completed、紅 = failed。
最妙的是 row 右邊的一行摘要——由 Haiku-class 模型即時生成,每 15 秒最多 refresh 一次(每 turn 結束再更新一次)。你可以掃過 10 個 row,不開 transcript 就知道每個 session 在幹嘛、卡在哪、產出什麼。代價:每個 active session 至少每 15 秒一次 Haiku call,多 session 並行的累積成本要算進規劃。
還有一個小訣竅 Space 開 peek panel——看訊息、可以回覆、不 attach(重點是不打斷其他 session 的 process)
Enter 才接管終端
Shift+Enter 直接 dispatch + attach。
Ctrl+S 切 group by state / directory
Ctrl+T pin session 到頂;Ctrl+X 連按兩下刪 session。
Dispatch prompt 還有前綴語法:
@<repo> 在 sibling repo 跑
/<skill> 建議 skill
#<num> 自動選處理該 PR 的 session。
另外,session 開了 PR,row 右側出現狀態點(黃 = waiting / failed checks、綠 = passed、紫 = merged、灰 = draft),dashboard 直接點進去。
最容易被低估的設計決定:自動 worktree 隔離
如果光是「session 在背景跑」,10 個並行 session 同時動同一個 repo會導致互相覆蓋對方寫的檔案,將會造成災難。
Anthropic 的解法:
Before editing files, Claude moves the session into an isolated git worktree under
.claude/worktrees/, so parallel sessions can read the same checkout but each writes to its own.
並行 agent 的關鍵就是每個 bg session 在第一次寫檔前自動 EnterWorktree,分支命名前綴 worktree-<slug>、路徑 .claude/worktrees/worktree-<slug>/。
重點是強制一定要在 worktree 中才能編輯檔案!
但這個設計有兩個你必須記住的陷阱:
陷阱一:worktree 跟 session 綁定,刪 session = 刪 worktree。 官方原文:「Deleting removes the session from agent view and cleans up its worktree, including any uncommitted changes.」Ctrl+X 連按兩下、claude rm <id> 都會把 worktree 連同未 commit 的變更一起刪除。
刪 session 之前要處理好自己想留的東西。
陷阱二:worktree 預設從 origin/<default> 開,不是本地 HEAD。
設定值 worktree.baseRef:fresh(default,從 origin)/ head(從本地 HEAD)。
如果你本地有未 push 的 commit、想讓 bg session 看得到——設 head;要乾淨基底——留 fresh。
第三個值得注意的是 worktree.bgIsolation:auto(default)/ none。
設 none → bg session 直接動主 checkout、不再自動 EnterWorktree。除非你只跑單 session、否則不要關。
一個 v2.1.142 才修好的 bug 值得提
v2.1.139~141 之間有個惱人的 case:如果你已經用 git worktree add 手動建好 worktree、想在那 worktree 裡跑 bg session——會死鎖。session 啟動時試圖 EnterWorktree、偵測到同分支已有 worktree、refuse create duplicate;但 session 又因為要寫檔需要 worktree——Edit 全 block。
v2.1.142(2026-05-14)的 changelog:
Fixed background sessions not recognizing pre-existing git worktrees, blocking Edit while EnterWorktree refused to create a duplicate
如果你打算在已有的 worktree workflow 裡用 bg session——升 v2.1.142 是必做選項。
先確認一下claude --version 吧!
Limitations 官方明寫
- Rate limits apply:10 個並行 session 燒 quota 等於 10 倍速
- Sessions are local:不跨機;機器 sleep / shutdown → session 中斷
- Worktrees are deleted with the session:再說一次
第二點意思是:目前 bg session 不能在 Mac mini 啟、在 MacBook 看到——supervisor state 在~/.claude/daemon/、不跨機。要跨機就得用 Claude Code on the web。
如果你最近一次用 Claude Code 是 v2.0 以前——值得重新打開試試。介面變了,但更重要的是設計哲學變了。
來源:Claude Code Agent View 官方 doc、Changelog v2.1.139–v2.1.142。

Dr. J
喜歡這篇文章嗎?
訂閱電子報,不錯過最新內容!