Skip to main content
Agent view(使用 claude agents 開啟)是所有背景工作階段的一個螢幕:什麼正在執行、什麼需要您的輸入,以及什麼已完成。分派新工作階段,一目瞭然地查看它們的狀態,而不是滾動瀏覽記錄,並且只在需要時才介入。每個背景工作階段都是一個完整的 Claude Code 對話,在沒有終端連接的情況下持續執行,因此您可以隨時開啟、回覆和離開。 終端中的 Agent view。頂部的一行計算等待輸入、執行中和已完成的工作階段。四個工作階段分組在「需要輸入」、「執行中」和「已完成」下。每一行顯示工作階段的名稱、其最新狀態或問題,以及一個時間。底部是用於描述新任務的輸入和一行快捷鍵提示。 終端中的 Agent view。頂部的一行計算等待輸入、執行中和已完成的工作階段。四個工作階段分組在「需要輸入」、「執行中」和「已完成」下。每一行顯示工作階段的名稱、其最新狀態或問題,以及一個時間。底部是用於描述新任務的輸入和一行快捷鍵提示。 當您有多個獨立任務 Claude 可以在不需要您監看每一步的情況下執行時,請使用 agent view。分派一個錯誤修復、一個拉取請求審查和一個不穩定測試調查作為三行,在另一個視窗中繼續工作,並在某一行顯示需要您或有結果時檢查。 當您想在任何代理的工作階段中更直接地工作時,附加到該行以進入完整對話。 若要比較 agent view 與 subagents、agent teams 和 worktrees,請參閱 平行執行代理。Agent view 在您的機器上執行工作階段,您分派每一個;若要讓 Claude 從一個對話開始並在雲端追蹤平行工作階段,請參閱 Projects。
Agent view 處於研究預覽版本。隨著功能的發展,介面和快捷鍵可能會改變。

快速開始

本逐步解說涵蓋核心 agent view 迴圈:分派工作、在 Claude 工作時觀看其列更新、查看以檢查並回覆,以及附加以檢視完整對話。您分派的工作階段在關閉 agent view 後會繼續執行,因此您可以離開並稍後返回。
1

開啟 agent view

從您的 shell,執行:
如果您尚未接受該目錄的工作區信任對話,Claude Code 會在 agent view 開啟前顯示它,與 claude 顯示的對話相同。接受以儲存工作區的信任並繼續。如果您拒絕,Claude Code 會退出而不開啟 agent view。Agent view 開啟,底部有輸入框,隨著工作階段啟動,表格會填入。按 Esc 返回您的 shell;如果您透過以 ← 將工作階段移至背景來開啟 agent view,Esc 會改為返回該對話。您的工作階段在您離開時繼續執行,下次開啟 agent view 時會重新出現。
2

分派工作階段

輸入描述工作的提示詞並按 Enter。新的背景工作階段在該工作上啟動並顯示為一列,顯示它是否正在工作、等待您或已完成。新工作階段使用 agent view 標題中顯示的模型。它啟動時所在的權限模式取決於您如何開啟 agent view。您在此輸入的每個提示詞都會啟動自己的新工作階段。輸入另一個提示詞並按 Enter 會在第一個工作階段旁邊啟動第二個工作階段,而不是向其發送後續訊息。您可以以這種方式並行執行多個工作階段。每個工作階段獨立使用您的訂閱配額,因此在一次分派許多工作階段之前,請參閱限制。
3

查看和回覆

使用箭頭鍵選擇一列,然後按 Space 開啟查看面板。它顯示工作階段的最新輸出或它正在等待的問題,而不是完整的逐字稿。輸入回覆並按 Enter 發送,無需離開 agent view。
4

附加和分離

在一列上按 Enter 或 → 以在需要完整對話時附加。工作階段會接管終端機,成為完整的互動式 Claude Code 工作階段。在空白提示詞上按 ← 分離並返回表格。
5

帶入現有工作階段

這個步驟需要一個執行中的工作階段。如果您遵循了之前的步驟,您在此終端機中沒有開啟的工作階段,因此請在另一個終端機中開啟一個一般 claude 工作階段並先向其發送訊息。要將您已開啟的工作階段移入 agent view,在其中執行 /bg,或在空白提示詞上按 ← 以在一個步驟中將工作階段移至背景並開啟 agent view。在尚無訊息的全新工作階段中,/bg 會要求您先發送訊息,而 ← 可以立即運作。工作階段繼續執行並顯示為一列,與您分派的工作階段並排。
在一般 claude 工作階段內,提示詞頁尾的 ← 提示會計算正在等待您的背景 agent 數量,例如 ← 2 agents,當沒有任何 agent 需要輸入時會返回 ← for agents。超過 99 的計數顯示為 99+。當終端機獲得焦點時,計數大約每十秒刷新一次,當焦點返回時立即刷新。當計數變動時以及當 agent 完成時,它會短暫改變顏色,而當背景工作階段完成且沒有任何工作階段需要您的輸入時,它會短暫顯示已完成的數量,例如 ← 2 done。當啟用了 prefersReducedMotion 設定時,兩種閃爍都會關閉,並且在螢幕閱讀器模式中會隱藏此提示。

預設開啟 agent view

要讓 claude 在沒有引數的情況下開啟 agent view 而不是新對話,請開啟 /config 設定。
1

開啟設定

在一般 claude 工作階段中,執行 /config 並開啟 Open agents view by default。若要跳過選單,直接設定 defaultToAgentsView 鍵:
2

啟動 Claude Code

退出工作階段,然後執行沒有引數的 claude:
Agent view 會開啟以取代新對話。
當設定開啟時,若要啟動一般工作階段,請傳遞提示詞:claude "fix the login test"。若要關閉設定,在一般工作階段中或從 agent view 附加的工作階段中執行 /config defaultToAgentsView=false。

使用 agent 檢視監控工作階段

執行 claude agents 以開啟 agent 檢視。它會接管整個終端機,並按狀態分組列出每個工作階段,已釘選的工作階段和需要您處理的工作階段位於頂部。每一列顯示工作階段的名稱、目前活動和經過時間,經過時間從工作階段建立時開始計算;已完成工作階段的經過時間會固定為該次執行所花費的時間。 名稱會以該工作階段中由 /color 設定的顏色著色,包括當您使用 ← 或 /background 將工作階段移至背景 時。 根據預設,清單會顯示您已啟動的每個背景工作階段,涵蓋所有專案。在一個儲存庫中工作的工作階段和在另一個 worktree 中工作的工作階段都會出現在這裡,無論您從哪個目錄開啟 agent 檢視。若要將清單縮小到單一專案,請傳遞 --cwd:
這只會顯示在該目錄下啟動的工作階段。它仍然會列出已 移入 ~/projects/my-app/.claude/worktrees/ 下的 worktree 的工作階段。 您在其他終端機中開啟的互動式工作階段不會出現,直到您 將它們移至背景。工作階段產生的 subagent 和 隊員 不會列為單獨的列。

讀取工作階段狀態

每一列開頭的圖示,其顏色和動畫顯示工作階段的狀態: 另外,圖示的形狀有其自身的意義: 可能出現在列右邊緣的 #N 或 !N 標籤是指向工作階段的 pull request 或 merge request 的連結,不是狀態圖示的一部分。 agent 檢視開啟時,終端機分頁標題會顯示等待輸入的數量:當有工作階段需要輸入時為 2 awaiting input · claude agents,沒有時則為 claude agents。 若要從指令碼或其他程式讀取工作階段狀態,請使用 claude agents --json,而不是 ~/.claude/jobs/ 下的檔案。 當 agent 檢視開啟時,若本機背景工作階段開始需要您的輸入、完成或失敗,Claude Code 也會透過您設定的 終端機通知頻道 發送通知。依排程執行的工作階段,例如 /loop 工作階段,只在需要您的輸入時通知。通知使用與 Claude Code 其餘部分相同的 preferredNotifChannel 設定,並以 agent_needs_input 或 agent_completed 類型觸發 Notification hook。 背景工作階段不需要開啟任何終端機即可繼續工作。一個獨立的 監督程序 會執行它們,因此您可以關閉 agent 檢視、關閉您的 shell,或啟動新的互動式工作階段,您分派的工作會繼續進行。 工作階段狀態會保存在磁碟上,不受自動更新和監督程序重新啟動影響。當您的機器休眠時,工作階段也會被保留。它們的程序在喚醒時繼續執行,監督程序會重新連接到它們,而不會將時間間隔視為閒置。關機仍會停止執行中的工作階段;請參閱 工作階段在關機後顯示為失敗或停止 以了解如何復原它們。 在機器休眠時正處於回應中途的工作階段,恢復後可能沒有回應。當您開啟已停止回應的工作階段時,監督程序會重新啟動其程序,工作階段會從中斷的地方繼續被中斷的回應。

列摘要

