46 46
47在發送第一條訊息之前,在提示區域中配置四項內容:47在發送第一條訊息之前,在提示區域中配置四項內容:
48 48
49* **環境**:選擇 Claude 執行的位置。選擇 **Local** 用於您的機器、**Cloud** 用於[雲端會話](#cloud-sessions)(在您關閉應用程式後仍會繼續),[**SSH 連線**](#ssh-sessions)用於您管理的遠端機器,或在 Windows 上選擇 [**WSL 發行版**](/docs/zh-TW/desktop-wsl)。請參閱[環境配置](#environment-configuration)。49* **環境**:選擇 Claude 執行的位置。選擇 **Local** 用於您的機器、**Cloud** 用於[雲端工作階段](#cloud-sessions)(在您關閉應用程式後仍會繼續),[**SSH 連線**](#ssh-sessions)用於您管理的遠端機器,或在 Windows 上選擇 [**WSL 發行版**](/docs/zh-TW/desktop-wsl)。SSH 工作階段中的任務可以[在 Desktop 中斷連線時繼續執行](#keep-a-task-running-while-desktop-is-disconnected),但若使用 Claude 帳戶,任務可能會在登入過期時停止。請參閱[環境設定](#environment-configuration)。
50* **專案資料夾**:選擇 Claude 工作的資料夾或儲存庫。對於雲端會話,您可以新增[多個儲存庫](#run-long-running-tasks-in-the-cloud)。50* **專案資料夾**:選擇 Claude 工作的資料夾或儲存庫。對於雲端會話,您可以新增[多個儲存庫](#run-long-running-tasks-in-the-cloud)。
51* **模型**:從傳送按鈕旁的下拉式選單中選擇[模型](/docs/zh-TW/model-config#available-models)。您可以在會話期間變更此設定。51* **模型**:從傳送按鈕旁的下拉式選單中選擇[模型](/docs/zh-TW/model-config#available-models)。您可以在會話期間變更此設定。
52* **權限模式**:從[模式選擇器](#choose-a-permission-mode)中選擇 Claude 擁有多少自主權。您可以在會話期間變更此設定。52* **權限模式**:從[模式選擇器](#choose-a-permission-mode)中選擇 Claude 擁有多少自主權。您可以在會話期間變更此設定。
236 在終端機中執行命令236 在終端機中執行命令
237</h3>237</h3>
238 238
239整合終端機讓您在工作階段旁執行命令,而無需切換到另一個應用程式。點擊工作階段標題列中的 **Terminal**,或在 macOS 或 Windows 上按 **Ctrl+\`**。終端機在您工作階段的工作目錄中開啟,並與 Claude 共用相同的環境,因此 `npm test` 或 `git status` 等命令會看到 Claude 正在編輯的相同檔案。若要開啟第二個終端機標籤,請點擊終端機窗格標題中的 **+** 或右鍵點擊聊天中的資料夾以選擇 **Open in terminal**。終端機可在本機和 [SSH](#ssh-sessions) 工作階段中使用。239整合終端機讓您在工作階段旁執行命令,而無需切換到另一個應用程式。點擊工作階段標題列中的 **Terminal**,或在 macOS 或 Windows 上按 **Ctrl+\`**。終端機在您工作階段的工作目錄中開啟,並與 Claude 共用相同的環境,因此 `npm test` 或 `git status` 等命令會看到 Claude 正在編輯的相同檔案。若要開啟第二個終端機標籤,請點擊終端機窗格標題中的 **+** 或右鍵點擊聊天中的資料夾以選擇 **Open in terminal**。
240
241終端機可在本機和 [SSH](#ssh-sessions) 工作階段中使用,但在 [Windows 遠端機器](#windows-remote-machines)上有所限制。
240 242
241<h3 id="open-and-edit-files">243<h3 id="open-and-edit-files">
242 開啟和編輯檔案244 開啟和編輯檔案
468 470
469有關雲端工作階段如何運作的更多資訊,請參閱[在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web)。當一項工作需要許多雲端工作階段時,請在側邊欄中選擇 **Projects** 以建立[專案](/docs/zh-TW/claude-projects),Claude 會從一個對話中為您啟動並追蹤工作階段。471有關雲端工作階段如何運作的更多資訊,請參閱[在雲端使用 Claude Code](/docs/zh-TW/claude-code-on-the-web)。當一項工作需要許多雲端工作階段時,請在側邊欄中選擇 **Projects** 以建立[專案](/docs/zh-TW/claude-projects),Claude 會從一個對話中為您啟動並追蹤工作階段。
470 472
473<Note>
474 [SSH 工作階段](#ssh-sessions)中的任務也可以[在 Desktop 中斷連線時繼續執行](#keep-a-task-running-while-desktop-is-disconnected),但若使用 Claude 帳戶,任務可能會在其登入過期時停止。
475</Note>
476
471<h3 id="continue-in-another-surface">477<h3 id="continue-in-another-surface">
472 在另一個使用介面中繼續478 在另一個使用介面中繼續
473</h3>479</h3>
772 778
773* **Local**:在您的機器上執行,直接存取您的檔案779* **Local**:在您的機器上執行,直接存取您的檔案
774* **Cloud**:在 Anthropic 管理的基礎設施上執行。即使您關閉應用程式,會話也會繼續。780* **Cloud**:在 Anthropic 管理的基礎設施上執行。即使您關閉應用程式,會話也會繼續。
775* **SSH**:在您透過 SSH 連接的遠端機器上執行,例如您自己的伺服器、雲端虛擬機器或開發容器781* **SSH**:在您透過 SSH 連接的遠端機器上執行,例如您自己的伺服器、雲端虛擬機器或開發容器。執行中的任務可以[在 Desktop 中斷連線時繼續進行](#keep-a-task-running-while-desktop-is-disconnected),但使用 Claude 帳戶時,它可能會在登入過期時停止。
776* **WSL** (Windows):在您機器上的 [WSL 2 發行版](/docs/zh-TW/desktop-wsl)內執行,使用其 Linux 工具鏈和原生路徑782* **WSL** (Windows):在您機器上的 [WSL 2 發行版](/docs/zh-TW/desktop-wsl)內執行,使用其 Linux 工具鏈和原生路徑
777 783
778<h3 id="local-sessions">784<h3 id="local-sessions">
812 818
813SSH 會話可讓您在遠端機器上執行 Claude Code,同時使用桌面應用程式作為您的介面。這對於使用存在於雲端虛擬機器、開發容器或具有特定硬體或相依性的伺服器上的程式碼庫很有用。819SSH 會話可讓您在遠端機器上執行 Claude Code,同時使用桌面應用程式作為您的介面。這對於使用存在於雲端虛擬機器、開發容器或具有特定硬體或相依性的伺服器上的程式碼庫很有用。
814 820
821<Note>
822 如果您透過[第三方供應商](/docs/zh-TW/third-party-integrations)使用 Desktop,SSH 工作階段需要另外設定。請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。
823</Note>
824
815若要新增 SSH 連線,請在開始工作階段前於提示詞輸入框中開啟環境下拉式選單,然後選擇 **SSH > Add SSH connection…** 並填寫連線詳細資訊:825若要新增 SSH 連線,請在開始工作階段前於提示詞輸入框中開啟環境下拉式選單,然後選擇 **SSH > Add SSH connection…** 並填寫連線詳細資訊:
816 826
817* **Name**:此連線的友善標籤827* **Name**:此連線的友善標籤
822 832
823新增後,連線會出現在環境下拉式選單的 **SSH** 下方。選擇它以在該機器上啟動工作階段。Claude 在遠端機器上執行,可存取其檔案和工具。833新增後,連線會出現在環境下拉式選單的 **SSH** 下方。選擇它以在該機器上啟動工作階段。Claude 在遠端機器上執行,可存取其檔案和工具。
824 834
825遠端機器必須執行 Linux 或 macOS。桌面應用程式會在您第一次連接時自動在遠端機器上安裝 Claude Code。連接後,SSH 會話支援權限模式、連接器、plugins 和 MCP servers。835遠端機器可以執行 Linux、macOS 或 [Windows](#windows-remote-machines)。Desktop 會在您第一次連接時自動在遠端機器上安裝 Claude Code。連接後,SSH 工作階段支援權限模式、連接器、外掛和 MCP 伺服器。
836
837<h4 id="remote-machine-requirements-for-ssh-sessions">
838 SSH 工作階段的遠端機器需求
839</h4>
840
841Linux 或 macOS 遠端機器需要受支援的處理器、具備 SFTP 的 SSH 伺服器、未以 `noexec` 掛載的安裝資料夾、可正常運作的 shell,以及網路存取。請在連接前,或在登入後連線失敗時,檢查每項需求:
842
843* **系統**:x86\_64 或 arm64 處理器。該機器也必須符合 Claude Code 的[系統需求](/docs/zh-TW/setup#system-requirements)。
844* **SFTP**:SSH 伺服器必須提供 SFTP 子系統,可透過其 `sshd_config` 中的 `Subsystem sftp` 行開啟。若要檢查,請在您電腦上的終端機中使用 `sftp` 連接到相同的主機和連接埠。正常運作的伺服器會顯示 `sftp>` 提示字元。
845* **每個連線的工作階段數**:macOS 和 Linux 上的 Desktop 會在一個 SSH 連線上開啟多個工作階段。如果伺服器的 `sshd_config` 設定了 `MaxSessions 1`,請將其調高,例如調至 OpenSSH 的預設值 10。
846* **安裝資料夾**:Desktop 會在您家目錄下的 `~/.claude/remote/` 安裝輔助程式和 Claude Code。它會從該處執行它們,因此該資料夾不能位於以 `noexec` 掛載的檔案系統上。請在每位連接使用者的家目錄中預留約 1 GB 的磁碟空間。
847* **Shell**:遠端機器上為您帳戶設定的 shell 必須能執行透過 SSH 傳送的命令,就像 Bash、Zsh 和 `sh` 一樣
848* **網路**:Claude Code 在遠端機器上執行並從該處發出網路請求,因此該機器需要 [Claude Code 所需的網路存取](/docs/zh-TW/network-config#network-access-requirements)。如果該機器無法下載 Claude Code,Desktop 會在您的電腦上下載並上傳。Claude Code 的其他請求仍從遠端機器發出。
849
850<h4 id="use-your-ssh-configuration-on-macos-and-linux">
851 在 macOS 和 Linux 上使用您的 SSH 設定
852</h4>
853
854在 macOS 和 Linux 上,Desktop 透過在您的電腦上執行 OpenSSH 用戶端來連接,因此會使用您的 `~/.ssh/config`。透過 OpenSSH 用戶端連接需要 Claude Desktop v1.37937.0 或更新版本。在 **SSH host** 欄位中輸入該檔案中的 `Host` 名稱,即可使用其項目中的設定,例如 `HostName`、`User`、`IdentityFile`、`CertificateFile`、`ProxyJump` 和 `ProxyCommand`。
855
856新增連線前,請在您電腦上的終端機中檢查用戶端和該項目:
857
858* **用戶端版本**:執行 `ssh -V`。用戶端必須是 OpenSSH 7.6 或更新版本。
859* **項目**:使用 `Host` 名稱執行 `ssh`,例如 `ssh devbox`。如果失敗,請先修正該項目。
860
861您可以將 **SSH port** 和 **SSH key (optional)** 欄位留空。如果您填寫其中之一,Desktop 會將其與該項目一起使用:
862
863* **SSH port**:此處的值會覆寫該項目的 `Port`
864* **SSH key (optional)**:除了該項目的 `IdentityFile` 和您 SSH agent 中的金鑰外,Desktop 還會提供您選擇的金鑰檔案
865
866<h5 id="reach-a-machine-behind-a-jump-host">
867 連接位於跳板主機後方的機器
868</h5>
869
870若要連接位於跳板主機(也稱為堡壘主機)後方的機器,請在該項目中設定 `ProxyJump` 或 `ProxyCommand`。以下項目透過 `bastion.example.com` 連接 `devbox.internal.example.com`:
871
872```text ~/.ssh/config theme={null}
873Host devbox
874 HostName devbox.internal.example.com
875 User alice
876 ProxyJump bastion.example.com
877```
878
879在 **SSH host** 欄位中輸入 `devbox`。
880
881<h5 id="raise-the-ssh-connection-timeout">
882 提高 SSH 連線逾時
883</h5>
884
885如果您的 SSH 設定未為該主機設定 `ConnectTimeout`,Desktop 會給 `ssh` 30 秒來連接。透過跳板主機或 `ProxyCommand` 時,該時間包含路由連接所需的時間。如果您的路由需要更長時間,請在該項目中新增較高的值:
886
887```text ~/.ssh/config theme={null}
888Host devbox
889 HostName devbox.internal.example.com
890 User alice
891 ProxyJump bastion.example.com
892 ConnectTimeout 120
893```
894
895`ssh` 會使用它為主機找到的第一個值,因此請將該項目放在任何設定 `ConnectTimeout` 的 `Host *` 項目之上。若要確認,請在您電腦上的終端機中執行 `ssh -G devbox`。其輸出會包含 `connecttimeout 120`。變更值後,請結束並重新開啟 Desktop。
896
897<h4 id="windows-remote-machines">
898 Windows 遠端機器
899</h4>
900
901Windows 遠端機器需要 Claude Desktop v2.31226.0 或更新版本。
902
903請使用 Microsoft 的 OpenSSH Server。該機器可以是 x64 或 ARM64。SSH 伺服器啟動的 shell 可以是 `cmd.exe`、Windows PowerShell 5.1 或 Git Bash。
904
905Windows 遠端機器的測試比 Linux 遠端機器少。在依賴它之前,請先在該處嘗試您自己的工作。
906
907在 Windows 遠端機器上,預期會有以下限制(但不限於此):
908
909* **終端機**:在資料夾為 Windows 路徑(例如 `C:/projects/app`)的工作階段中,[終端機](#run-commands-in-the-terminal)不會開啟
910* **沙箱**:Claude Code 在該處以原生 Windows 執行,會在沒有沙箱的情況下執行命令。請參閱[沙箱的執行位置](/docs/zh-TW/sandboxing)。
911* **外掛**:如果外掛包含 Windows 無法儲存的檔案或資料夾名稱(例如含有 `:` 的名稱),Desktop 不會複製該外掛。工作階段會列出 Desktop 略過的外掛。
912* **MCP 伺服器**:在某些 Windows 遠端機器上,Claude 對來自 `claude_desktop_config.json` 的 MCP 伺服器的呼叫會經過 Desktop,因此 Claude [在 Desktop 中斷連線時](#limits-while-desktop-is-disconnected)無法呼叫它們的工具。在 Claude Desktop v2.37337.0 之前,這適用於所有 Windows 遠端機器。
913* **Worktree**:worktree 會放在 `<project-root>/.claude/worktrees/`。如果您[選擇其他資料夾](#choose-where-ssh-session-worktrees-go),Desktop 會忽略它。
914* **先前的訊息**:如果 SSH 伺服器的 shell 是 `cmd.exe` 或 Windows PowerShell,您可能必須先連接,才能看到工作階段先前的訊息
915* **分支**:如果 SSH 伺服器的 shell 是 `cmd.exe` 或 Windows PowerShell,您只能在工作階段的第一則訊息處分支
916* **中斷連線時執行**:只有當 SSH 伺服器允許程式在啟動它的連線結束後繼續存在時,任務才會[在 Desktop 中斷連線時持續執行](#keep-a-task-running-while-desktop-is-disconnected)。若要確認,請[測試遠端機器](#prepare-a-long-task)。
917* **殘留的程序**:工作階段結束後,請檢查機器上是否有 Claude Code 啟動的程式,因為它們可能會持續執行。Desktop 安裝的[背景輔助程式](#keep-a-task-running-while-desktop-is-disconnected)在該處不會自行停止。
918
919<h4 id="keep-a-task-running-while-desktop-is-disconnected">
920 在 Desktop 中斷連線時讓任務持續執行
921</h4>
922
923如果您的電腦進入睡眠、您失去網路,或您結束 Desktop,任務會持續進行,直到完成、需要您處理,或達到其中一項[限制](#limits-while-desktop-is-disconnected)。闔上螢幕也算是睡眠。重新啟動 Desktop 或您的電腦(包括為了更新)都算是結束。
924
925Claude Code 以程序形式在遠端機器上執行,由 Desktop 安裝在該處的背景輔助程式管理,因此它不需要您的 SSH 連線就能持續執行。本節所述的行為需要 Claude Desktop v2.31226.0 或更新版本。
926
927<Warning>
928 如果您以 Claude 帳戶登入 Desktop,請勿指望任務能整夜執行。Desktop 只有在執行中且已連線時才會為任務更新該登入,因此在您中斷連線後,任務的登入可能會過期,任務隨之停止。您中斷連線時剩餘的時間各有不同。
929
930 目前已完成的工作會保留在遠端機器上,您回來時可以傳送訊息繼續。
931
932 如果任務必須整夜執行:
933
934 * [讓您的電腦保持喚醒](/docs/zh-TW/desktop-scheduled-tasks#how-scheduled-tasks-run)並連上網路,螢幕保持開啟且 Desktop 持續執行
935 * 對遠端機器以及途中的任何跳板主機,使用不需提示即可運作的登入方式,例如由您的 SSH agent 持有的金鑰。如此 Desktop 就能在斷線後自行重新連線。
936
937 對於必須在您的電腦睡眠或關機時執行的任務,請改為啟動[雲端工作階段](#run-long-running-tasks-in-the-cloud)。
938</Warning>
939
940* **睡眠或網路中斷之後**:如果程序[仍在執行](#limits-while-desktop-is-disconnected),且 Desktop 可以在不需提示的情況下登入,您就能取回執行中的任務。如果無法,請[傳送訊息](#reconnect-after-sleep-or-a-network-loss)。
941* **結束之後,Desktop 在 macOS 或 Linux 上且使用 Claude 帳戶**:如果 Desktop 能[重新加入該程序](#reopen-a-session-after-you-quit-desktop),您就能取回執行中的任務。如果無法,任務會停止。如果任務持續停止,請傳送訊息。
942* **結束之後,Desktop 在 Windows 上或使用[第三方供應商](/docs/zh-TW/third-party-integrations)**:您會失去執行中的任務,因為 Desktop 會在工作階段開啟時結束該程序。請傳送訊息以繼續。
943
944當您回來而任務尚未完成時,請查看是否有 Desktop 無法重新連線的訊息、身分驗證錯誤或等待中的請求:
945
946* **Desktop 無法重新連線**:工作階段會說明原因,通知也可能會說明。Desktop 可能[需要您登入](#reconnect-after-sleep-or-a-network-loss)。
947* **身分驗證錯誤**:[登入 token 或憑證](#limits-while-desktop-is-disconnected)可能已過期。使用 Claude 帳戶時,請傳送訊息以繼續。使用第三方供應商時,請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。
948* **等待中的請求**:[回應它](#handle-requests-that-arrive-while-you-are-away)
949* **以上皆非**:傳送訊息以繼續
950
951<a id="prepare-a-long-task" />
952
953<h5 id="prepare-a-long-task">
954 準備長時間任務
955</h5>
956
957* **先更新**:在開始長時間任務之前更新 Desktop。在 macOS 和 Windows 上,Desktop 可能會自行重新啟動以安裝已下載的更新。當 Claude 正在處理 SSH 任務時,該重新啟動會等待。在 macOS 上使用 Claude 帳戶時,預設情況下,一旦更新已等待 72 小時,重新啟動仍可能照常進行。
958* **不要結束 Desktop**:如果 Desktop 在 Windows 上執行或使用第三方供應商,請在長時間任務執行期間保持開啟。結束之後,它會在工作階段開啟時[結束執行中的任務](#reopen-a-session-after-you-quit-desktop)。保持開啟並不能保護[等待您處理](#handle-requests-that-arrive-while-you-are-away)的請求。
959* **減少請求**:選擇能[讓任務較少等待您](#handle-requests-that-arrive-while-you-are-away)的權限模式、規則或 hook
960* **檢查跳板主機**:如果您的跳板主機要求登入,例如推播到手機,請改用不需提示即可運作的登入方式。否則 Desktop 每次嘗試重新連線時都可能再傳送一次推播。
961* **測試遠端機器**:啟動一個簡短的任務,在任務仍在執行時結束 Desktop,並在任務理應完成很久之後再次開啟工作階段。如果任務尚未完成且工作階段未顯示身分驗證錯誤,請檢查遠端機器上[可能結束任務的因素](#limits-while-desktop-is-disconnected)。
962* **不要在 Desktop 的終端機中執行命令**:如果遠端機器會[登出閒置的終端機](#limits-while-desktop-is-disconnected),請從 Desktop 以外的 SSH 登入執行您自己的命令
963
964<a id="limits-while-desktop-is-disconnected" />
965
966<h5 id="limits-while-desktop-is-disconnected">
967 Desktop 中斷連線時的限制
968</h5>
969
970您讓其持續執行的任務可能會在其登入過期時、在遠端機器將其結束時,或在輔助程式停止或被取代時結束:
971
972* **登入 token 或憑證**:使用 Claude 帳戶時,token 過期時任務會因身分驗證錯誤而停止。使用第三方供應商時,會過期的憑證(例如來自單一登入或憑證輔助程式的憑證)也是如此。請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。使用 Claude 帳戶時,請[讓 Desktop 保持執行並連線](#keep-a-task-running-while-desktop-is-disconnected),以便它能更新登入。
973* **遠端機器**:如果遠端機器重新啟動,或在您的 SSH 連線關閉時結束您的程序,執行中的任務就會結束。在 Desktop 中斷連線期間,沒有任何東西會再次啟動它。systemd-logind 的 `KillUserProcesses` 為 `yes` 且適用於您使用者的 Linux 機器,就會以此方式結束您的程序。若要讓任務在該處持續執行,請要求管理員將您的使用者排除,例如使用 `KillExcludeUsers`。
974* **閒置的終端機**:某些 Linux 遠端機器會在一段設定時間內無人輸入時登出終端機(systemd-logind 的 `StopIdleSessionSec`)。Desktop 在 macOS 或 Linux 上時,工作階段的[終端機](#run-commands-in-the-terminal)和 `!` 命令預設會共用 Desktop 的 SSH 連線。該登出會在 Desktop 連線期間結束該連線,執行中的任務可能隨之結束。關閉終端機窗格並不能防止這種情況,因此請[不要在該終端機中執行命令](#prepare-a-long-task)。
975* **Desktop 更新**:如果更新帶來新的輔助程式,Desktop 會在之後的連線中取代遠端機器上的輔助程式,這可能會結束仍在執行的任務
976* **長時間離開**:在 Linux 或 macOS 遠端機器上,如果 Desktop 30 天未連接,輔助程式會停止,並結束在其下執行的每個 Claude Code 程序。請在此之前連接。
977
978Desktop 中斷連線時,檔案編輯和某些工具可能會失敗。如果任務需要它們,請讓 Desktop 保持連線:
979
980* **Worktree**:在使用 [worktree](#work-in-parallel-with-sessions) 的工作階段中,Desktop 會在 Claude 進行每次檔案編輯之前檢查它。Desktop 中斷連線時,每次編輯會等待約 30 秒,然後失敗。Shell 命令仍會執行。在 Linux 或 macOS 遠端機器上,[編輯可以持續運作](#worktree-edits-while-disconnected)。如果您不確定,請在不使用 worktree 的情況下啟動工作階段。
981* **資料夾限制**:如果您的組織限制工作階段可使用的資料夾,Desktop 會檢查每次檔案讀取、搜尋和編輯,無論是否使用 worktree。Desktop 中斷連線時,每一項會等待最多 10 分鐘,然後失敗。
982* **連接器**:[連接器](#connect-external-tools)和 Desktop 提供的其他工具會透過 Desktop 執行,因此在它中斷連線時,每次呼叫會在約 30 秒後失敗
983* **工作流程**:Desktop 會在每個新的[工作流程](/docs/zh-TW/workflows)啟動前檢查它,因此在 Desktop 中斷連線時,新的工作流程會等待最多 10 分鐘,然後失敗
984* **MCP 伺服器**:Claude Code 在遠端機器上啟動的 MCP 伺服器不會透過 Desktop 執行,因此 Claude 仍可呼叫它們的工具。來自 `claude_desktop_config.json` 的伺服器只有在 Desktop 未使用其[內建 SSH 用戶端](#worktree-edits-while-disconnected)時才屬於此類。否則,以及在[某些 Windows 遠端機器](#windows-remote-machines)上,Claude 在 Desktop 中斷連線時無法呼叫它們的工具。
985
986<span id="worktree-edits-while-disconnected" />
987
988<Accordion title="worktree 中的編輯何時可持續運作">
989 在 Linux 或 macOS 遠端機器上,該檢查不會經過 Desktop,因此在 Desktop 中斷連線時,worktree 內的編輯會持續運作。在 Claude Desktop v2.37337.0 之前,這僅適用於 Linux 遠端機器。
990
991 在某些情況下編輯仍會失敗,包括以下情況:
992
993 * **內建 SSH 用戶端**:Desktop 使用它,例如在 Microsoft Store 安裝中、在沒有 Microsoft OpenSSH 9.4 或更新版本的 Windows 電腦上,或在 Windows 上使用第三方供應商時的預設情況
994 * **儲存庫位置**:儲存庫是您的家目錄、其上層的資料夾,或 `~/.claude`
995 * **macOS 路徑**:在 macOS 遠端機器上,儲存庫位於 `/Volumes` 之下,或儲存庫或 worktree 路徑中的資料夾名稱含有 `~` 或非 ASCII 字元
996 * **資料夾限制**:您的組織限制工作階段可使用的資料夾
997 * **企業啟動器**:在 Claude Desktop v2.37337.0 之前,您以 Claude 帳戶登入,且您的組織透過[企業啟動器](/docs/zh-TW/corporate-launcher)在遠端機器上啟動 Claude Code
998
999 沒有 worktree 的工作階段沒有這類檢查,除非您的組織限制工作階段可使用的資料夾。
1000</Accordion>
1001
1002<a id="handle-requests-that-arrive-while-you-are-away" />
1003
1004<h5 id="handle-requests-that-arrive-while-you-are-away">
1005 處理您離開期間到達的請求
1006</h5>
1007
1008如果 Claude 在 Desktop 中斷連線時需要您的核准或向您提問,Claude 會在遠端機器上等待。該等待本身沒有時間限制。當 Desktop 重新加入該程序時,會向您顯示該請求。如果 Desktop 改為啟動新的程序,您就會失去該請求。
1009
1010在任務等待您時,Desktop 可能會自行重新啟動,例如為了安裝更新。如果 Desktop 在 Windows 上執行或使用第三方供應商,您會在該次重新啟動後失去該請求。
1011
1012如果您失去了請求,請傳送訊息以繼續。
1013
1014若要減少任務停下來等待您的頻率,並在您離開時收到它的消息,請在離開前設定以下任一項:
1015
1016* **自動模式**:如果[您可使用自動模式](#auto-mode-availability),請選擇[自動模式](#choose-a-permission-mode)。在多次遭到阻擋後,系統會[再次詢問您](/docs/zh-TW/permission-modes#when-auto-mode-falls-back)。
1017* **允許規則**:在遠端機器上的使用者設定檔 `~/.claude/settings.json` 中,為任務所需的命令新增[允許規則](/docs/zh-TW/permissions#manage-permissions)。如果您的組織[僅接受來自受管設定的權限規則](/docs/zh-TW/settings-reference#allowmanagedpermissionrulesonly),請要求您的管理員將它們新增到會到達遠端機器的[受管設定](#managed-settings)中。關於專案 `.claude/settings.json` 中的允許規則,請參閱[專案允許規則與工作區信任](/docs/zh-TW/permissions#project-allow-rules-and-workspace-trust)。
1018* **代為回應的 hook**:在遠端機器上的 `~/.claude/settings.json` 中設定 [`PermissionRequest` hook](/docs/zh-TW/hooks#permissionrequest),以代替您允許或拒絕請求
1019* **提醒您的 hook**:在同一個檔案中設定帶有 `permission_prompt` matcher 的 [`Notification` hook](/docs/zh-TW/hooks#notification),以在有請求等待時傳送訊息給自己
1020* **在 Claude 完成時通知您的 hook**:在同一個檔案中設定 [`Stop` hook](/docs/zh-TW/hooks#stop),以在 Claude 完成回應時傳送訊息給自己。當 API 錯誤結束回合時它不會執行。針對該情況,請設定 [`StopFailure` hook](/docs/zh-TW/hooks#stopfailure)。
1021
1022如果您的組織[僅執行受管 hook](/docs/zh-TW/settings-reference#allowmanagedhooksonly),請要求您的管理員將該 hook 新增到會到達遠端機器的[受管設定](#managed-settings)中。
1023
1024Claude Code 在任何權限模式下(包括 Bypass permissions)都不會自動核准[少數幾項動作](/docs/zh-TW/permission-modes#actions-no-mode-auto-approves)。依權限模式而定,Claude Code 會拒絕此類動作或詢問您,任務隨後會等待您的回應。
1025
1026<a id="reconnect-after-sleep-or-a-network-loss" />
1027
1028<h5 id="reconnect-after-sleep-or-a-network-loss">
1029 睡眠或網路中斷後重新連線
1030</h5>
1031
1032如果您回來時 Desktop 尚未重新連線,請在工作階段中傳送訊息。Desktop 只有在可以不需提示即可登入的情況下才會自行重新連線,例如使用由您的 SSH agent 持有的金鑰。
1033
1034* **記住的密碼**:您讓 Desktop 記住的密碼也可以不需提示即可運作,但若要長時間離開,建議使用由您的 SSH agent 持有的金鑰。如果使用該密碼的登入中斷或停滯,Desktop 可能會停止重新連線並等待您。
1035* **其他任何提示**:如果遠端機器提示輸入其他內容,例如一次性驗證碼,您的電腦上可能會收到通知。點擊該通知,或在工作階段中傳送訊息,Desktop 就會顯示該提示。
1036
1037<Accordion title="如果跳板主機要求登入、中斷時間很長、輸出遺失或程序已消失">
1038 - **跳板主機,您離開期間推播停止**:當無人回應跳板主機的登入(例如推播到手機)時,Desktop 在 macOS 或 Linux 上可能會發生這種情況。Desktop 接著會在無人使用您的電腦時停止重新連線。當您解鎖或使用電腦時,可能會再收到一次推播,因為 Desktop 可能會再次嘗試。在三次未回應的嘗試後,它會等待您重試或傳送訊息。
1039 - **跳板主機,推播持續出現**:在 Desktop 無法判斷無人回應的情況下(例如 Desktop 在 Windows 上),只要它有可重新加入的程序,無論該程序是否仍在執行,它都會持續嘗試。每次嘗試您都可能收到另一次推播。若要停止嘗試,請結束 Desktop,但這[可能讓您失去執行中的任務](#reopen-a-session-after-you-quit-desktop)。
1040 - **長時間中斷**:Desktop 會放慢到大約每五分鐘嘗試一次。若要更快重新連線,請在工作階段中重試或傳送訊息,Desktop 會在連線後傳送該訊息。
1041 - **遺失的輸出**:在 Desktop 中斷連線期間,輔助程式會將每個工作階段最近的 Claude Code 輸出保存在 16 MiB 的緩衝區中,並捨棄較舊的輸出。Desktop 重新連線後,工作階段可能會顯示 `Loading recent output from <host>…`。如果 Desktop 無法載入所有輸出,您會看到 `Some output produced while you were disconnected may be missing here.` 這一列。該列並不表示任務已停止。
1042 - **程序已消失**:如果 Desktop 重新連線時程序已消失,Desktop 可以從對話的已儲存歷史記錄啟動新的程序,並告訴 Claude 繼續該任務。如果程序持續結束,或 Desktop 使用第三方供應商,Desktop 不會自行繼續該任務。請傳送訊息以繼續。
1043</Accordion>
1044
1045<a id="reopen-a-session-after-you-quit-desktop" />
1046
1047<h5 id="reopen-a-session-after-you-quit-desktop">
1048 結束 Desktop 後重新開啟工作階段
1049</h5>
1050
1051結束 Desktop 後,任務會在遠端機器上持續執行,直到完成、需要您處理,或達到其中一項[限制](#limits-while-desktop-is-disconnected)。
1052
1053* **Desktop 在 macOS 或 Linux 上,使用 Claude 帳戶**:啟動 Desktop 並開啟工作階段。當 Desktop 能重新加入該程序時,您就能取回執行中的任務。它並非總是能重新加入,例如在某些 Desktop 更新之後,或在您的組織變更其受管設定之後。
1054* **在 macOS 或 Linux 上,當 Desktop 無法重新加入時**:Desktop 會結束該程序,並從對話的已儲存歷史記錄啟動新的程序。您執行中的任務會停止,且您會失去任何正在等待您的核准或問題。更新之後,Desktop 接著可能會告訴 Claude 繼續。如果任務持續停止,請傳送訊息。
1055* **Desktop 在 Windows 上,或在任何平台上使用第三方供應商**:只有在您預期任務已完成時才再次啟動 Desktop。您無法取回執行中的任務,因為 Desktop 在結束後絕不會重新加入。它會在工作階段開啟時結束該程序,而這可能在 Desktop 啟動時就發生。請傳送訊息以繼續。
1056
1057關於第三方部署,請參閱 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)。
1058
1059<Warning>
1060 當對話的 Claude Code 程序仍在執行時,請勿在遠端機器上為其執行 [`claude --resume`](/docs/zh-TW/cli-reference#cli-flags)。Claude Code 不會阻止您,而兩個程序接著會寫入同一個對話。如果您不確定,請加上 `--fork-session`,它會在對話的副本中繼續,但兩個程序仍會處理相同的檔案。
1061</Warning>
826 1062
827<h4 id="choose-where-ssh-session-worktrees-go">1063<h4 id="choose-where-ssh-session-worktrees-go">
828 選擇 SSH 工作階段 worktree 的位置1064 選擇 SSH 工作階段 worktree 的位置
8342. 遠端機器上 `~/.claude/settings.json` 中的 [`worktree.location`](/docs/zh-TW/settings-reference#worktree-location)10702. 遠端機器上 `~/.claude/settings.json` 中的 [`worktree.location`](/docs/zh-TW/settings-reference#worktree-location)
8353. `<project-root>/.claude/worktrees/`,即預設值10713. `<project-root>/.claude/worktrees/`,即預設值
836 1072
837每個專案會在您設定的資料夾中擁有自己的子資料夾,因此若設定為 `~/worktrees`,worktree 的路徑為 `~/worktrees/<project>-<id>/<worktree-name>`。如果您設定的資料夾位於專案內,Desktop 會對該專案忽略它並使用預設值。1073每個專案會在您設定的資料夾中擁有自己的子資料夾,因此若設定為 `~/worktrees`,worktree 的路徑為 `~/worktrees/<project>-<id>/<worktree-name>`。如果您設定的資料夾位於專案內,Desktop 會對該專案忽略它並使用預設值。在 [Windows 遠端機器](#windows-remote-machines)上,Desktop 一律使用預設值。
838 1074
839若要在您先前新增的連線或您組織管理的連線上設定 **Worktree folder**,請在環境下拉式選單中將滑鼠懸停在該連線上,然後點擊齒輪圖示。1075若要在您先前新增的連線或您組織管理的連線上設定 **Worktree folder**,請在環境下拉式選單中將滑鼠懸停在該連線上,然後點擊齒輪圖示。
840 1076