返回首頁

Claude Code 近期最重大更新:background session

Dr. JDr. J
5 分鐘閱讀
Claude Code 近期最重大更新:background session

2026-05-11,Anthropic 在 v2.1.139 把背景 session 從實驗功能升級成第一公民。
在session 下 /bgclaude --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.baseReffresh(default,從 origin)/ head(從本地 HEAD)。

如果你本地有未 push 的 commit、想讓 bg session 看得到——設 head;要乾淨基底——留 fresh

第三個值得注意的是 worktree.bgIsolationauto(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 官方 docChangelog v2.1.139–v2.1.142。

Dr. J

Dr. J

喜歡這篇文章嗎?

訂閱電子報,不錯過最新內容!