每列中的單行摘要由 Haiku 級模型 產生,讓該列無需開啟逐字稿即可告訴您工作階段在做什麼、需要什麼或產生了什麼。當工作階段正在主動工作時,列文字最多每 15 秒根據工作階段自身的最近輸出更新一次,不會發送模型請求,並且模型會在每個回合結束時撰寫新的摘要。 工作中的列會顯示工作階段自述正在做的事,被阻擋的列則顯示它正在提出的問題。在較長的回合期間,模型也會每隔幾分鐘重寫摘要,讓忙碌的列不會持續顯示過時的摘要。摘要文字會填滿列的剩餘寬度;開啟 查看面板 即可閱讀被終端機邊緣截斷的句子。 當清單 按目錄分組 時,摘要會以彩色文字顯示的工作階段狀態開頭,例如 Needs input · double jump or wall climb?。在預設的狀態分組中,群組標題已標示狀態,因此列只會顯示摘要。 回合結束摘要和每次回合中途的重寫,都是透過您的一般提供者發送的一個簡短 Haiku 級請求,並依照與工作階段本身相同的 資料使用條款 計費和處理。模型重寫之間的 15 秒更新會重複使用工作階段自身的輸出,不會發送請求。在未設定 Haiku 級模型的第三方提供者或閘道上,請求會改用工作階段的主要模型;設定 ANTHROPIC_DEFAULT_HAIKU_MODEL 即可選擇一個模型。

Pull request 狀態

當工作階段 開啟 pull request 時,Claude Code 會在列的右邊緣新增連結到該 pull request 的標籤:
  • Claude Code 將 pull request 的標籤寫為 #1234,將 GitLab merge request 的標籤寫為 !1234。
  • 即使 Claude Code 無法偵測到超連結支援(例如透過 SSH 或 tmux),它仍會輸出連結。設定 FORCE_HYPERLINK=0 即可將標籤呈現為純文字。
  • 在您向工作階段發送後續訊息後,列會回到顯示即時進度,而 Claude Code 會保留該標籤。
處理現有 pull request 的工作階段也會以相同方式連結到它。Claude Code 依 Claude 執行的命令以不同方式尋找 pull request:
  • 當 Claude 使用 gh 編輯、留言、關閉或將 pull request 標記為就緒時,Claude Code 會連結該命令自身輸出中指明的 pull request。若 gh 命令擷取到的輸出未指明任何 pull request,則不會建立連結;gh pr merge 是常見情況,因為它只會將結果列印到互動式終端機。
  • 當 Claude 使用 gh pr checkout 簽出 pull request 或推送到分支時,Claude Code 會使用 gh pr view 查詢該分支,並連結其開啟中的 pull request。
  • Claude 推送時,pull request 不需要已經存在:Claude Code 會在同一目錄中之後執行的最多五個 git、gh、glab 或 curl 命令後重試分支查詢,因此在推送後建立的 pull request,包括 Claude 透過 GitHub REST API 建立的 pull request,會在重試找到它時建立連結。
當工作階段連結到多個 pull request 時,標籤會改為顯示數量,例如 3 PRs,並依最需要關注的開啟中 pull request 著色。開啟 查看面板 即可查看全部。 Pull request 編號會依其狀態著色: 對於以 pull request 作為結果的任務,請查看此標籤取得結果:當編號變成綠色時,審查並合併該 pull request。

查看和回覆

在選定的列上按 Space 以開啟查看面板。面板開啟時會顯示該列在終端機邊緣被截斷的句子,而顯示哪個句子取決於工作階段的狀態:
  • 等待您的工作階段:它提出的確切問題,位於回覆輸入上方
  • 已完成的工作階段:其結果
  • 工作中的工作階段:其完整狀態句子
接著會列出連結到該工作階段的所有 pull request。對於等待您的工作階段,其下方會有一行(例如 waiting 3m)顯示它已等待多久,這也是面板中唯一顯示的時間。列右邊緣的經過時間是另一個數字:它從工作階段啟動時開始計算。 大多數時候查看面板就足夠了,您不需要開啟完整逐字稿。 在查看面板中輸入回覆,然後按 Enter 將其發送到該工作階段。在回覆前加上 ! 則改為發送 Bash 命令。回覆的處理方式取決於工作階段以及您發送的內容:
  • 工作中的工作階段:/model、/effort、/rename 和 /usage 會立即執行。其他回覆會加入工作階段的 訊息佇列,而不會中斷回應,並在 佇列中的輸入生效時 生效。其他 命令 會等到回合結束才執行,即使是在工作階段自身的提示詞輸入中一輸入就會立即執行的命令也是如此
  • 內容恰好為 /stop 的回覆:無論工作階段正在工作或正在等待您,都會立即停止工作階段,而不會傳遞給它
  • Shell 工作:回覆(包括 /stop)會作為輸入內容送到該命令的終端機
當工作階段正在等待您時,從查看面板回答的方式取決於它在等待什麼:
  • 具有預定義選項的問題:面板會以編號列出選項。在回覆輸入為空時,按下選項的編號以填入該選項,再按 Enter 發送,或改為輸入您自己的答案
  • 沒有預定義選項的問題:輸入您的答案。當空白輸入顯示建議的回覆時,按 Tab 將其填入,並在發送前編輯
  • 權限提示或其他對話框,例如 沙箱 提示或 MCP 伺服器的 輸入請求:回覆無法回答它。您的回覆會在佇列中等待。若要回答對話框,請使用 → 附加
當 PermissionRequest 或 PreToolUse hook 針對工作階段所詢問的呼叫傳回 Claude Code 無法驗證的輸出時,列會在待處理請求的文字之前顯示 hook 事件,以及 hook output invalid: 和驗證錯誤。對於以其他方式失敗的 hook,列會顯示該 hook 失敗。工作階段仍會等待同一個請求。 當回覆無法傳遞時,錯誤訊息會說明該回覆是否已儲存。以 ! 或 / 為前綴的回覆一律不會被儲存。下次您重新啟動工作階段時,Claude Code 會將已儲存的回覆作為工作階段的下一個提示詞發送;其他回覆請再次發送。 在 按住模式 下啟用 語音聽寫 後,在回覆輸入聚焦時按住您的按鍵通話鍵,即可以聽寫代替輸入回覆。相同的方式也適用於 agent 檢視底部的分派輸入。 使用 ↑ 和 ↓ 查看相鄰的工作階段而無需關閉面板,或使用 → 附加。

附加到工作階段

在選定的列上按 Enter 或 → 以附加。agent 檢視會被完整的互動式工作階段取代。當您附加時,Claude 會發布一則簡短回顧,說明您離開期間發生的事。 附加時,工作階段的行為與任何其他 Claude Code 工作階段相同:命令、鍵盤快捷鍵和功能都可正常運作,但以下情況除外。 附加時,/install-github-app 和 /mcp 設定清單可正常運作,因為終端機前有人可以完成它們的對話框。當沒有人附加時,這些命令無法開啟對話框,因此工作階段會出現在 agent 檢視的 Needs input 下,列上顯示如 open this session to manage MCP servers 的內容,逐字稿中的回應也會說明相同的事。附加並再次執行該命令即可繼續;當您附加時,需要輸入的列會被清除。/mcp reconnect <server>、/mcp enable 和 /mcp disable 無論如何都可以在不附加的情況下運作。 無論您的 tui 設定為何,附加的工作階段一律以 全螢幕模式 呈現,因為背景工作階段沒有可附加內容的終端機捲動緩衝區。使用 PgUp、PgDn 或滑鼠滾輪捲動,並按 Ctrl+O 進入逐字稿模式。您終端機的原生捲動和 tmux 複製模式只會顯示目前的檢視區,與執行任何全螢幕應用程式時相同。 附加的工作階段不會 向您的終端機回報其狀態。 在空白提示詞輸入上按 ←,或執行 /exit,即可分離並返回 agent 檢視,無論您是從 agent 檢視開啟工作階段,還是從 shell 使用 claude attach <id> 開啟。 當 /btw 覆蓋層 開啟時,← 也會分離。需要 Claude Code v2.1.257 或更新版本。仍在回答中的旁支問題會在您離開期間繼續執行。下次您附加時,覆蓋層會重新開啟並顯示該問題或其答案。 在 Windows 上,如果您在附加後約半秒內按 ←,Claude Code 會顯示 Ambiguous ←, press again to detach,因為在這段時間內,終端機可能會重新傳遞您附加前的按鍵。再按一次 ← 即可分離。 Ctrl+Z 也會分離,但會回到您開始的地方:若您是從 agent 檢視附加,則回到 agent 檢視;若您執行的是 claude attach,則回到您的 shell。當對話框取得焦點且不回應 ← 時,請使用 Ctrl+Z。 附加時,Ctrl+C 保留其標準的中斷行為:它會取消執行中的回應或 ! shell 命令,而不是分離。在空白提示詞輸入上按兩次 Ctrl+C 會分離。 分離永遠不會停止背景工作階段:←、Ctrl+Z、/exit,以及按兩次 Ctrl+C 或兩次 Ctrl+D,都會讓它繼續執行。如果您在 /loop 等待下一次迭代時分離,迴圈會繼續執行,且該次迭代會在您不在場的情況下依排程開始。若要在分離前停止迴圈,請參閱 停止迴圈。若要從工作階段內部結束它,請執行 /stop。

在不離開終端機的情況下切換工作階段

在前景執行的工作階段(即您在終端機中啟動、而非從 agent 檢視附加的工作階段)中,在空白提示詞輸入上按 ← 會將其移至背景,並開啟已選定該列的 agent 檢視,讓您無需離開終端機即可切換工作階段。同樣按一次也會分離已附加的工作階段。 如果您在刪除提示詞輸入的最後一段文字或瀏覽提示詞歷史記錄後立即按 ←,Claude Code 會要求您確認:第一次按下會顯示 Press ← again to open agents,在已附加的工作階段中則顯示 Press ← again to go back to agents,第二次按下才會切換。 當 ← 將前景工作階段移至背景時,agent 檢視會在清單上方顯示 Your conversation moved to the background,並已選定該工作階段的列。接著:
  • 按 Enter 重新開啟對話。
  • 按 Esc 復原切換並返回對話。如果 Esc 顯示 Still starting — try again in a moment,表示背景工作階段尚未就緒,請稍後再按一次 Esc。
  • 按兩次 Ctrl+C 以退出到您的 shell。
