6 6
7> 命名、恢復、分支和在 Claude Code 對話之間切換。涵蓋 `--continue`、`--resume`、`--from-pr`、`/resume` 選擇器、session 命名、匯出文字記錄,以及文字記錄的儲存位置。7> 命名、恢復、分支和在 Claude Code 對話之間切換。涵蓋 `--continue`、`--resume`、`--from-pr`、`/resume` 選擇器、session 命名、匯出文字記錄,以及文字記錄的儲存位置。
8 8
9[工作階段](/docs/zh-TW/glossary.md#session)是與專案目錄相關聯的已儲存對話。Claude Code 在您工作時將其儲存在本地,因此您可以從中斷的地方繼續、分支以嘗試不同的方法,或在任務之間切換。9[工作階段](https://code.claude.com/docs/zh-TW/glossary.md#session)是與專案目錄相關聯的已儲存對話。Claude Code 在您工作時將其儲存在本地,因此您可以從中斷的地方繼續、分支以嘗試不同的方法,或在任務之間切換。
10 10
11[桌面應用程式](/docs/zh-TW/desktop.md#work-in-parallel-with-sessions)、[claude.ai/code](/docs/zh-TW/claude-code-on-the-web.md) 和 [VS Code 擴充功能](/docs/zh-TW/vs-code.md#resume-past-conversations)各自維護自己的 session 歷史記錄,桌面應用程式也可以[恢復 CLI session](/docs/zh-TW/desktop.md#coming-from-the-cli)。本頁涵蓋 CLI。11[桌面應用程式](https://code.claude.com/docs/zh-TW/desktop.md#work-in-parallel-with-sessions)、[claude.ai/code](https://code.claude.com/docs/zh-TW/claude-code-on-the-web.md) 和 [VS Code 擴充功能](https://code.claude.com/docs/zh-TW/vs-code.md#resume-past-conversations)各自維護自己的 session 歷史記錄,桌面應用程式也可以[恢復 CLI session](https://code.claude.com/docs/zh-TW/desktop.md#coming-from-the-cli)。本頁涵蓋 CLI。
12 12
13## 恢復工作階段13## 恢復工作階段
14 14
25 25
26### 恢復執行中的背景工作階段26### 恢復執行中的背景工作階段
27 27
28當您使用 `claude --resume` 或 `/resume` 恢復的對話屬於仍在執行的[背景工作階段](/docs/zh-TW/agent-view.md)時,Claude Code 會開啟該執行中的工作階段本身。在命令列上使用 `--bg` 時,恢復則改為[背景分派](/docs/zh-TW/agent-view.md#from-your-shell)。在 v2.1.285 之前,Claude Code 會拒絕並告訴您使用 `claude attach <id>` 開啟該工作階段,或先使用 `claude stop <id>` 停止它。28當您使用 `claude --resume` 或 `/resume` 恢復的對話屬於仍在執行的[背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md)時,Claude Code 會開啟該執行中的工作階段本身。在命令列上使用 `--bg` 時,恢復則改為[背景分派](https://code.claude.com/docs/zh-TW/agent-view.md#from-your-shell)。在 v2.1.285 之前,Claude Code 會拒絕並告訴您使用 `claude attach <id>` 開啟該工作階段,或先使用 `claude stop <id>` 停止它。
29 29
30* **從您的 shell**:`claude --resume <session>` 會在同一個終端機中對該工作階段執行 [`claude attach`](/docs/zh-TW/agent-view#attach-to-a-session),而不是自行載入逐字稿。您在命令列上傳遞的提示詞,例如 `claude --resume <session> "check the tests too"`,會先作為該工作階段的下一個回合送出,Claude Code 會在附加之前列印 `Sent your prompt to the background session (<id>); opening it…`。在終端機中輸入的 `claude -p --resume <session> "prompt"` 也會執行相同操作,因此 `-p` 不會讓該次執行保持非互動式。30* **從您的 shell**:`claude --resume <session>` 會在同一個終端機中對該工作階段執行 [`claude attach`](https://code.claude.com/docs/zh-TW/agent-view#attach-to-a-session),而不是自行載入逐字稿。您在命令列上傳遞的提示詞,例如 `claude --resume <session> "check the tests too"`,會先作為該工作階段的下一個回合送出,Claude Code 會在附加之前列印 `Sent your prompt to the background session (<id>); opening it…`。在終端機中輸入的 `claude -p --resume <session> "prompt"` 也會執行相同操作,因此 `-p` 不會讓該次執行保持非互動式。
31 31
32 當命令列具有以下任何一項時,Claude Code 不會開啟該工作階段:32 當命令列具有以下任何一項時,Claude Code 不會開啟該工作階段:
33 33
36 * 讀取輸出的旗標,例如 `--output-format json` 或 `--json-schema`36 * 讀取輸出的旗標,例如 `--output-format json` 或 `--json-schema`
37 * 限制或倒轉執行的旗標,例如 `--max-turns` 或 `--max-budget-usd`37 * 限制或倒轉執行的旗標,例如 `--max-turns` 或 `--max-budget-usd`
38 38
39 具有其中任何一項,或當 [agent 檢視已關閉](/docs/zh-TW/agent-view.md#turn-off-agent-view)時,Claude Code 不會傳送任何內容,並以狀態 1 退出,列印該工作階段正在背景執行,以及用來開啟它的 `claude attach <id>` 命令;若無法判定 ID,則會告訴您在 `claude agents` 中尋找它。新增 `--fork-session` 可改為恢復該對話的副本。若要在您自己的工作階段中繼續對話本身並套用您的旗標,請執行 `claude stop <id>`,然後重複該命令。39 具有其中任何一項,或當 [agent 檢視已關閉](https://code.claude.com/docs/zh-TW/agent-view.md#turn-off-agent-view)時,Claude Code 不會傳送任何內容,並以狀態 1 退出,列印該工作階段正在背景執行,以及用來開啟它的 `claude attach <id>` 命令;若無法判定 ID,則會告訴您在 `claude agents` 中尋找它。新增 `--fork-session` 可改為恢復該對話的副本。若要在您自己的工作階段中繼續對話本身並套用您的旗標,請執行 `claude stop <id>`,然後重複該命令。
40 40
41 以 `/` 或 `!` 開頭的提示詞不會被傳送,而當工作階段正在等待您回答問題時,任何提示詞也都不會被傳送。在這兩種情況下,Claude Code 都不會開啟該工作階段,訊息會包含 `Your prompt was not sent to it` 以及原因。41 以 `/` 或 `!` 開頭的提示詞不會被傳送,而當工作階段正在等待您回答問題時,任何提示詞也都不會被傳送。在這兩種情況下,Claude Code 都不會開啟該工作階段,訊息會包含 `Your prompt was not sent to it` 以及原因。
42* **從工作階段內**:`/resume` 會將您目前的對話移到背景,並將此終端機附加到執行中的工作階段,列印 `Opening "<title>", running in the background (<id>)`。在空白提示詞上按 `←` 即可返回 agent 檢視,其中也會列出您離開的對話。當目前的對話無法移到背景時(例如因為您已附加到背景工作階段,或工作階段持久化已關閉),`/resume` 會改為列印要執行的 `claude attach` 命令。42* **從工作階段內**:`/resume` 會將您目前的對話移到背景,並將此終端機附加到執行中的工作階段,列印 `Opening "<title>", running in the background (<id>)`。在空白提示詞上按 `←` 即可返回 agent 檢視,其中也會列出您離開的對話。當目前的對話無法移到背景時(例如因為您已附加到背景工作階段,或工作階段持久化已關閉),`/resume` 會改為列印要執行的 `claude attach` 命令。
45 45
46當 Claude Code 從逐字稿載入對話時,恢復的工作階段會復原該對話以及其中儲存的狀態:46當 Claude Code 從逐字稿載入對話時,恢復的工作階段會復原該對話以及其中儲存的狀態:
47 47
48* 對話記錄:訊息、工具呼叫和結果。如果工作階段曾被[壓縮](/docs/zh-TW/context-window.md#what-survives-compaction),對話會在 `Conversation compacted` 列開啟。Claude 會以最後一次壓縮的摘要、該次壓縮未摘要的訊息,以及之後的每則訊息繼續。最後一次壓縮所摘要的訊息不會再次載入。48* 對話記錄:訊息、工具呼叫和結果。如果工作階段曾被[壓縮](https://code.claude.com/docs/zh-TW/context-window.md#what-survives-compaction),對話會在 `Conversation compacted` 列開啟。Claude 會以最後一次壓縮的摘要、該次壓縮未摘要的訊息,以及之後的每則訊息繼續。最後一次壓縮所摘要的訊息不會再次載入。
49* 中斷的工具呼叫:在前一個程序結束時(例如當機時)仍在執行的工具,在您恢復時不會完成或再次執行。Claude 會看到該呼叫被標記為在結果記錄之前就被中斷,並被告知在再次執行之前先檢查它是否已生效,除非設定了 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/zh-TW/env-vars#variables)。49* 中斷的工具呼叫:在前一個程序結束時(例如當機時)仍在執行的工具,在您恢復時不會完成或再次執行。Claude 會看到該呼叫被標記為在結果記錄之前就被中斷,並被告知在再次執行之前先檢查它是否已生效,除非設定了 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](https://code.claude.com/docs/zh-TW/env-vars#variables)。
50* 模型:工作階段會繼續使用其原本使用的模型,但[設定您的模型](/docs/zh-TW/model-config.md#setting-your-model)中所述的情況除外。50* 模型:工作階段會繼續使用其原本使用的模型,但[設定您的模型](https://code.claude.com/docs/zh-TW/model-config.md#setting-your-model)中所述的情況除外。
51* Agent:使用 [`--agent`](/docs/zh-TW/sub-agents#invoke-subagents-explicitly) 或 `agent` 設定啟動的工作階段會繼續作為該 agent 運作,並保留其工具限制和模型。恢復時傳遞 `--agent` 可選擇不同的 agent;關於任一情況下的系統提示詞,請參閱[恢復對話中的系統提示詞旗標](/docs/zh-TW/cli-reference.md#system-prompt-flags-in-resumed-conversations)。Claude Code 會在兩個地方尋找該 agent:工作階段的原始目錄(前提是您已[信任該工作區](/docs/zh-TW/permissions.md#project-allow-rules-and-workspace-trust)),然後是您進行恢復的目錄,因此當您從另一個目錄恢復時,專案範圍的 agent 仍會載入。如果 Claude Code 在這兩個地方都找不到該 agent,工作階段會以預設工具恢復,並顯示[指出該 agent 名稱的警告](/docs/zh-TW/errors.md#session-agent-no-longer-available)。51* Agent:使用 [`--agent`](https://code.claude.com/docs/zh-TW/sub-agents#invoke-subagents-explicitly) 或 `agent` 設定啟動的工作階段會繼續作為該 agent 運作,並保留其工具限制和模型。恢復時傳遞 `--agent` 可選擇不同的 agent;關於任一情況下的系統提示詞,請參閱[恢復對話中的系統提示詞旗標](https://code.claude.com/docs/zh-TW/cli-reference.md#system-prompt-flags-in-resumed-conversations)。Claude Code 會在兩個地方尋找該 agent:工作階段的原始目錄(前提是您已[信任該工作區](https://code.claude.com/docs/zh-TW/permissions.md#project-allow-rules-and-workspace-trust)),然後是您進行恢復的目錄,因此當您從另一個目錄恢復時,專案範圍的 agent 仍會載入。如果 Claude Code 在這兩個地方都找不到該 agent,工作階段會以預設工具恢復,並顯示[指出該 agent 名稱的警告](https://code.claude.com/docs/zh-TW/errors.md#session-agent-no-longer-available)。
52* 權限模式:如果您在終端機中使用 `claude --continue`、`claude --resume <session-id>` 或 `claude --resume <name>`(當名稱符合單一工作階段時)且不帶 `-p` 恢復,Claude Code 會復原工作階段當時的權限模式,但[恢復時的權限模式](#permission-mode-on-resume)中的情況除外,該節也涵蓋工作階段選擇器、`/resume` 以及使用 `claude -p` 恢復。傳遞 `--permission-mode` 或 `--dangerously-skip-permissions` 可覆寫復原的模式。52* 權限模式:如果您在終端機中使用 `claude --continue`、`claude --resume <session-id>` 或 `claude --resume <name>`(當名稱符合單一工作階段時)且不帶 `-p` 恢復,Claude Code 會復原工作階段當時的權限模式,但[恢復時的權限模式](#permission-mode-on-resume)中的情況除外,該節也涵蓋工作階段選擇器、`/resume` 以及使用 `claude -p` 恢復。傳遞 `--permission-mode` 或 `--dangerously-skip-permissions` 可覆寫復原的模式。
53* 進行中的目標:工作階段結束時仍在進行中的[目標](/docs/zh-TW/goal.md#resume-with-an-active-goal)會延續;其回合計數、計時器和 token 花費基準會重設。53* 進行中的目標:工作階段結束時仍在進行中的[目標](https://code.claude.com/docs/zh-TW/goal.md#resume-with-an-active-goal)會延續;其回合計數、計時器和 token 花費基準會重設。
54* 工作階段範圍的排程任務:[尚未過期的任務](/docs/zh-TW/scheduled-tasks.md#limitations)會被復原。背景 Bash 和監視任務則不會。54* 工作階段範圍的排程任務:[尚未過期的任務](https://code.claude.com/docs/zh-TW/scheduled-tasks.md#limitations)會被復原。背景 Bash 和監視任務則不會。
55* 背景工作:隨著前一個程序結束的[背景 subagent](/docs/zh-TW/sub-agents.md#run-subagents-in-foreground-or-background)、背景 Bash 命令或[工作流程](/docs/zh-TW/workflows.md),會在恢復的逐字稿中顯示為未完成的註記。Claude Code 不會因這些註記而開始一個回合;Claude 會在您的下一個提示詞時一併讀取它們。55* 背景工作:隨著前一個程序結束的[背景 subagent](https://code.claude.com/docs/zh-TW/sub-agents.md#run-subagents-in-foreground-or-background)、背景 Bash 命令或[工作流程](https://code.claude.com/docs/zh-TW/workflows.md),會在恢復的逐字稿中顯示為未完成的註記。Claude Code 不會因這些註記而開始一個回合;Claude 會在您的下一個提示詞時一併讀取它們。
56 56
57並非原始啟動時的每個設定旗標都會被復原。如果工作階段依賴 `--mcp-config`、`--settings`、`--plugin-dir`、`--fallback-model` 或使用 `--add-dir` 新增的目錄,請在恢復時再次傳遞它們;在工作階段中途使用 `/add-dir` 新增的目錄也不會被復原,但工作階段選擇器仍會使用它們來定位工作階段。標準設定檔(例如 `settings.json` 和 `settings.local.json`)會在啟動時重新讀取,因此存放在其中的設定不需要再次傳遞。關於 `--system-prompt` 和 `--append-system-prompt`,請參閱[恢復對話中的系統提示詞旗標](/docs/zh-TW/cli-reference.md#system-prompt-flags-in-resumed-conversations)。57並非原始啟動時的每個設定旗標都會被復原。如果工作階段依賴 `--mcp-config`、`--settings`、`--plugin-dir`、`--fallback-model` 或使用 `--add-dir` 新增的目錄,請在恢復時再次傳遞它們;在工作階段中途使用 `/add-dir` 新增的目錄也不會被復原,但工作階段選擇器仍會使用它們來定位工作階段。標準設定檔(例如 `settings.json` 和 `settings.local.json`)會在啟動時重新讀取,因此存放在其中的設定不需要再次傳遞。關於 `--system-prompt` 和 `--append-system-prompt`,請參閱[恢復對話中的系統提示詞旗標](https://code.claude.com/docs/zh-TW/cli-reference.md#system-prompt-flags-in-resumed-conversations)。
58 58
59#### 恢復時的權限模式59#### 恢復時的權限模式
60 60
62 62
63* 終端機:`claude --continue`、`claude --resume <session-id>` 或 `claude --resume <name>`(當名稱符合單一工作階段時),且不帶 `-p`。Claude Code 會復原工作階段當時的權限模式,但表格中的情況除外。傳遞 `--permission-mode` 或 `--dangerously-skip-permissions` 可覆寫復原的模式。63* 終端機:`claude --continue`、`claude --resume <session-id>` 或 `claude --resume <name>`(當名稱符合單一工作階段時),且不帶 `-p`。Claude Code 會復原工作階段當時的權限模式,但表格中的情況除外。傳遞 `--permission-mode` 或 `--dangerously-skip-permissions` 可覆寫復原的模式。
64* 非互動式:`claude -p --resume` 或 `claude -p --continue`。Claude Code 會以新的 `claude -p` 執行會採用的權限模式啟動該次執行,但以 plan mode 結束的工作階段在[下列條件](#resume-in-plan-mode-with-p)下會以 plan mode 恢復。64* 非互動式:`claude -p --resume` 或 `claude -p --continue`。Claude Code 會以新的 `claude -p` 執行會採用的權限模式啟動該次執行,但以 plan mode 結束的工作階段在[下列條件](#resume-in-plan-mode-with-p)下會以 plan mode 恢復。
65* VS Code:擴充功能的對話面板。表格僅涵蓋以 plan mode 結束的對話;其餘情況請參閱[恢復過去的對話](/docs/zh-TW/vs-code.md#resume-past-conversations)。65* VS Code:擴充功能的對話面板。表格僅涵蓋以 plan mode 結束的對話;其餘情況請參閱[恢復過去的對話](https://code.claude.com/docs/zh-TW/vs-code.md#resume-past-conversations)。
66* 啟動時的工作階段選擇器:您從[工作階段選擇器](#use-the-session-picker)選擇的工作階段,無論您是單獨使用 `claude --resume`、使用 `claude --from-pr`,還是使用符合多個工作階段的名稱來開啟選擇器。Claude Code 會以從相同命令列啟動新工作階段時的權限模式啟動該工作階段,但以 plan mode 結束的工作階段會在 plan mode 中恢復。如果您傳遞 `--permission-mode`、`--dangerously-skip-permissions` 或 `--fork-session`,Claude Code 不會復原 plan mode。不會復原其他已儲存的權限模式。66* 啟動時的工作階段選擇器:您從[工作階段選擇器](#use-the-session-picker)選擇的工作階段,無論您是單獨使用 `claude --resume`、使用 `claude --from-pr`,還是使用符合多個工作階段的名稱來開啟選擇器。Claude Code 會以從相同命令列啟動新工作階段時的權限模式啟動該工作階段,但以 plan mode 結束的工作階段會在 plan mode 中恢復。如果您傳遞 `--permission-mode`、`--dangerously-skip-permissions` 或 `--fork-session`,Claude Code 不會復原 plan mode。不會復原其他已儲存的權限模式。
67* 在工作階段內使用 `/resume`,帶或不帶引數:您切換到的對話會以您目前工作階段所在的權限模式繼續,但以 plan mode 結束的對話會在 plan mode 中恢復,即使您是以 `--permission-mode` 或 `--dangerously-skip-permissions` 啟動 Claude Code。如果該對話在本次 Claude Code 執行中稍早已開啟過,例如您一開始所在的對話,或您以 `/clear` 或 `/resume` 離開的對話,它則會改為以您目前的權限模式繼續。67* 在工作階段內使用 `/resume`,帶或不帶引數:您切換到的對話會以您目前工作階段所在的權限模式繼續,但以 plan mode 結束的對話會在 plan mode 中恢復,即使您是以 `--permission-mode` 或 `--dangerously-skip-permissions` 啟動 Claude Code。如果該對話在本次 Claude Code 執行中稍早已開啟過,例如您一開始所在的對話,或您以 `/clear` 或 `/resume` 離開的對話,它則會改為以您目前的權限模式繼續。
68 68
69如果[拒絕規則](/docs/zh-TW/permissions.md#manage-permissions)移除了 [`ExitPlanMode`](/docs/zh-TW/tools-reference) 工具,Claude 就無法呈現計畫以供核准,因此 Claude Code 不會復原 plan mode。工作階段會以從相同命令列啟動新工作階段時的權限模式啟動。使用 `/resume` 時,對話會以您目前的權限模式繼續。69如果[拒絕規則](https://code.claude.com/docs/zh-TW/permissions.md#manage-permissions)移除了 [`ExitPlanMode`](https://code.claude.com/docs/zh-TW/tools-reference) 工具,Claude 就無法呈現計畫以供核准,因此 Claude Code 不會復原 plan mode。工作階段會以從相同命令列啟動新工作階段時的權限模式啟動。使用 `/resume` 時,對話會以您目前的權限模式繼續。
70 70
71在非互動式和 VS Code 路徑上復原 plan mode 需要 Claude Code v2.1.246 或更新版本。每一列列出工作階段結束時的權限模式、您透過終端機、非互動式和 VS Code 中的哪一種路徑恢復它,以及 Claude Code 啟動恢復之工作階段時採用的權限模式。71在非互動式和 VS Code 路徑上復原 plan mode 需要 Claude Code v2.1.246 或更新版本。每一列列出工作階段結束時的權限模式、您透過終端機、非互動式和 VS Code 中的哪一種路徑恢復它,以及 Claude Code 啟動恢復之工作階段時採用的權限模式。
72 72
73| 工作階段結束時的模式 | 恢復方式 | 恢復後的權限模式 |73| 工作階段結束時的模式 | 恢復方式 | 恢復後的權限模式 |
74| :- | :- | :- |74| :- | :- | :- |
75| `bypassPermissions` | 終端機 | 新工作階段會啟動的權限模式。若要再次[略過權限](/docs/zh-TW/permission-modes.md#skip-all-checks-with-bypasspermissions-mode),請在啟動時使用其啟動旗標之一,或在 [user、`--settings` 或受管設定](/docs/zh-TW/settings-reference#permissions-defaultmode)中使用 `permissions.defaultMode: "bypassPermissions"` 啟用它 |75| `bypassPermissions` | 終端機 | 新工作階段會啟動的權限模式。若要再次[略過權限](https://code.claude.com/docs/zh-TW/permission-modes.md#skip-all-checks-with-bypasspermissions-mode),請在啟動時使用其啟動旗標之一,或在 [user、`--settings` 或受管設定](https://code.claude.com/docs/zh-TW/settings-reference#permissions-defaultmode)中使用 `permissions.defaultMode: "bypassPermissions"` 啟用它 |
76| `plan` | 終端機 | plan mode。使用 `--fork-session` 時,則為新工作階段會啟動的權限模式 |76| `plan` | 終端機 | plan mode。使用 `--fork-session` 時,則為新工作階段會啟動的權限模式 |
77| `plan` | 終端機,當拒絕規則移除 `ExitPlanMode` 時 | 新工作階段會啟動的權限模式 |77| `plan` | 終端機,當拒絕規則移除 `ExitPlanMode` 時 | 新工作階段會啟動的權限模式 |
78| `auto` | 終端機 | `auto`,僅當您的帳戶仍符合[自動模式要求](/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)時 |78| `auto` | 終端機 | `auto`,僅當您的帳戶仍符合[自動模式要求](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)時 |
79| Manual | 終端機 | 當新工作階段會依[內建預設值](/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in)以自動模式啟動時,為 Manual。當設定檔中的 `defaultMode` [生效](/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in)時,Claude Code 則會改以該模式啟動恢復的工作階段 |79| Manual | 終端機 | 當新工作階段會依[內建預設值](https://code.claude.com/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in)以自動模式啟動時,為 Manual。當設定檔中的 `defaultMode` [生效](https://code.claude.com/docs/zh-TW/permission-modes.md#which-mode-a-session-starts-in)時,Claude Code 則會改以該模式啟動恢復的工作階段 |
80| `plan` | 非互動式,符合[下列條件](#resume-in-plan-mode-with-p)時 | plan mode |80| `plan` | 非互動式,符合[下列條件](#resume-in-plan-mode-with-p)時 | plan mode |
81| 任何模式 | 非互動式,任何其他情況 | 新的 `claude -p` 執行會啟動的權限模式 |81| 任何模式 | 非互動式,任何其他情況 | 新的 `claude -p` 執行會啟動的權限模式 |
82| `plan` | VS Code | plan mode,但有 [VS Code 頁面上所述的例外](/docs/zh-TW/vs-code.md#resume-past-conversations) |82| `plan` | VS Code | plan mode,但有 [VS Code 頁面上所述的例外](https://code.claude.com/docs/zh-TW/vs-code.md#resume-past-conversations) |
83 83
84##### 使用 `-p` 以 plan mode 恢復84##### 使用 `-p` 以 plan mode 恢復
85 85
86`claude -p --resume` 或 `claude -p --continue` 執行只有在下列所有條件都成立時,才會以 plan mode 恢復:86`claude -p --resume` 或 `claude -p --continue` 執行只有在下列所有條件都成立時,才會以 plan mode 恢復:
87 87
88* 您傳遞 [`--permission-prompt-tool`](/docs/zh-TW/cli-reference#cli-flags) 且未傳遞 [`--permission-prompts none`](/docs/zh-TW/headless#turn-off-permission-prompts-in-unattended-runs),以便 Claude Code 能呈現計畫以供核准88* 您傳遞 [`--permission-prompt-tool`](https://code.claude.com/docs/zh-TW/cli-reference#cli-flags) 且未傳遞 [`--permission-prompts none`](https://code.claude.com/docs/zh-TW/headless#turn-off-permission-prompts-in-unattended-runs),以便 Claude Code 能呈現計畫以供核准
89* 您未傳遞 `--permission-mode` 或 `--dangerously-skip-permissions`89* 您未傳遞 `--permission-mode` 或 `--dangerously-skip-permissions`
90* 您未傳遞 `--fork-session`90* 您未傳遞 `--fork-session`
91* 該次執行不是透過[頻道](/docs/zh-TW/channels.md)啟動的91* 該次執行不是透過[頻道](https://code.claude.com/docs/zh-TW/channels.md)啟動的
92* 沒有任何[拒絕規則](/docs/zh-TW/permissions.md#manage-permissions)移除 `ExitPlanMode` 工具92* 沒有任何[拒絕規則](https://code.claude.com/docs/zh-TW/permissions.md#manage-permissions)移除 `ExitPlanMode` 工具
93
94### 「Resume this conversation?」對話方塊
95
96如果您在恢復工作階段時看到「Resume this conversation?」對話方塊,其估計值是僅已儲存的對話本身就會使用掉的 5 小時用量上限比例。該估計值不計入您已使用的部分。
97
98在 Pro 和 Max 方案中,當您[在長時間中斷後](https://code.claude.com/docs/zh-TW/prompt-caching.md#resuming-a-session)或在不同模型上恢復長對話時,可能會出現此對話方塊。估計的用量會在您選擇 **Resume** 後送出第一則訊息時產生,而不是在您選擇它時產生。請依您的下一個任務是否仍需要已儲存的對話來選擇:
99
100* **Resume**:繼續在已儲存的對話中工作。
101* **Start a new conversation**:切換到不需要已儲存對話的工作。若要稍後重新開啟它,請在提示詞輸入處執行 [`/resume`](#use-the-session-picker)。該估計值不適用於您在新對話中的第一則訊息。如果該選項表示 Claude 可以查閱此對話,您仍可在新對話中提及先前的工作。
93 102
94### 工作階段選擇器的查找範圍103### 工作階段選擇器的查找範圍
95 104
96Claude Code 會依專案目錄儲存工作階段。根據預設,工作階段選擇器會顯示:105Claude Code 會依專案目錄儲存工作階段。根據預設,工作階段選擇器會顯示:
97 106
98* 來自目前 worktree 的工作階段,包括[背景工作階段](/docs/zh-TW/agent-view.md),它們在清單中會標記為 `bg`107* 來自目前 worktree 的工作階段,包括[背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md),它們在清單中會標記為 `bg`
99* 在其他地方啟動並使用 `/add-dir` 新增目前目錄的工作階段108* 在其他地方啟動並使用 `/add-dir` 新增目前目錄的工作階段
100 109
101使用 `Ctrl+W` 可將範圍擴大到儲存庫的所有 worktree,或使用 `Ctrl+A` 擴大到此機器上的每個專案。110使用 `Ctrl+W` 可將範圍擴大到儲存庫的所有 worktree,或使用 `Ctrl+A` 擴大到此機器上的每個專案。
102 111
103#### `/loop`、`-p`、Agent SDK 和背景工作階段112#### `/loop`、`-p`、Agent SDK 和背景工作階段
104 113
105第一個提示詞是 [`/loop`](/docs/zh-TW/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) 命令的工作階段不會出現在選擇器中,`claude --continue` 也會跳過它們。在對話稍後才執行 `/loop` 不會隱藏該工作階段。114第一個提示詞是 [`/loop`](https://code.claude.com/docs/zh-TW/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) 命令的工作階段不會出現在選擇器中,`claude --continue` 也會跳過它們。在對話稍後才執行 `/loop` 不會隱藏該工作階段。
106 115
107Claude Code 會將使用 [`claude -p`](/docs/zh-TW/headless) 或 [Agent SDK](/docs/zh-TW/agent-sdk/overview.md) 建立的工作階段排除在工作階段選擇器和 `claude --continue` 之外。您仍然可以將其工作階段 ID 傳遞給 `claude --resume <session-id>` 來恢復它。當您執行 [`claude -p --continue`](/docs/zh-TW/headless#continue-conversations) 時,Claude Code 會包含 `-p`、SDK 和 `/loop` 工作階段。116Claude Code 會將使用 [`claude -p`](https://code.claude.com/docs/zh-TW/headless) 或 [Agent SDK](https://code.claude.com/docs/zh-TW/agent-sdk/overview.md) 建立的工作階段排除在工作階段選擇器和 `claude --continue` 之外。您仍然可以將其工作階段 ID 傳遞給 `claude --resume <session-id>` 來恢復它。當您執行 [`claude -p --continue`](https://code.claude.com/docs/zh-TW/headless#continue-conversations) 時,Claude Code 會包含 `-p`、SDK 和 `/loop` 工作階段。
108 117
109`claude --continue` 會開啟已完成的[背景工作階段](/docs/zh-TW/agent-view.md),但不會開啟仍在執行的工作階段;開啟已完成的背景工作階段需要 Claude Code v2.1.257 或更新版本。如果您最近的對話是您[移到背景](/docs/zh-TW/agent-view.md#send-the-session-to-the-background)的對話,且它仍在背景執行,Claude Code 會顯示 `Your most recent conversation is running in the background` 和該工作階段的 ID 並退出。請從 [`claude agents`](/docs/zh-TW/agent-view#attach-to-a-session) 附加到該工作階段,或執行 `claude --resume` 以選擇另一個工作階段。118`claude --continue` 會開啟已完成的[背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md),但不會開啟仍在執行的工作階段;開啟已完成的背景工作階段需要 Claude Code v2.1.257 或更新版本。如果您最近的對話是您[移到背景](https://code.claude.com/docs/zh-TW/agent-view.md#send-the-session-to-the-background)的對話,且它仍在背景執行,Claude Code 會顯示 `Your most recent conversation is running in the background` 和該工作階段的 ID 並退出。請從 [`claude agents`](https://code.claude.com/docs/zh-TW/agent-view#attach-to-a-session) 附加到該工作階段,或執行 `claude --resume` 以選擇另一個工作階段。
110 119
111#### 其他 worktree 和專案中的工作階段120#### 其他 worktree 和專案中的工作階段
112 121
113從同一儲存庫的另一個 worktree 選擇工作階段時,Claude Code 會在原處恢復它;當該工作階段自己的 worktree 已不存在時,Claude Code 會[在您目前的目錄中恢復它](/docs/zh-TW/worktrees.md#resume-a-worktree-session)。從不相關的專案選擇工作階段時,Claude Code 會改為將 `cd` 和恢復命令複製到您的剪貼簿。如果該專案的目錄已不存在,Claude Code 會在您目前的目錄中恢復該工作階段,而不是複製一個會失敗的 `cd` 命令。122從同一儲存庫的另一個 worktree 選擇工作階段時,Claude Code 會在原處恢復它;當該工作階段自己的 worktree 已不存在時,Claude Code 會[在您目前的目錄中恢復它](https://code.claude.com/docs/zh-TW/worktrees.md#resume-a-worktree-session)。從不相關的專案選擇工作階段時,Claude Code 會改為將 `cd` 和恢復命令複製到您的剪貼簿。如果該專案的目錄已不存在,Claude Code 會在您目前的目錄中恢復該工作階段,而不是複製一個會失敗的 `cd` 命令。
114 123
115使用 [`/cd`](/docs/zh-TW/commands) 移動工作階段會將其重新定位到新目錄的專案儲存空間,因此之後它會出現在該目錄的選擇器中。124使用 [`/cd`](https://code.claude.com/docs/zh-TW/commands) 移動工作階段會將其重新定位到新目錄的專案儲存空間,因此之後它會出現在該目錄的選擇器中。
116 125
117#### 依工作階段 ID 或名稱恢復126#### 依工作階段 ID 或名稱恢復
118 127
119您可以從任何目錄執行 `claude --resume <session-id>`,因此可以恢復在其他地方啟動或已使用 [`/cd`](/docs/zh-TW/commands) 移動的工作階段。Claude Code 會依下列順序尋找該 ID:128您可以從任何目錄執行 `claude --resume <session-id>`,因此可以恢復在其他地方啟動或已使用 [`/cd`](https://code.claude.com/docs/zh-TW/commands) 移動的工作階段。Claude Code 會依下列順序尋找該 ID:
120 129
1211. 目前的專案目錄及其 git worktree1301. 目前的專案目錄及其 git worktree
1222. 此機器上的所有其他專案1312. 此機器上的所有其他專案
139| 啟動時 | `claude -n auth-refactor` |148| 啟動時 | `claude -n auth-refactor` |
140| 在 session 期間 | `/rename auth-refactor`。名稱也會出現在提示列上 |149| 在 session 期間 | `/rename auth-refactor`。名稱也會出現在提示列上 |
141| 從 session 選擇器 | 反白 session 並按 `Ctrl+R` |150| 從 session 選擇器 | 反白 session 並按 `Ctrl+R` |
142| 在計畫接受時 | 在 [plan mode](/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode) 中接受計畫會根據計畫內容命名 session,除非您已經設定了一個 |151| 在計畫接受時 | 在 [plan mode](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode) 中接受計畫會根據計畫內容命名 session,除非您已經設定了一個 |
143| 從 claude.ai 或 Claude 應用程式 | 重新命名 [Remote Control session](/docs/zh-TW/remote-control.md#connect-from-another-device);Claude Code 在 CLI 中應用相同的名稱。需要 Claude Code v2.1.221 或更新版本 |152| 從 claude.ai 或 Claude 應用程式 | 重新命名 [Remote Control session](https://code.claude.com/docs/zh-TW/remote-control.md#connect-from-another-device);Claude Code 在 CLI 中應用相同的名稱。需要 Claude Code v2.1.221 或更新版本 |
144| 從桌面應用程式 | 在[桌面應用程式](/docs/zh-TW/desktop.md#organize-and-find-sessions)中重新命名工作階段 |153| 從桌面應用程式 | 在[桌面應用程式](https://code.claude.com/docs/zh-TW/desktop.md#organize-and-find-sessions)中重新命名工作階段 |
145 154
146通過 CLI 路由或從 claude.ai 命名 session 後,使用 `claude --resume <name>` 或 `/resume <name>` 返回到它;桌面應用程式 session 在 [desktop app](/docs/zh-TW/desktop.md#work-in-parallel-with-sessions) 中恢復。請參閱[恢復 session](#resume-a-session) 以了解名稱解析在 worktrees 中的行為方式。155通過 CLI 路由或從 claude.ai 命名 session 後,使用 `claude --resume <name>` 或 `/resume <name>` 返回到它;桌面應用程式 session 在 [desktop app](https://code.claude.com/docs/zh-TW/desktop.md#work-in-parallel-with-sessions) 中恢復。請參閱[恢復 session](#resume-a-session) 以了解名稱解析在 worktrees 中的行為方式。
147 156
148您未命名的 sessions 仍然會獲得 Claude Code 指派的兩個標籤。只有生成的標題可作為恢復控制代碼:157您未命名的 sessions 仍然會獲得 Claude Code 指派的兩個標籤。只有生成的標題可作為恢復控制代碼:
149 158
150* 預設顯示名稱:您從未命名的互動式工作階段在啟動時仍會獲得預設顯示名稱。預設名稱結合了工作目錄的名稱和一個兩字元的後綴,例如 `my-app-3f`,並在執行中工作階段的列表中識別該工作階段,例如 [agent view](/docs/zh-TW/agent-view.md) 和 `claude agents --json` 輸出。預設名稱不是恢復控制代碼。如果您將其傳遞給 `claude --resume` 或 `/resume`,Claude Code 找不到該工作階段。159* 預設顯示名稱:您從未命名的互動式工作階段在啟動時仍會獲得預設顯示名稱。預設名稱結合了工作目錄的名稱和一個兩字元的後綴,例如 `my-app-3f`,並在執行中工作階段的列表中識別該工作階段,例如 [agent view](https://code.claude.com/docs/zh-TW/agent-view.md) 和 `claude agents --json` 輸出。預設名稱不是恢復控制代碼。如果您將其傳遞給 `claude --resume` 或 `/resume`,Claude Code 找不到該工作階段。
151* 生成的標題:如果您未命名 session,Claude Code 會為其生成 session 標題。標題是您第一個提示的簡短摘要,由對小型/快速模型(通常是 Haiku 級別模型)的背景請求編寫。您直接從 shell 或指令碼啟動的 `claude -p` 執行不會獲得一個。160* 生成的標題:如果您未命名 session,Claude Code 會為其生成 session 標題。標題是您第一個提示的簡短摘要,由對小型/快速模型(通常是 Haiku 級別模型)的背景請求編寫。您直接從 shell 或指令碼啟動的 `claude -p` 執行不會獲得一個。
152 161
153 接受計畫會將生成的標題替換為基於計畫的標題。您可以將任一標題傳遞給 `claude --resume` 或 `/resume`,Claude Code 會以與您設定的名稱相同的方式解析它。162 接受計畫會將生成的標題替換為基於計畫的標題。您可以將任一標題傳遞給 `claude --resume` 或 `/resume`,Claude Code 會以與您設定的名稱相同的方式解析它。
174 183
175使用 `/branch` 或 `--fork-session` 建立的 sessions 會取得自己的 session ID,並顯示為單獨的列。當選擇器為同一個 session 找到多個項目時,它會將它們分組在單一列下。按 `→` 展開群組。184使用 `/branch` 或 `--fork-session` 建立的 sessions 會取得自己的 session ID,並顯示為單獨的列。當選擇器為同一個 session 找到多個項目時,它會將它們分組在單一列下。按 `→` 展開群組。
176 185
177如果 Claude Code 無法從 `claude --resume` 選擇器載入您選擇的 session,它會列印 [`Failed to resume the conversation`](/docs/zh-TW/errors#failed-to-resume-the-conversation),並提供重試命令,然後以代碼 1 結束。從 session 內的 `/resume` 選擇器,Claude Code 會報告失敗,您目前的對話會繼續執行。186如果 Claude Code 無法從 `claude --resume` 選擇器載入您選擇的 session,它會列印 [`Failed to resume the conversation`](https://code.claude.com/docs/zh-TW/errors#failed-to-resume-the-conversation),並提供重試命令,然後以代碼 1 結束。從 session 內的 `/resume` 選擇器,Claude Code 會報告失敗,您目前的對話會繼續執行。
178 187
179## 分支 session188## 分支 session
180 189
202| :- | :- |211| :- | :- |
203| 對話歷史 | 複製到分支中,直到您執行 `/branch` 的位置 |212| 對話歷史 | 複製到分支中,直到您執行 `/branch` 的位置 |
204| 「允許此 session」權限授予 | 轉移;分支在同一程序中執行,因此您現有的授予仍然適用。如果您使用 `--fork-session` 分支到單獨的程序,新程序啟動時沒有這些授予,您需要在那裡重新核准 |213| 「允許此 session」權限授予 | 轉移;分支在同一程序中執行,因此您現有的授予仍然適用。如果您使用 `--fork-session` 分支到單獨的程序,新程序啟動時沒有這些授予,您需要在那裡重新核准 |
205| 執行中的 [背景子代理](/docs/zh-TW/sub-agents.md#run-subagents-in-foreground-or-background) 和 [背景 Bash 命令](/docs/zh-TW/interactive-mode.md#background-bash-commands) | 繼續執行。它們的輸出出現在您切換到的新分支中,而不是在原始 session 中 |214| 執行中的 [背景子代理](https://code.claude.com/docs/zh-TW/sub-agents.md#run-subagents-in-foreground-or-background) 和 [背景 Bash 命令](https://code.claude.com/docs/zh-TW/interactive-mode.md#background-bash-commands) | 繼續執行。它們的輸出出現在您切換到的新分支中,而不是在原始 session 中 |
206| [Remote Control](/docs/zh-TW/remote-control.md) 連線 | 保持連線。連線到 session 的手機或瀏覽器會跟隨您進入分支,並在那裡繼續接收新訊息 |215| [Remote Control](https://code.claude.com/docs/zh-TW/remote-control.md) 連線 | 保持連線。連線到 session 的手機或瀏覽器會跟隨您進入分支,並在那裡繼續接收新訊息 |
207 216
208如果您在兩個終端中恢復同一 session 而不進行分支,來自兩者的訊息會交錯到一個文字記錄中。有關單個 session 內基於 checkpoint 的 rewind,請參閱 [Checkpointing](/docs/zh-TW/checkpointing.md)。217如果您在兩個終端中恢復同一 session 而不進行分支,來自兩者的訊息會交錯到一個文字記錄中。有關單個 session 內基於 checkpoint 的 rewind,請參閱 [Checkpointing](https://code.claude.com/docs/zh-TW/checkpointing.md)。
209 218
210## 在 session 內管理上下文219## 在 session 內管理上下文
211 220
212這些命令控制上下文視窗中的內容,而無需離開 session:221這些命令控制上下文視窗中的內容,而無需離開 session:
213 222
214* **`/clear`**:以空上下文重新開始。Claude Code 會儲存先前的工作階段;使用 `/resume` 恢復它,或在同一個 Claude Code 程序中,從[倒帶選單的前一個工作階段項目](/docs/zh-TW/checkpointing.md#rewind-past-a-cleared-conversation)。不帶引數時,新工作階段會保留您使用 `--name` 或 `/rename` 設定的名稱,但不會保留 AI 生成的工作階段標題。若要改為命名您要離開的工作階段,請傳遞名稱,如 `/clear release-prep`;新工作階段隨後會以未命名狀態開始223* **`/clear`**:以空上下文重新開始。Claude Code 會儲存先前的工作階段;使用 `/resume` 恢復它,或在同一個 Claude Code 程序中,從[倒帶選單的前一個工作階段項目](https://code.claude.com/docs/zh-TW/checkpointing.md#rewind-past-a-cleared-conversation)。不帶引數時,新工作階段會保留您使用 `--name` 或 `/rename` 設定的名稱,但不會保留 AI 生成的工作階段標題。若要改為命名您要離開的工作階段,請傳遞名稱,如 `/clear release-prep`;新工作階段隨後會以未命名狀態開始
215* **`/compact [instructions]`**:用摘要替換歷史記錄,可選擇性地專注於您指定的內容224* **`/compact [instructions]`**:用摘要替換歷史記錄,可選擇性地專注於您指定的內容
216* **`/context`**:顯示目前消耗上下文的內容225* **`/context`**:顯示目前消耗上下文的內容
217 226
218有關壓縮如何與 CLAUDE.md、skills 和規則互動,請參閱[上下文視窗指南](/docs/zh-TW/context-window.md)。有關何時清除與壓縮的策略,請參閱[最佳實踐](/docs/zh-TW/best-practices.md#manage-your-session)。227有關壓縮如何與 CLAUDE.md、skills 和規則互動,請參閱[上下文視窗指南](https://code.claude.com/docs/zh-TW/context-window.md)。有關何時清除與壓縮的策略,請參閱[最佳實踐](https://code.claude.com/docs/zh-TW/best-practices.md#manage-your-session)。
219 228
220## 匯出和定位工作階段資料229## 匯出和定位工作階段資料
221 230
225 234
226`/export` 產生供人閱讀的呈現逐字稿。下列介面產生供指令碼解析的結構化資料:執行的 JSON 結果、工作階段逐字稿檔案的路徑,或事件的即時串流。根據觸發指令碼的內容選擇:235`/export` 產生供人閱讀的呈現逐字稿。下列介面產生供指令碼解析的結構化資料:執行的 JSON 結果、工作階段逐字稿檔案的路徑,或事件的即時串流。根據觸發指令碼的內容選擇:
227 236
228* **執行 Claude 一次並擷取結果**:使用 [`--output-format json` 或 `stream-json`](/docs/zh-TW/headless#get-structured-output) 叫用 `claude -p`,以將非互動執行的結果、工作階段 ID、使用情況和成本擷取為結構化 JSON。237* **執行 Claude 一次並擷取結果**:使用 [`--output-format json` 或 `stream-json`](https://code.claude.com/docs/zh-TW/headless#get-structured-output) 叫用 `claude -p`,以將非互動執行的結果、工作階段 ID、使用情況和成本擷取為結構化 JSON。
229* **詢問現有工作階段一個問題**:將工作階段 ID 傳遞給 [`claude -p --resume`](/docs/zh-TW/headless#continue-conversations),以傳送後續提示詞(例如摘要請求),並擷取結構化回應。238* **詢問現有工作階段一個問題**:將工作階段 ID 傳遞給 [`claude -p --resume`](https://code.claude.com/docs/zh-TW/headless#continue-conversations),以傳送後續提示詞(例如摘要請求),並擷取結構化回應。
230* **對工作階段事件做出反應**:讀取 [hook](/docs/zh-TW/hooks.md#common-input-fields) 和 [狀態列命令](/docs/zh-TW/statusline.md#available-data) 作為輸入接收的 `transcript_path` 欄位。`SessionEnd` hook 可在工作階段結束時封存逐字稿。239* **對工作階段事件做出反應**:讀取 [hook](https://code.claude.com/docs/zh-TW/hooks.md#common-input-fields) 和 [狀態列命令](https://code.claude.com/docs/zh-TW/statusline.md#available-data) 作為輸入接收的 `transcript_path` 欄位。`SessionEnd` hook 可在工作階段結束時封存逐字稿。
231* **在 TypeScript 或 Python 應用程式中嵌入 Claude**:使用 [Agent SDK](/docs/zh-TW/agent-sdk/overview.md) 以程式設計方式接收每條訊息。240* **在 TypeScript 或 Python 應用程式中嵌入 Claude**:使用 [Agent SDK](https://code.claude.com/docs/zh-TW/agent-sdk/overview.md) 以程式設計方式接收每條訊息。
232 241
233下列範例使用第二個介面。它傳送後續提示詞給現有工作階段,並使用 `jq` 讀取答案:242下列範例使用第二個介面。它傳送後續提示詞給現有工作階段,並使用 `jq` 讀取答案:
234 243
246 255
247| 目的 | 設定 | 位置 |256| 目的 | 設定 | 位置 |
248| - | - | - |257| - | - | - |
249| 將儲存空間移出 `~/.claude` | [`CLAUDE_CONFIG_DIR`](/docs/zh-TW/env-vars) | 環境變數 |258| 將儲存空間移出 `~/.claude` | [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/zh-TW/env-vars) | 環境變數 |
250| [自行命名 `<project>` 目錄](#name-the-project-directory-yourself) | [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/zh-TW/env-vars) | 環境變數 |259| [自行命名 `<project>` 目錄](#name-the-project-directory-yourself) | [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/zh-TW/env-vars) | 環境變數 |
251| 變更 30 天保留期 | [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) | `settings.json` |260| 變更 30 天保留期 | [`cleanupPeriodDays`](https://code.claude.com/docs/zh-TW/settings-reference#cleanupperioddays) | `settings.json` |
252| 為 [Claude Desktop 和 Cowork 逐字稿](/docs/zh-TW/claude-directory.md#cleaned-up-automatically) 設定年齡限制 | [`desktopSessionCleanupPeriodDays`](/docs/zh-TW/settings-reference#desktopsessioncleanupperioddays) | 使用者設定、受管設定或 `--settings` |261| 為 [Claude Desktop 和 Cowork 逐字稿](https://code.claude.com/docs/zh-TW/claude-directory.md#cleaned-up-automatically) 設定年齡限制 | [`desktopSessionCleanupPeriodDays`](https://code.claude.com/docs/zh-TW/settings-reference#desktopsessioncleanupperioddays) | 使用者設定、受管設定或 `--settings` |
253| 限制 `-p` 或 Agent SDK 工作階段的逐字稿檔案可成長的大小 | [`CLAUDE_CODE_TRANSCRIPT_LOCAL_GC`](/docs/zh-TW/env-vars) | 環境變數 |262| 限制 `-p` 或 Agent SDK 工作階段的逐字稿檔案可成長的大小 | [`CLAUDE_CODE_TRANSCRIPT_LOCAL_GC`](https://code.claude.com/docs/zh-TW/env-vars) | 環境變數 |
254| 在所有模式中禁止逐字稿寫入 | [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/zh-TW/env-vars) | 環境變數 |263| 在所有模式中禁止逐字稿寫入 | [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](https://code.claude.com/docs/zh-TW/env-vars) | 環境變數 |
255| 禁止一次非互動執行的寫入 | [`--no-session-persistence`](/docs/zh-TW/cli-reference) | 搭配 `claude -p` 的 CLI 旗標 |264| 禁止一次非互動執行的寫入 | [`--no-session-persistence`](https://code.claude.com/docs/zh-TW/cli-reference) | 搭配 `claude -p` 的 CLI 旗標 |
256 265
257### 刪除工作階段資料266### 刪除工作階段資料
258 267
259逐字稿在 [保留掃描規則](/docs/zh-TW/claude-directory.md#cleaned-up-automatically) 下會逐漸過期。若要更快刪除專案的逐字稿和相關狀態,請執行 [`claude purge`](/docs/zh-TW/claude-directory#clear-local-data)。如果您使用 [`claude rm <id>`](/docs/zh-TW/agent-view#what-deleting-a-session-removes) 刪除 [背景工作階段](/docs/zh-TW/agent-view.md),其逐字稿會保留在磁碟上,並且仍可透過 `claude --resume` 存取。268逐字稿在 [保留掃描規則](https://code.claude.com/docs/zh-TW/claude-directory.md#cleaned-up-automatically) 下會逐漸過期。若要更快刪除專案的逐字稿和相關狀態,請執行 [`claude purge`](https://code.claude.com/docs/zh-TW/claude-directory#clear-local-data)。如果您使用 [`claude rm <id>`](https://code.claude.com/docs/zh-TW/agent-view#what-deleting-a-session-removes) 刪除 [背景工作階段](https://code.claude.com/docs/zh-TW/agent-view.md),其逐字稿會保留在磁碟上,並且仍可透過 `claude --resume` 存取。
260 269
261### 自行命名專案目錄270### 自行命名專案目錄
262 271
263根據預設,Claude Code 從整個工作目錄路徑衍生 `<project>` 名稱。若要自行選擇名稱,請將 `CLAUDE_CODE_PROJECT_DIR_NAME` 與 `CLAUDE_CONFIG_DIR` 一起設定。Claude Code 隨後會將該工作階段的逐字稿和 [自動記憶](/docs/zh-TW/memory.md#auto-memory) 儲存在您的名稱下。這適合嵌入 Claude Code 的主機,並為每個工作階段提供自己的設定目錄。需要 Claude Code v2.1.234 或更新版本。272根據預設,Claude Code 從整個工作目錄路徑衍生 `<project>` 名稱。若要自行選擇名稱,請將 `CLAUDE_CODE_PROJECT_DIR_NAME` 與 `CLAUDE_CONFIG_DIR` 一起設定。Claude Code 隨後會將該工作階段的逐字稿和 [自動記憶](https://code.claude.com/docs/zh-TW/memory.md#auto-memory) 儲存在您的名稱下。這適合嵌入 Claude Code 的主機,並為每個工作階段提供自己的設定目錄。需要 Claude Code v2.1.234 或更新版本。
264 273
265例如,此啟動會將租戶 A 的資料保留在 `/srv/tenant-a` 下,並將其專案目錄命名為 `work`:274例如,此啟動會將租戶 A 的資料保留在 `/srv/tenant-a` 下,並將其專案目錄命名為 `work`:
266 275
282 291
283這些頁面涵蓋相關的 session 和平行處理機制:292這些頁面涵蓋相關的 session 和平行處理機制:
284 293
285* [Worktrees](/docs/zh-TW/worktrees.md):在單獨的分支上執行隔離的平行 sessions294* [Worktrees](https://code.claude.com/docs/zh-TW/worktrees.md):在單獨的分支上執行隔離的平行 sessions
286* [Checkpointing](/docs/zh-TW/checkpointing.md):將程式碼和對話 rewind 到較早的點295* [Checkpointing](https://code.claude.com/docs/zh-TW/checkpointing.md):將程式碼和對話 rewind 到較早的點
287* [Context window](/docs/zh-TW/context-window.md):什麼填充上下文以及什麼在壓縮中存活296* [Context window](https://code.claude.com/docs/zh-TW/context-window.md):什麼填充上下文以及什麼在壓縮中存活
288* [Non-interactive mode](/docs/zh-TW/headless.md):`claude -p` 下的 session 行為297* [Non-interactive mode](https://code.claude.com/docs/zh-TW/headless.md):`claude -p` 下的 session 行為