當 Claude Code 無法重新開啟對話時,它會結束並列印一個可恢復該對話的 claude --resume 命令。 Claude 的任務清單 會隨對話移至背景工作階段,因此當您返回該列時,檢查清單會保持完整。 您按下 ← 的來源列,在您使用方向鍵或滑鼠移動選擇後,名稱仍會保持粗體且不變暗,讓您能分辨自己來自哪個工作階段。 如果您按 ← 時有工具正在執行,Claude Code 會等待它完成再移至背景,而 Claude 會在背景工作階段中繼續回應。再按一次 ← 即可立即移至背景而不等待。當進行中的背景工作無法轉移到背景工作階段時,Claude Code 會先顯示 Background this session? 對話框,與 /background 相同。 約十秒後,Claude Code 會不再等待,直接將工作階段移至背景,但以下這類情況除外:
  • 前景 subagent 仍在執行:Claude Code 會持續等待,讓 Claude 啟動的 前景 subagent 的工作得以轉移,並顯示 Still backgrounding after the current tool。再按一次 ← 即可不等待直接移至背景,這會讓這些 subagent 從頭重新開始。
  • 權限提示或問題正在等待您的回答:當權限提示或 Claude 提出的問題正在等待時,Claude Code 會持續等待並顯示 Still backgrounding after the current tool — a question is waiting for your answer. 如果您的回答讓回合得以繼續,例如在權限提示上選擇 Yes,Claude Code 會在目前工具完成時將工作階段移至背景。
  • 您在提示詞輸入中輸入文字:Claude Code 會取消切換,因為未發送的文字會留在您終端機的輸入框中,不會移至背景工作階段。它會顯示 Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.
  • 您停止了回合:Claude Code 會取消切換並顯示 Backgrounding cancelled — the turn was stopped. 例如,當您 使用 Esc 中斷 Claude、在主對話的權限提示上 不附註解 選擇 No,或在主對話中對 Claude 提出的問題按 Esc 時,回合就會停止。再按一次 ← 即可將工作階段移至背景。
  • 佇列中的訊息無法移動:您 在 Claude 工作時加入佇列 的訊息會隨對話移至背景工作階段。當其中某則訊息無法移動時,工作階段會留在前景,而 Claude Code 會顯示如 Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it. 的通知。
當 Claude Code 將工作階段移至背景時(無論是在約十秒後,還是在您再按一次 ← 後),它會停止 Claude 仍在前景執行的 shell 命令。Claude Code 不會針對該命令顯示 Background this session? 對話框。在背景工作階段中,Claude 沒有該命令曾經啟動的記錄,因此 Claude 可能會再次執行該命令。若要在工作階段移動時讓命令繼續執行,請在 Claude Code 仍在等待時按 Ctrl+B 將其轉為背景命令。 即使對話尚無任何訊息,按 ← 也會建立該工作階段的列,因此 → 仍可返回該工作階段。 您可以使用 /config 中的 leftArrowOpensAgents 設定,為前景工作階段關閉此快捷鍵。

組織清單

agent 檢視會將工作階段分組,讓需要輸入的工作階段位於頂部,Ready for review 和 Needs input 位於 Working 和 Completed 上方。這些群組名稱並非與上述 狀態 一一對應:當工作階段有需要審查或檢查失敗的開啟中 pull request 時,它會移至 Ready for review,而 Completed 會將已完成、失敗和已停止的工作階段集中在一起。 按 Ctrl+S 改為按目錄分組。您的選擇會在多次執行間保留。 在群組內:
  • 按 Ctrl+T 將工作階段釘選到頂部,並 在閒置時保持其程序執行
  • 按 Shift+↑ 或 Shift+↓ 重新排序工作階段
  • 按 Ctrl+R 重新命名工作階段
  • 在群組標題上按 Enter 以摺疊群組,但 篩選 啟用時除外,此時所有群組都會保持展開
若要從清單中移除工作階段,按 Ctrl+X 停止它,然後在兩秒內再次按 Ctrl+X 以刪除它。在群組標題上按 Ctrl+X 會在確認後刪除該群組中的每個工作階段。 即使停止嘗試失敗(例如因為 背景服務沒有回應),第二次按下仍會刪除工作階段:確認狀態會再維持兩秒,而刪除動作會自行結束工作階段的程序。按 Esc 即可關閉確認而不刪除。 除了 刪除工作階段會移除什麼 中說明的保留情況外,刪除會將工作階段從清單中移除,而 Claude 為其建立的 worktree 會被移除、保留或留在原位,取決於您的刪除方式以及 worktree 中的內容。對話逐字稿一律保留在您的本機上,可透過 claude --resume 取得。 若要在 Claude Code v2.1.212 或更新版本上找回工作階段,請在分派輸入中輸入 /resume。選擇器會開啟,依最新優先的順序列出您開啟 agent 檢視時所在儲存庫的過去工作階段,包括您已從清單中刪除的工作階段;已有列的工作階段不會列出。↑/↓ 移動選擇,Enter 會將選定的工作階段恢復為背景工作階段,使其以列的形式重新加入清單,Esc 則關閉選擇器。 選擇器只會在單純輸入 /resume 時開啟。指定目標、限定範圍或受限制的恢復無法由選擇器處理,因此在以下情況下,agent 檢視會改為顯示 attach to a session to run it 提示:
  • /resume 指定了 id 或搜尋詞
  • 檢視以 --cwd 限定範圍
  • 檢視以 --safe-mode 啟動
  • 檢視以 --permission-mode 或 --settings 等旗標開啟
螢幕上放不下的已完成工作階段會摺疊成 … N more 列。Completed 群組會填滿即時群組之後剩餘的垂直空間,而在較矮的終端機上,標題會壓縮成單一摘要行,讓工作中或需要輸入的工作階段保持可見。

篩選工作階段

在分派輸入的開頭使用以下其中一個篩選條件,即可在輸入時縮小清單範圍: 若要組合篩選條件,請以 a:、s:、n: 或 o: 開頭,再加上更多條件,以空格分隔。清單會顯示符合所有條件的工作階段。例如,s:blocked a:reviewer 會列出正在等待您的 reviewer 工作階段。 篩選條件啟用時,您摺疊的群組會展開以顯示符合的項目,並選定一個符合項目,因此按 Enter 即可開啟它。清除輸入即可移除篩選條件,這些群組會再次摺疊。

鍵盤快捷鍵

在 agent 檢視中按 ? 即可查看當下情境中的快捷鍵。下表為其摘要。 在 Agents 情境 中具有動作的快捷鍵會遵循您的 keybindings.json。Ctrl+G 也是如此,透過 Chat 情境的 chat:externalEditor 繫結。

分派新 agent

您可以從 agent view 分派新的背景工作階段、將現有的互動式工作階段傳送或複製到背景,或直接從 shell 啟動一個。

從 agent view 分派 agent

在 agent view 底部的輸入框中輸入提示詞,然後按 Enter 即可啟動新的背景工作階段。工作階段會根據提示詞自動命名;稍後可以使用 Ctrl+R 重新命名。 自動名稱是由 Haiku 等級模型撰寫的簡短標籤。工作階段之後取得的名稱也會顯示在其列上,包括當您在該工作階段中接受計畫時,工作階段取得的產生標題。 將圖片貼上到提示詞中,即可隨任務附上螢幕截圖或圖表。 貼上的文字超過 800 個字元或超過三行時,會摺疊為 [Pasted text #N] 預留位置,讓輸入保持在一行;完整文字會在您分派時送出。若要在分派前檢查或編輯摺疊的文字,請再次貼上相同的文字,預留位置就會展開回輸入框中。 為提示詞的部分內容加上前綴或提及,以控制工作階段的啟動方式: 有一小組命令會在 agent view 本身中執行,而不是分派:
  • /exit 和 /quit 會關閉 agent view
  • /logout 會將您登出
  • /model 會設定分派模型
  • /login 會開啟登入對話框,讓您無需附加到工作階段即可重新登入
  • 單獨的 /resume 或其別名 /continue 會開啟儲存庫過去工作階段的選擇器,以將其作為背景工作階段帶回。需要 Claude Code v2.1.212 或更新版本
Skill、您自己的命令,以及會展開提示詞的內建命令(例如 /init)會作為第一個提示詞傳送到新的背景工作階段。其他內建命令則會顯示 attach to a session to run it 提示。您輸入的所有內容都會保留在該提示旁的輸入框中,以便您編輯。 將重複性任務打包為 skill,可讓您從 agent view 重複啟動相同的工作流程,而無需重新輸入提示詞。 當相同的 @name 同時與 subagent 和同層級的儲存庫相符時,subagent 優先。不帶 @ 的第一個單字比對也同樣適用,因此剛好以您某個 subagent 名稱開頭的提示詞會分派該 subagent,而不是將該單字視為純文字。若要明確指定,請使用 @ 形式,或以不同的單字開頭提示詞以避免比對。

分派到特定目錄

新工作階段會在您開啟 agent view 的目錄中執行。若要以不同的目錄為目標,請使用以下任一方法:
  • 在該目錄中開啟 claude agents。
  • 在父目錄中開啟 claude agents,並在提示詞中使用 @<repo> 提及子儲存庫。輸入 @ 會列出以下目標:
    • 啟動目錄下一層的 Git 儲存庫
    • 您啟動所在的儲存庫中,位於其目錄樹內的已註冊 git worktree,例如 Claude 在 .claude/worktrees/ 下建立的 worktree,並標示其簽出的分支。在儲存庫外新增的 worktree(例如使用 git worktree add ../feature)不會列出
    • 清單中已有工作階段的任何目錄
    名稱包含空格的目錄不會列出。
  • 從 shell 中,cd 進入該目錄並執行 claude --bg "<prompt>"。
當 agent view 依目錄分組時,分派會將提示詞傳送到所選列的目錄,因此您可以選取一個群組並分派到其中,而無需重新輸入路徑。

將工作階段傳送或複製到背景

有兩個命令可將工作從您所在的工作階段移到背景:/background 會將目前的對話傳送到背景並釋放您的終端機,而 /fork 會傳送一份副本,讓您在原處繼續工作。

將工作階段傳送到背景

執行 /background 或其別名 /bg,可將目前的對話移到背景工作階段。傳遞提示詞(例如 /bg run the test suite and fix any failures)可先再給一個指令。如果您執行 /bg 時 Claude 正在回應,該回應會在背景工作階段中繼續。 結束仍有背景工作在執行的工作階段時(例如 subagent、背景 shell 命令、工作流程或 monitor),會顯示 Background work is running 對話框,而不是立即結束。選擇 Move to background and exit 即可以與 /background 相同的方式將工作階段移到背景,並返回您的 shell。當 agent view 已關閉時,不會顯示此選項。 如果清單上已有背景工作階段使用該對話的名稱,Claude Code 會為新列的名稱加上編號,例如 my-session (2),並保留現有列的名稱不變。若要重新命名新列,請在 agent view 中選取它並按 Ctrl+R。

使用 /fork 複製工作階段

執行 /fork 可將目前的對話複製到新的背景工作階段,同時原始工作階段繼續執行。副本會以截至該時間點的對話中所有內容開始;關於副本在何處執行,請參閱下方的項目。它也會帶入模型、權限模式、effort 等級,以及您在工作階段期間新增的任何目錄或「不再詢問」權限授予。副本會在 agent view 中顯示為獨立的一列。 fork 之後,兩個對話彼此獨立:副本所做的任何事都不會自行進入原始對話,但在啟用跨工作階段訊息的工作階段中,任一工作階段的 Claude 都可以明確地傳訊息給另一方。 複製工作階段需要 Claude Code v2.1.212 或更新版本;在 v2.1.161 到 v2.1.211 中,/fork 會改為啟動分叉的 subagent,此功能現在為 /subtask。當 agent view 已關閉時,/fork 會保持分叉 subagent 的行為,且 /subtask 無法使用。 傳遞提示詞(例如 /fork open a draft pull request with the work so far),副本會立即開始處理。若未提供提示詞,副本會等待其第一個指令:在 claude agents 中選取其列並按 Space 傳送一個指令,或執行 claude attach <id>。在等待期間,所選列會顯示 space to send it a prompt。 /fork 的確認訊息為一行,顯示副本的狀態(例如 session running)、其 agent view 列的名稱,以及供 claude attach 使用的工作階段 ID。點擊名稱即可切換到副本:此工作階段會移到背景(與按 ← 相同),並由 agent view 開啟副本的工作階段。 除非副本就地編輯,否則 Claude Code 會指示它在進行程式碼變更前先建立自己的 worktree。在 git 儲存庫外,只有從 hook 建立的 worktree 移出的副本才會收到此指示;若沒有 WorktreeCreate hook,副本會就地編輯。從您的 worktree 移出的副本也會被告知絕不可編輯、在其中執行命令或進入該 worktree,無論隔離設定為何。 副本的起始位置取決於目前工作階段的執行位置:
  • 與任何分派的工作階段一樣,副本會在編輯檔案前移到自己的 worktree。在此情況下,確認訊息不會提及副本的執行位置。
  • 當您的工作階段在啟動後移入其連結的 worktree 時,副本會從工作階段移動前的位置開始,並且除非它就地編輯,否則會在該處以自己的 worktree 進行程式碼變更。當您的 worktree 簽出在某個分支上時,該指示也會告訴任務建立在您的工作之上的副本,以您的分支作為其新分支的基礎,因為您的分支會持續在您的 worktree 中簽出。確認訊息以 runs in the origin tree 結尾。
  • 當您在具有主工作樹的儲存庫的連結 worktree 內啟動工作階段時,副本會在該主工作樹中開始,套用相同的「使用自己的 worktree」規則,但沒有分支指示。確認訊息在此也以 runs in the origin tree 結尾。
  • 在 bare 儲存庫配置的 worktree 內啟動的工作階段沒有可返回的主工作樹,因此副本會留在原處,確認訊息以 edits this checkout 結尾。當 worktree 隔離在不位於連結 worktree 內的工作階段中已關閉時,也會顯示相同的說明,因為副本此時會編輯您開啟的檔案。
使用副本不會繼承的啟動旗標所啟動的工作階段(例如取代的系統提示詞或 --tools 允許清單)無法 fork;Claude Code 會說明這一點,而不是建立不完整的副本。從 agent view 分派的工作階段可正常 fork:副本會使用與其來源工作階段相同的 agent 定義和附加指示啟動。

移到背景時會帶入的內容

移到背景會啟動一個從已儲存對話繼續的新程序,進行中的背景工作會轉移到該程序:執行中的背景 shell 命令、已移到背景的 subagent、動態工作流程、您使用 /loop 建立的排程任務,以及 Claude 對 artifact 留言的自動回覆,都會轉移過去並在該處繼續執行。subagent 會與它啟動的所有內容一起移動,因此只有當所有這些工作都能移動時,它才會轉移。若要停止進行中的背景工作而不是轉移它,請設定 CLAUDE_DISABLE_ADOPT=1 環境變數;Claude Code 接著會在移到背景前要求您確認。 當動態工作流程仍有 subagent 在執行時,Claude Code 會在移到背景前以 Background this session? 對話框詢問,並說明有多少 subagent 會重新啟動。選擇 Stay 可讓它們先完成。如果您確認,Claude Code 會在背景工作階段中重播該次執行:仍在執行的 subagent 會從頭開始,因此它們目前為止使用的 token 會再次消耗。關於哪些已完成的 subagent 會傳回其已儲存的結果、哪些會再次執行,請參閱暫停後繼續。 Claude Code 會停止無法轉移的背景工作,例如執行中的 monitor,並一併停止擁有 monitor 的背景 subagent。當有任何此類工作在執行時,Claude Code 會顯示 Background this session? 對話框,讓您在它停止工作前確認。 進入背景後,工作階段可以啟動新的 subagent、monitor 和背景命令,這些在之後分離和重新附加時都會持續執行。 原始啟動時的設定旗標會傳遞到已移到背景的工作階段,因此其 MCP 伺服器、設定和備援模型仍然有效:
  • --mcp-config 和 --strict-mcp-config
  • --settings
  • --setting-sources
  • --add-dir
  • --plugin-dir
  • --fallback-model
  • --allow-dangerously-skip-permissions
您在工作階段期間使用 /add-dir 新增的目錄也會一併帶入。帶入 --allow-dangerously-skip-permissions 會讓 bypassPermissions 在已移到背景的工作階段中保持可用,但不會授予任何新的權限:該模式仍需要您已有接受略過免責聲明的記錄。

從您的 shell 分派 agent

傳遞 --bg 或其完整形式 --background,即可啟動直接進入背景的工作階段:
提示詞是位置引數,而不是 -p 的值。Claude Code 會在建立任何工作階段之前拒絕 --bg 與 -p 或 --print 的組合,因為 --print 永遠不會啟動 claude agents 所附加的互動式工作階段。 如果您從終端機在尚未信任的目錄中執行 claude --bg,會先出現工作區信任對話框,並在您接受後啟動工作階段。如果您拒絕,Claude Code 會結束而不啟動工作階段。在無法顯示對話框的情況下(例如在指令碼中),命令會改以 Workspace not trusted 錯誤結束。 若要將您已定義的特定 subagent(例如 code-reviewer)作為工作階段的主 agent 執行,請將 --bg 與 --agent 結合使用:
如果名稱與您的任何 subagent 都不相符,啟動會失敗:Claude Code 會印出 no agent named 警告,並仍將工作階段回報為已移到背景,但工作階段會立即以 --agent '<name>' not found 錯誤結束。 當已移到背景的工作階段之後繼續或重新啟動時,Claude Code 會還原該 agent 及其工具限制;關於其系統提示詞,請參閱繼續的對話中的系統提示詞旗標。只要您已信任該工作區,它會先在工作階段自己的目錄中搜尋該 agent,因此從其他目錄繼續工作階段時,專案範圍的 agent 仍會載入。如果該 agent 已不存在,工作階段會以預設工具繼續,且其逐字稿開頭會顯示指出該 agent 名稱的警告。 若要在背景中繼續現有的對話,請使用 --resume 傳遞其完整的工作階段 ID:
在 Claude Code v2.1.257 或更新版本中,Claude Code 會以相同的 ID 繼續該工作階段,或以新的 ID 啟動副本,並印出一行 note: 說明為何無法就地繼續。當工作階段就地繼續時,claude agents 只會為其顯示一列。 當您將 --bg 與 --continue、單獨的 --resume,或帶有名稱或檔案路徑的 --resume 結合使用時,Claude Code 一律會啟動這樣的副本。新增 --fork-session 可刻意啟動副本,且不會顯示該說明。 傳遞 --name 可在 agent view 中設定工作階段的顯示名稱,取代自動產生的名稱:
移到背景後,Claude 會印出工作階段的短 ID 以及管理它的命令。當承載背景工作階段的服務尚未執行時,--bg 可能會先在此輸出上方印出 Starting background service…。當您傳遞 --name 時,名稱會顯示在短 ID 之後:

執行 shell 命令

若要將 shell 命令作為背景工作執行,而不是 Claude 工作階段,請傳遞 --exec。以下範例將 pytest -x 作為背景工作執行:
在 agent view 中,於分派輸入的第一個字元輸入 ! 即可分派相同類型的工作:! 會顯示為前綴,其後的所有內容即為命令,按 Enter 即可啟動工作。 該命令會以 PTY 支援的工作執行,並在 agent view 中顯示為一列,以最近一行輸出作為其狀態。shell 工作會以該命令取代 Claude 執行,因此不會呼叫任何模型,輸出也不會傳送到任何工作階段。 若要查看輸出,請附加到該列、按 Space 在不附加的情況下預覽,或從您的 shell 執行 claude logs <id>。擷取的輸出保留在記憶體中,不會寫入磁碟。該列及其輸出會在命令結束約五分鐘後自動清除,因此如果您需要結果,請在此之前讀取。

檔案編輯如何隔離

當您從 agent view 分派背景工作階段或使用 claude --bg 啟動時,工作階段會在您的工作目錄中啟動。在編輯檔案前,Claude 會將工作階段移到 .claude/worktrees/ 下隔離的 git worktree,因此平行的工作階段可以讀取相同的簽出,但各自寫入自己的 worktree。一旦工作階段進入其 worktree,Claude Code 就會為該工作階段及其產生的任何 subagent 強制執行 worktree 隔離。 Claude 在以下情況會略過 worktree:
  • 您使用 ← 或 /background 將已開啟的工作階段移到背景。該工作階段會繼續在原本工作的位置編輯檔案
  • 工作階段已位於連結的 git worktree 內,無論是 Claude 在 .claude/worktrees/ 下建立的,還是您使用 git worktree add 在其他位置建立的
  • Claude 正在編輯的檔案位於連結的 git worktree 內,例如工作階段或其 subagent 使用 git worktree add 建立的 worktree
  • 工作目錄不是 git 儲存庫,且未設定 WorktreeCreate hook
  • 寫入位置在工作目錄之外
若要為不適合使用 git worktree 的儲存庫關閉 worktree 隔離,請將 worktree.bgIsolation 設定為 "none"。背景工作階段接著會直接編輯您的工作副本,而不會先移入 worktree。將此設定新增到專案的 .claude/settings.json:
在 git 儲存庫外,工作階段會直接寫入工作目錄,彼此之間沒有隔離,因此請避免分派會編輯相同檔案的平行工作階段。如果您使用其他版本控制系統,請設定 WorktreeCreate hook,Claude 就會以與 git 相同的方式隔離編輯。 當 hook 在非 git 儲存庫的目錄中失敗時,Claude 會略過該目錄的隔離,並就地編輯工作目錄。在 git 儲存庫內,Claude 會在編輯前移入 worktree 的工作階段,在該移動發生之前無法對共用簽出使用 Edit、Write 或 NotebookEdit 工具。 若要找到工作階段的 worktree 路徑,請附加並檢查其工作目錄。 背景工作階段產生的 subagent 會繼承工作階段的工作目錄。一旦工作階段位於 worktree 中,subagent 的檔案編輯就會寫入該 worktree,而不是您的工作副本。若要改為給 subagent 其自己獨立的 worktree,請在其 frontmatter 中設定 isolation: worktree,或在產生它時傳遞 isolation: "worktree"。 當背景工作階段在 Claude 進入的 worktree 中進行了程式碼變更時,Claude Code 會指示 Claude 在完成前保留工作,使其在您刪除工作階段及其 worktree 後仍能保存:
  • 提交並推送:Claude 會不經詢問直接提交,並在儲存庫有遠端時推送分支。
  • 草稿 pull request:當任務需要時,Claude 會開啟一個,且#N 標籤會顯示在該列上。
  • 絕不:推送到 main 或 master、強制推送及合併。
  • 您的 git 指示優先:如果任務、CLAUDE.md 或記憶表示由您自行處理提交或推送,Claude 會將 git 操作留給您。
編輯並非由自己隔離的簽出的工作階段,在提交或切換分支前仍會詢問。這適用於隔離設定為 "none"、worktree 移動失敗,或工作階段在已存在的 worktree 內啟動的情況。 無論任務為何,Claude 都會以一份報告結束工作,說明它做了什麼以及工作位於何處:路徑、分支、pull request,或答案本身。

刪除工作階段會移除什麼

在 agent view 中按兩次 Ctrl+X,或使用 claude rm 刪除工作階段。除了下方保留的情況外,工作階段會從清單中移除。其逐字稿會透過 claude --resume 保留在您的電腦上,且移除在 supervisor 重新啟動後仍然有效。 Claude 為工作階段建立的 worktree 會如何處理:
  • Agent view 會移除它,包括未提交的變更,因此請先提交您想保留的內容。
  • claude rm 在它有未提交的變更時會保留它,連同工作階段列一起保留。
  • 當另一個執行中的工作階段正在使用或已鎖定某個 worktree 時,agent view 和 claude rm 都不會移除它,再次刪除也不會改變這一點。Claude Code 會保留 worktree 和工作階段,並指出保留的目錄及原因;在 agent view 中,工作階段的列會顯示 not deleted。請關閉另一個工作階段,然後再次刪除。
  • 當您刪除的工作階段,其 worktree 有 Claude Code 無法確認已保存在其他地方的提交時,Claude Code 會保留 worktree 和工作階段,且訊息會指出 worktree 的分支以及有多少提交尚未推送。訊息也會提供兩種後續做法:推送提交,或再次刪除以捨棄它們。 遠端上的提交不會阻擋刪除。位於您 origin 遠端預設分支之本機副本上的提交也不會,前提是該分支已在您的主簽出中簽出,也就是儲存庫目錄本身,而不是 worktree。 在該拒絕之後,您可以選擇:
    • 若要保留提交,請推送它們,或將它們合併到該預設分支,然後再次刪除工作階段。
    • 若要捨棄它們,請在不推送的情況下再次刪除工作階段:在 agent view 中於其列上按兩次 Ctrl+X,或執行拒絕訊息所印出的 claude rm <id> --discard-unpushed 命令。這會移除工作階段和 worktree 及其分支,捨棄未推送的提交和任何未提交的變更。
    當您再次刪除時,Claude Code 只會捨棄拒絕訊息所顯示的內容:如果 worktree 在此之後新增了提交,Claude Code 會再次保留它並顯示更新後的狀態。 當另一個已完成工作階段的記錄也指向該 worktree 時,您再次刪除時它仍會保留;請推送提交,然後再次刪除。
  • git 已無法辨識的 worktree(例如在 git worktree prune 之後)不會阻擋刪除。Claude Code 會刪除工作階段,並將目錄留在磁碟上。
  • 當 git 或您的 WorktreeRemove hook 無法移除 worktree 時,Claude Code 會保留 worktree 和工作階段,且訊息會指出原因。若是 hook,訊息會說明其結束方式(例如 exited 1),並引用其 stderr 的開頭。訊息也會告訴您接下來可以執行以下哪一項:
    • 再次刪除工作階段以強制移除目錄,方法是在 agent view 中於其列上按兩次 Ctrl+X,或執行 claude rm 拒絕訊息所印出的 claude rm <id> --force-remove-worktree <worktree-id> 命令。worktree 的分支會保留在儲存庫中。 只有在 Claude Code 能確認以下所有條件時,才會提供此選項:
      • 該目錄是儲存庫在 .claude/worktrees/ 下的連結 worktree 之一
      • worktree 及已簽出的 submodule 對追蹤檔案都沒有未提交的變更
      • 沒有其他工作階段的記錄指向它
      當 Claude Code 無法驗證 submodule 簽出的狀態時(例如已被獨立 git 儲存庫取代的 submodule),也不會提供此選項。
    • 修正造成阻礙的問題,例如提交或 stash 未提交的變更、將獨立的 git 儲存庫移出 worktree、關閉正在使用該目錄的任何程式,或修正 hook,然後再次刪除工作階段。
    • 自行移除目錄,然後再次刪除工作階段。
您自己建立並在其中啟動工作階段的 worktree,無論哪種情況都會保留在原處。 worktree 目錄不屬於任何 git 儲存庫的工作階段(因為儲存庫已被刪除,或 WorktreeCreate hook 在其他位置建立了該目錄)仍然可以刪除。當目錄中仍有檔案時:
  • Agent view 在捨棄它們之前,會要求相同的 Ctrl+X 連按兩次。對於 hook 建立的目錄,它會改為執行您的 WorktreeRemove hook,若沒有該 hook,則會拒絕刪除並保留工作階段。
  • claude rm 會保留工作階段和 worktree,並指出原因。
無論哪種方式,都會保留另一個已完成工作階段的記錄所指向的目錄。

設定模型

agent view 標頭中顯示的模型名稱是分派預設值。您從輸入框啟動的新工作階段會使用此模型,它來自您使用者設定中的 model 設定。您可以在 /model 選擇器中選取模型來設定,或直接編輯該設定。 若要為整個 agent view 工作階段覆寫分派預設值,請在開啟 agent view 時傳遞 --model。請參閱權限模式、模型與 effort。 若要從 agent view 內部變更分派預設值,請在分派輸入框中輸入 /model 並接著輸入模型名稱,然後按 Enter。標頭會更新以顯示該模型並帶有 (session) 標記,之後您分派的工作階段都會使用它。輸入 /model default 可清除覆寫並返回分派預設值。此覆寫會在目前 claude agents 執行的剩餘期間持續有效,且不會寫入您的設定檔。以下範例在 Opus 上分派一個工作階段,接著在 Sonnet 上分派下一個:
每個背景工作階段都可以使用不同的模型執行。若要為單一工作階段覆寫模型:
  • 從 shell 中,搭配 claude --bg 傳遞 --model。
  • 附加到執行中的工作階段並執行 /model 進行切換:從選擇器中挑選,或輸入 /model <name>,都會儲存為您新工作階段的預設值,除非您在選擇器中按 s 進行僅限此工作階段的切換。如果工作階段被重新產生,僅限此工作階段的切換仍會保留。
  • 分派其 frontmatter 設定了 model 欄位的 subagent。

權限模式、模型與 effort

背景工作階段會依據分派的位置和方式,取得其設定、供應商、權限模式、模型和 effort。以下各小節說明每個來源,以及 supervisor 重新啟動工作階段時會保留的內容。

設定與供應商

背景工作階段會從其執行所在的目錄讀取設定,就如同您在該處以它帶入的設定旗標啟動 claude 一樣。這包括專案設定中的 env 值,因此在該處設定的 ANTHROPIC_MODEL 或供應商變數會套用到該目錄中的每個背景工作階段。 背景工作階段也會以您分派它的 shell 的 PATH 執行,因此它執行的命令會找到與您終端機相同的工具。它也會保留該 shell 的雲端供應商選擇,例如 CLAUDE_CODE_USE_BEDROCK 或 CLAUDE_CODE_USE_VERTEX,以及其 ANTHROPIC_DEFAULT_*_MODEL 別名和您在該處匯出的任何 CLAUDE_CODE_EXTRA_BODY 覆寫。

LLM 閘道

如果您透過 LLM 閘道路由 Claude Code,請將閘道變數放在設定檔的 env 區塊中,而不是在 shell 中匯出,背景工作階段就會連同其餘設定一起讀取它們。在設定檔中設定會顯示該區塊,以及憑證應使用哪個設定檔。 如果您改為只在 shell 中匯出閘道的 ANTHROPIC_BASE_URL,它連同您一起匯出的 ANTHROPIC_CUSTOM_HEADERS 和憑證,只有在 supervisor 本身是從匯出相同閘道的 shell 啟動時,且僅在以下情況下,才會傳到背景工作階段:
  • 您使用 ← 或 /background 將自己的工作階段移到背景
  • 您將工作階段分派到您所在的目錄
  • 您透過附加或回覆,喚醒您所在目錄中已停止的工作階段
Claude Code 會轉送位於雲端供應商前方的閘道。如果您分派所在的 shell 選擇了該供應商,並匯出其閘道端點及其驗證略過旗標,Claude Code 會在適用於 ANTHROPIC_BASE_URL 的條件下,將該端點與旗標組合連同 ANTHROPIC_CUSTOM_HEADERS 一起轉送到工作階段。例如,匯出 CLAUDE_CODE_USE_VERTEX=1 以及 ANTHROPIC_VERTEX_BASE_URL 和 CLAUDE_CODE_SKIP_VERTEX_AUTH=1,Claude Code 就會轉送該端點和旗標。 Claude Code 只會將轉送的閘道套用到該工作階段執行中的程序,絕不會將其寫入磁碟。

權限模式

權限模式取決於您啟動工作階段的方式:
  • 使用 /bg 或 ← 移到背景:Claude Code 會保留工作階段原本的權限模式,因此您切換到 acceptEdits 或 auto 的工作階段在分離後仍維持該模式
  • 從您使用 ← 開啟的 agent view 分派:Claude Code 會先從目標目錄的設定取得新工作階段的權限模式,其次才從您來源的工作階段取得
  • 從在 shell 中啟動的 claude agents 分派,或使用 claude --bg:新工作階段會以在該目錄中啟動新 claude 工作階段的方式開始,除非您是從以分派預設值開啟的 agent view 分派。工作階段以哪種權限模式啟動列出了順序
對於您從使用 ← 開啟的 agent view 分派的工作階段,Claude Code 會從以下第一個適用的來源取得權限模式:
  1. 目標目錄的 permissions.defaultMode。適用兩條來源規則:
  2. 您來源工作階段的權限模式。如果該工作階段處於 bypassPermissions 模式,新工作階段可能會改以 Manual 模式啟動,並顯示 Bypass permissions was requested at launch and ignored 通知。當您接受略過免責聲明的記錄只存在於 .claude/settings.local.json 或 --settings 檔案中時,就會發生這種情況。請以 Manual 模式繼續,或將該接受記錄新增到 ~/.claude/settings.json。
當 Claude Code 因某個來源的模式過於寬鬆而拒絕時,由清單中的下一個來源決定。例如,如果您從 plan mode 工作階段分派到一個其簽入設定要求 acceptEdits 的目錄,新工作階段會以 plan mode 啟動。如果您將該 defaultMode 移到 ~/.claude/settings.json,則無論您來源工作階段的權限模式為何,它都會套用。 寬鬆程度依序為 plan,接著是 Manual 和 dontAsk,再來是 acceptEdits 和 auto(兩者各自都被視為比對方更寬鬆),最後是 bypassPermissions。

分派預設值

若要為您從 agent view 分派的每個工作階段設定預設值,請在開啟它時傳遞 --permission-mode、--model、--effort 或 --agent 中的任一個:
此處的 --effort 接受與頂層 --effort 旗標相同的值,包括 ultracode。 --agent 會設定分派提示詞未指定 subagent 時(無論是以 @name 或作為第一個單字)所使用的 subagent。如果已設定 agent 設定,則預設為該設定,否則為內建的通用 claude agent。在分派輸入中指定 subagent 會覆寫這兩者。 claude agents 也接受 --dangerously-skip-permissions 作為 --permission-mode bypassPermissions 的簡寫,以及 --allow-dangerously-skip-permissions,讓 bypassPermissions 出現在每個分派工作階段的 Shift+Tab 循環中,但不以該模式啟動。兩者都與頂層 CLI 旗標一致。 傳遞 --restricted,可讓您從此檢視分派的每個工作階段都以受限模式啟動,如同每個工作階段都是以頂層 --restricted 旗標啟動一樣。需要 Claude Code v2.1.248 或更新版本。 目前生效的預設值會顯示在分派輸入框下方的頁尾中。 以 bypassPermissions 模式啟動的背景工作階段,需要您已有接受略過免責聲明的記錄,因為該模式會讓您未監看的工作階段無需核准即可執行動作。將 --dangerously-skip-permissions 或 --permission-mode bypassPermissions 傳遞給 claude agents 時,若您先前未接受過,會顯示相同的免責聲明,接受後會將 bypassPermissions 套用到您從此檢視啟動的工作階段。傳遞 --allow-dangerously-skip-permissions 也會顯示相同的免責聲明,接受後會讓 bypassPermissions 出現在這些工作階段的 Shift+Tab 循環中,但不會以該模式啟動它們。

重新啟動後會保留的內容

您為背景工作階段選擇的權限模式、模型和 effort,以及它帶入的設定旗標,在 supervisor 之後停止並重新啟動其程序時都會保留。您在工作階段中途使用 /model 或 /effort 變更的模型或 effort 也會保留。 如果工作階段的 effort 是取自您的設定,而不是來自 --effort 或 /effort,Claude Code 每次為該工作階段啟動程序時都會重新讀取您的設定。在您編輯 settings.json 中已儲存的 effort 後,變更會套用到您使用 ← 或 /bg 移到背景的工作階段,以及它們之後的重新啟動。已儲存的 effort 是指 effortLevel 鍵或 modelSettings 項目。 Claude Code 也會在該次重新啟動後保留您使用 /rename 或 Ctrl+R 設定的名稱,因此您仍可執行 claude --resume <name> 來存取該工作階段。 您在附加期間使用 Ctrl+S 暫存的提示詞也會隨工作階段保留。在工作階段的程序停止或重新啟動後重新開啟它,並按 Ctrl+S 即可還原暫存的文字。暫存中貼上的內容在重新啟動後不會保留。

設定、外掛與 MCP 伺服器

Agent view 接受與 claude 相同的設定旗標,用於載入設定、外掛、MCP 伺服器和額外目錄。Agent view 會將 --settings、--setting-sources 和 --plugin-dir 套用到自身,並將每個設定旗標傳遞給您從它分派的工作階段,因此以這種方式載入的外掛或 MCP 伺服器在這些工作階段中也可使用。 每個值各重複一次 --add-dir、--plugin-dir 或 --mcp-config。claude agents 不支援以空格分隔的形式,例如 --add-dir a b c。 您可以將 --settings、--setting-sources 和 --plugin-dir 放在 agents 之前或之後。請將 --add-dir 和 --mcp-config 放在 agents 之後:如果您將其中任一個放在 agents 之前,claude agents --json 會以 unknown option 錯誤失敗。 以下範例以設定覆寫和一個額外目錄開啟 agent view:
--settings 接受檔案路徑或內嵌 JSON 字串。檔案路徑必須指向現有的檔案;若檔案不存在,Claude Code 會以 Settings file not found 錯誤結束。

從 shell 管理工作階段

每個背景工作階段都有一個短 ID,您可以從 shell 使用。當您使用 claude --bg 啟動工作階段時會列印該 ID,每個工作階段的 ID 是其在 ~/.claude/jobs/ 下的目錄名稱。這些命令對於指令碼編寫或當您不想開啟 agent view 時很有用。 claude attach 和 claude logs 可以使用工作階段名稱的一部分來取代 ID,例如 claude logs "auth refactor"。claude attach 僅在工作階段的程序執行中時才能依名稱開啟工作階段,因此若要重新啟動已停止的工作階段,請改為傳遞 ID。傳遞名稱需要 Claude Code v2.1.290 或更新版本。

將工作階段列為 JSON

claude agents --json 將作用中的工作階段列印為 JSON 陣列並結束:每個即時工作階段,加上仍在執行或被阻止的背景工作階段,即使其程序已結束。新增 --all 以同時包含已完成的背景工作階段,並新增 --cwd <path> 以將清單限制為在該目錄下啟動的工作階段。 每個項目都描述一個工作階段:

從指令碼讀取工作階段狀態

claude agents --json 是從 Claude Code 外部讀取工作階段狀態的支援方式,例如從狀態列、排程器或監督背景工作的另一個 Claude 工作階段。輪詢 claude agents --json --all,它會持續列出程序已結束的工作階段,並讀取每個項目的 state、status 和 waitingFor。 完成其回合並等待您下一個指令的工作階段讀取 done,而不是 blocked。blocked 一律表示工作階段在繼續之前需要您提供的內容。 ~/.claude/jobs/<id>/ 下的檔案不是穩定的介面。工作階段或其他程式寫入 state、detail、tempo 或 needs 的值會在下次更新時被取代。 如果您想讓工作階段用自己的話報告進度,請讓它寫入自己的檔案,例如在 $CLAUDE_JOB_DIR/tmp 下,而不是編輯 state.json。

背景工作階段如何被託管

Claude Code 將 agent view 中列出的每個工作階段視為背景工作階段,無論您目前是否連接到它。相比之下,直接執行 claude 啟動的工作階段與該終端機相關聯,並在終端機關閉時結束,除非您將其發送到背景。 要檢查您在哪種工作階段中,請執行 /status。Session kind 列在背景工作階段中顯示 background job · attached 或 background job · unattended(取決於是否連接了終端機),在任何其他工作階段中顯示 interactive。

監督程序

監督程序是一個背景服務,執行您的背景工作階段,使其在您關閉 agent view 或終端機後繼續工作。Claude Code 在您第一次背景化工作階段或開啟 agent view 時啟動它,您不需要自己管理它。 每個工作階段都是監督程序下的自己的 Claude Code 程序,該程序發生的情況取決於工作階段的狀態:
  • 工作中、暫停在權限提示或其他對話框上,或已連接:程序保持執行。執行中的 subagent、工作流程或監視器計為工作中,待處理的工作階段範圍排程任務(例如 /loop 喚醒)也是如此。
  • 已完成或等待您的下一條訊息,且未連接約一小時:監督程序停止程序以釋放資源。透過提出問題結束其回合的工作階段計為等待您的下一條訊息。對話保存在磁碟上,下次您連接或回覆時,工作階段從中斷的地方恢復。使用 Ctrl+T 釘選工作階段以保持其程序執行。
  • 在監督程序執行時意外退出:監督程序重新啟動程序。結束您自己使用 ← 或 /background 背景化的工作階段(例如使用 kill)會將其標記為已停止而不是重新啟動。對於以關閉結束的工作階段,請參閱工作階段在關閉後顯示為失敗或已停止。
  • 自動更新後:監督程序重新啟動自身到新版本,並在背景中移動閒置工作階段。正在工作、等待您或已連接的工作階段不會被中斷。
  • 監督程序本身停止,例如因為其程序從 Claude Code 外部被結束:在 macOS 和 Linux 上,每個工作階段的程序會等待約一分鐘,讓新的監督程序重新連接到它,若沒有則停止。請在這一分鐘內於 shell 中執行 claude agents,以啟動新的監督程序並保持您的工作階段執行。如果一分鐘先過去,工作階段會停止,但其保存的對話仍保留在磁碟上:連接或回覆工作階段,它便會從保存的對話重新啟動,如工作階段在關閉後顯示為失敗或已停止中所述。
當工作階段的程序停止或重新啟動時,Claude 在其中啟動的背景 shell 命令、動態工作流程和背景 subagent 會轉移到其下一個程序;執行中的監視器和 subagent 啟動的 shell 命令會隨程序停止。刪除工作階段會停止它轉移的所有內容。要讓所有內容隨程序停止而不是轉移,請將 CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF 設定為 1。 監督程序及其工作階段使用與您的互動工作階段相同的儲存憑證進行身分驗證。對於哪些設定和 shell 變數到達工作階段(包括 PATH),請參閱設定和提供者。對於閘道端點,請參閱 LLM 閘道。

狀態存儲位置

工作階段狀態存儲在您的 Claude Code 設定目錄下。如果您設定 CLAUDE_CONFIG_DIR,監督程序改用該目錄而不是 ~/.claude,並作為具有其自己工作階段的單獨實例執行。 每個背景工作階段都設定了 CLAUDE_JOB_DIR 環境變數,指向其 ~/.claude/jobs/<id> 目錄,因此工作階段執行的 shell 命令可以將臨時檔案寫入 $CLAUDE_JOB_DIR/tmp,而不會與平行工作階段衝突。 要在不直接讀取檔案的情況下檢查此狀態,請執行 claude daemon status。它報告監督程序是否可達、其程序 ID 和版本、socket 目錄,以及有多少背景工作階段處於活動狀態。 該命令也會在執行中的監督程序版本與您叫用的 claude 版本不同時發出警告,這會在監督程序尚未重新啟動到新版本的更新後發生。警告會顯示兩個版本,並告訴您執行 claude daemon stop --any 以採用新版本。 工作階段在該版本不匹配時保持完整:較舊的 Claude Code 版本更新工作階段的 state.json 時會保留它不識別的欄位,並保持工作階段列出。roster.json 中的工作階段列表遵循相同規則,因此由較新版本啟動的工作階段保持可達,並在監督程序重新啟動後繼續接受輸入。

關閉 agent view

要完全關閉背景 agent 和 agent view,將 disableAgentView 設定設為 true 或設定 CLAUDE_CODE_DISABLE_AGENT_VIEW 環境變數。管理員可以透過受管設定強制執行此操作。

疑難排解

claude agents 列出 subagent 而不是開啟 agent view

如果 claude agents 列印計數後跟著您設定的 subagent,然後退出,表示 agent view 在您的環境中不可用。執行 claude update 以安裝最新版本。 如果更新後 agent view 仍未開啟,請檢查它是否已被設定或環境變數關閉。

Agent view 開啟時沒有工作階段

在您分派第一個工作階段之前,agent view 會顯示空的區段標題,每個標題下方有描述,以及輸入框上方有一行說明,代替工作階段清單。在底部的輸入框中輸入提示詞並按 Enter 以分派您的第一個工作階段。

背景化顯示 Background this session? 對話框

如果您按 ← 將目前的工作階段放到背景,而 Claude Code 顯示 Background this session? 對話框,表示該工作階段有進行中的背景工作,背景化會使其停止、重新啟動或在無人看管的情況下繼續執行,因此 Claude Code 在執行上述任何操作之前會先詢問:
  • 無法移動的工作:工作階段有無法移動到背景工作階段的工作,例如執行中的 monitor。對話框會列出 Claude Code 將停止的背景工作,並另外計算會轉移的任務數量。
  • 具有執行中 subagent 的工作流程:動態工作流程仍有 subagent 在執行。工作流程本身會轉移,但其執行中的 subagent 會從頭開始重新啟動,對話框會說明有多少個。
  • 自動 artifact 回覆:Claude 正在自行回覆 artifact 上的評論。這些回覆會在背景工作階段中繼續,對話框也會說明這一點。
執行 /tasks 以查看正在執行的所有內容,然後確認仍要背景化,或選擇 Stay 讓工作先完成。請參閱背景化時轉移的內容以了解哪些類型的工作會轉移,哪些會被 Claude Code 停止。

提示詞因過短而被拒絕

分派輸入框期望的是任務描述,而不是對話開場白。短於四個字元的提示詞會被拒絕並顯示 Too short 提示,以避免誤觸按鍵啟動工作階段。請描述您希望工作階段執行的操作,例如 investigate the flaky checkout test。

工作階段在關機後顯示為失敗或停止

關閉或重新啟動您的機器會停止執行中的背景工作階段。等待您輸入的工作階段在您回來時會保留在 Needs input 下。對於任何其他執行中的工作階段,agent view 顯示的內容取決於它上次取得進度的時間有多久:
  • 在 48 小時內,工作階段顯示為失敗。附加或回覆它,它會從其已儲存的對話重新啟動。若要繼續被中斷的工作,請傳送回覆要求它繼續。
  • 超過 48 小時,例如機器關閉數天後,工作階段顯示為停止,並顯示 ended while the background service was off。在該列上按 Enter,頁尾會顯示 Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it. 在同一列上再次按 Enter 以恢復其已儲存的對話。回覆或 claude attach <id> 會在沒有該頁尾提示的情況下恢復它。
當逐字稿清理已移除停止工作階段的已儲存對話時,Claude Code 會拒絕開啟該列:訊息會說明沒有可恢復的內容。claude rm <id> 會刪除該列(上述保留的情況除外),而 claude respawn <id> 會再次執行其原始提示詞。請參閱此工作階段的已儲存對話已不在磁碟上。 單純的睡眠不會停止工作階段。工作階段在睡眠期間會被保留,監督程序在喚醒時會重新連接到它們。

開啟工作階段時顯示對話已開啟

兩個程序無法寫入同一個逐字稿。當停止工作階段的已儲存對話已在另一個執行中的 Claude Code 程序中開啟時,Claude Code 會拒絕啟動該工作階段自己的程序。您看到的內容取決於持有該對話的是什麼:
  • 您恢復對話的終端機,例如使用 claude --resume 或 /resume:該列顯示 Open in a terminal,並提示在那裡繼續,開啟該列會顯示 Can't open — this session is running in another terminal。在該終端機中繼續,或退出它並再次開啟該列。
  • 另一個非互動式 Claude Code 程序,例如同一對話的背景工作階段程序尚未退出:開啟該列會顯示 This conversation is already open in another running Claude session。使用該程序,或等待它退出後再次開啟該列。
Claude Code 會儲存您在被拒絕的嘗試中輸入的回覆(以 ! 或 / 開頭的回覆除外),並在工作階段下次啟動時傳送它。

開啟工作階段時顯示它沒有已儲存的逐字稿

當您開啟一個從另一個對話背景化、且在執行自己的回合之前就已停止的工作階段時,Claude Code 會恢復該對話。如果 Claude Code 找不到該對話,則會拒絕開啟該工作階段:
  • claude attach 會列印 This session has no saved transcript。
  • Agent view 會在清單下方顯示 Press enter again to restart this session fresh。
在同一列上再次按 Enter 以使用空對話重新啟動工作階段,或從 shell 執行 claude respawn <id>。 請參閱錯誤參考以取得詳細資訊。

終端機主機已終止或工作階段停止回應

監督程序在各自的主機程序中執行每個背景工作階段的終端機。當該程序終止或停止回應時,Claude Code 會顯示原因並提供重新啟動;在兩種情況下,對話都會被儲存,重新啟動會恢復它。錯誤參考中列出了完整訊息。 無論是透過 Enter 或 claude attach,Claude Code 都永遠不會重新啟動執行 shell 命令的列,因為那樣會再次執行該命令;該列的訊息和 claude attach 都會說明命令不會再次執行。

工作階段在啟動前失敗,並出現 possibly low memory 註記

當背景工作階段的程序在完成啟動前退出,且主機記憶體不足時,該列的狀態會說明退出情況並附加 possibly low memory — free some up and retry。 該註記是一個假設,而不是已確認的原因。Claude Code 只在程序無聲退出(未寫入錯誤,也未被信號停止)且主機在該時刻回報記憶體不足時才會附加它。當程序在退出前確實寫入了錯誤時,該列會改為顯示該錯誤。 釋放機器上的記憶體,然後附加或回覆該列,監督程序會為工作階段啟動新的程序。當記憶體持續不足時,監督程序也會自行停止閒置工作階段以釋放資源,如果停止其他工作階段沒有釋放任何資源,也會停止閒置的釘選工作階段。

Agent view 表示背景服務未回應

如果附加、查看或 claude logs 回報背景服務未回應,監督程序可能已停滯。停止它並讓下一個 claude agents 啟動新的監督程序。若要在重新啟動期間保持背景工作階段執行,請傳遞 --keep-workers:
接著在 shell 中執行 claude agents 以啟動新的監督程序。如果您在停止後約一分鐘內執行,它會重新連接到仍在執行中的工作階段,其工作會不中斷地繼續。如果您花費更長時間,在 macOS 和 Linux 上,這些工作階段屆時已自行停止,附加或回覆其中一個會從其已儲存的對話重新啟動它。如果沒有 --keep-workers,該命令也會結束背景工作階段。--any 旗標可讓該命令停止由 Claude Code 按需啟動的監督程序。 啟動但無法接受連接的監督程序會自行退出並釋放其鎖定,因此下一個 claude agents 會啟動新的監督程序,無需此手動停止。上述步驟適用於執行中的監督程序停滯的情況。 如果命令改為退出,並表示記錄的程序無法驗證為監督程序,請檢查回報的程序 ID:如果它是您擁有的監督程序,請自行停止它,然後刪除 ~/.claude/daemon.lock,以便下一個 claude agents 重新啟動。 在 Windows 上,如果監督程序未回應停止請求,該命令會列印其程序 ID。使用 taskkill /PID <pid> 結束該程序以完成復原。若您傳遞了 --keep-workers,背景工作階段仍會被保留。

分派失敗,出現 Could not resolve authentication method

如果背景分派失敗並出現 Could not resolve authentication method,而互動式工作階段的身分驗證正常,表示接收分派的背景工作程序未取得憑證。背景工作階段從監督程序取得憑證,因此此錯誤表示監督程序本身沒有可用的已儲存憑證。確認您已執行 /login 或設定 API 金鑰,然後停止監督程序:
在約一分鐘內,於 shell 中執行 claude agents 或 claude --bg 以啟動新的監督程序,該程序會讀取您的已儲存憑證。如果您使用環境變數(例如 ANTHROPIC_API_KEY)而不是 /login 進行身分驗證,請從已設定該變數的 shell 執行下一個命令。 請參閱錯誤參考以取得完整的原因和修復清單。

背景工作階段無法在 macOS 上讀取 Desktop、Documents 或 Downloads

在 macOS 上,背景工作階段主機作為獨立的程序執行,並與您的終端機分開請求對受保護資料夾的存取權。如果背景工作階段在讀取 ~/Desktop、~/Documents、~/Downloads 或其他受保護位置時回報 Operation not permitted,請在系統設定中的隱私權與安全性 > 檔案與檔案夾下授予存取權,或為該項目啟用完整磁碟取用權限。 使用原生安裝程式時,該項目會顯示為 Claude Code,授予的權限在更新後會保留。使用其他安裝方法(例如 Homebrew 或 npm)時,該項目會顯示二進位檔路徑,更新後可能需要再次授予。

背景工作階段無法在 macOS 上連接到本機網路主機

在 macOS 15 及更新版本上,系統會阻止程序連接到您本機網路上的裝置,直到您授予本機網路權限,因此針對 LAN 位址的命令可能會在背景工作階段中失敗並出現 connect: no route to host,即使相同的命令在前景終端機中可以正常運作。背景工作階段中第一個連接到本機網路位址的命令會觸發 Claude Code 的 macOS 本機網路權限提示。授予一次後,這些命令就能像在前景終端機中一樣連接到 LAN 主機。

工作階段在附加後回應緩慢

當已完成或正在等待您下一則訊息的工作階段在未附加的狀態下維持約一小時時,監督程序會停止其程序以釋放資源。附加會從中斷的地方啟動新的程序,並在程序重新啟動期間立即切換到該工作階段。正在工作、暫停在權限提示或其他對話框上,或已釘選的工作階段不會以這種方式停止,因此請使用 Ctrl+T 釘選工作階段以保持其回應速度。 程序啟動期間,Claude Code 會以即時工作階段的呈現方式顯示工作階段逐字稿的結尾部分,包含 markdown、醒目顯示的程式碼區塊,以及以暗淡列呈現的工具呼叫,下方為暗淡的提示區域並附有 Session is starting 註記。即時工作階段準備好後會立即取代它。

.claude/worktrees/ 正在填滿

在 agent view 中刪除工作階段會移除 Claude 為其建立的 worktree,但某些刪除會保留 worktree 或在磁碟上留下其目錄,因此剩餘目錄可能會累積。Git 不再識別的目錄不會出現在 git worktree list 中,因此請手動移除這些目錄。 在專案目錄中使用 git worktree list 列出剩餘項目,並使用 git worktree remove <path> 逐一移除。請參閱清理 worktree。

限制

Agent view 是研究預覽版本,具有以下限制:
  • 速率限制適用:背景工作階段與互動工作階段一樣消耗您的訂閱使用量,因此並行執行十個代理的使用配額速度快十倍。
  • 工作階段是本地的:背景工作階段在您的機器上執行。它們在睡眠時保留,但如果機器關閉則停止。
  • Claude 建立的 worktrees 在 agent view 中隨工作階段刪除:在刪除在其自己的 worktree 中編輯檔案的工作階段之前,提交變更。某些刪除會改為保留 worktree。
如需了解在平行中執行 Claude 的其他方式,以及在您執行的工作階段之間傳遞發現結果,請參閱:

版本歷史

Agent view 在研究預覽期間發展迅速。如果您使用較舊的 Claude Code 版本,本頁上的某些行為可能會有所不同;特別是,claude agents 會以 unknown option 錯誤拒絕它尚不支援的旗標。下表列出了每個旗標和行為何時新增。