我很常用手機交代 Claude Code 做事。以前在電腦上開一個新的 Claude Code 對話,還得先在對話框裡打一次 /remote-control,手機才看得到那一場;電腦重開機之後,更要先用遠端桌面連回去打指令。用久了就覺得,這件事 ChatGPT 的 Codex 做得比較像人:電腦配對一次,之後不管從電腦還是手機開新視窗,兩邊都同時看得到。
後來我才發現,Claude Code 其實早就補上了一半。桌面版的設定裡有一個開關叫 Connect new sessions to Remote Control(文件上的舊名是 Enable remote control by default),打開之後,電腦上每一場新對話都會自動連上手機,不用再打指令。我這台是 8 月下旬的桌面版更新之後就開始自動連的,只是我一直照舊習慣打指令,沒感覺到差別,9 月才真的注意到。
但另一半一直沒補上:從手機上的 Claude App 主動開一個新對話,預設不是開在我的電腦上,而是開在 Anthropic 的雲端伺服器上。AI 本來就在雲端跑,差別在於那個對話碰不到我電腦裡的檔案、工具和設定,等於是另一台空機器。我這幾個月累積的參考資料、記憶、各種自動化流程,它一個都用不到。
官方其實有解法,叫伺服器模式:在電腦上跑 claude remote-control,你的電腦就會出現在手機 App 的 Devices 清單裡,可以直接在上面開新對話。問題是它當常駐服務很勉強:斷網大約 10 分鐘會自己退出,開機也不會自己啟動。所以我先寫了一支常駐程式把它包起來,自己用了一陣子;這次整理成別人也能照著裝的版本,放上 GitHub。
claude remote-control 伺服器隱藏在背景跑,沒有黑色視窗doctor:逐項告訴你哪裡不符合、怎麼修,最後真的把伺服器起來測一次| 想要的效果 | 在哪裡設定 | 備註 |
|---|---|---|
| 電腦開的對話自動出現在手機 | Claude 桌面版 → Settings → Claude Code → Connect new sessions to Remote Control | 官方文件仍寫舊名 Enable remote control by default。我的實測是 8 月下旬更新後就預設會連,開關的狀態不一定對得上 |
| 終端機(CLI)開的對話自動連手機 | 在 Claude Code 裡打 /config → Enable Remote Control for all sessions | 設定檔的鍵是 remoteControlAtStartup,放在使用者層級的 settings.json |
| 手機主動開的新對話落在自己電腦上 | 電腦上跑 claude remote-control(伺服器模式) | 這就是本工具負責讓它一直活著的那個程式 |
| 手機不用架東西也能交辦 | 桌面版 Cowork 分頁的 Dispatch,手機配對一次 | 走的是「傳任務給桌面版」,不是直接開 Code 對話;Pro/Max 限定 |
會用這個工具的人,電腦上一定已經有 Claude Code。所以最簡單的裝法不是你打指令,是叫它裝。做完一步就打勾,勾勾會記在你的瀏覽器裡。
桌面版的 Code 分頁開一個新對話就可以,在哪個資料夾都沒關係。用終端機的人打 claude 也一樣。
請把 https://github.com/Nouischen/claude-code-phone-gateway 這個專案 clone 到 C:\Projects\claude-code-phone-gateway(沒有 C:\Projects 就先建一個),然後照它的 README 安裝:先跑 doctor.ps1,把結果給我看;有 FAIL 就停下來,用白話告訴我要怎麼修。沒有 FAIL 就跑 install.ps1,安裝名稱用「我的電腦」,把輸出給我看。最後告訴我手機上要怎麼開新對話。接下來會發生的事:它會自己下載程式、做一輪健檢、然後安裝。中間如果它問你「可不可以執行這個指令」,按允許。大約一兩分鐘。
成功的話,它最後會回你類似這樣的內容:
[4/4] gateway running and connected: https://claude.ai/code?environment=env_... 裝好了。手機上:打開 Claude App → Code → Devices 點你的電腦 → 資料夾選 claude-code-phone-gateway → New session
整句照貼就好,一個字都不用改。句子裡的「我的電腦」只是清單上的一個顯示名稱,不影響任何功能。
claude-code-phone-gateway,按 New session列出這個資料夾裡的檔案它回你 doctor.ps1、gateway.ps1、README.md 這些檔名,就代表這場對話真的跑在你的電腦上。以後在這裡開的每一場對話,都用得到電腦裡的檔案。之後電腦開機它會自己啟動,你不用再碰它。
一樣跟你的 Claude Code 說一句:
請到 C:\Projects\claude-code-phone-gateway 執行 install.ps1 -Uninstall 把手機閘道移除,把輸出給我看。它回你 Uninstalled (1 process(es) stopped, none remaining) 就是移除乾淨了。紀錄檔會留著,不影響。
四個步驟,每一步都告訴你貼什麼、會看到什麼。
按鍵盤上的 Windows 鍵,直接打 powershell,按 Enter。會跳出一個藍色或黑色的文字視窗,最後一行長得像 PS C:\Users\你的名字>,後面有一個閃爍的游標。之後的指令都是貼在這個視窗裡再按 Enter。用一般方式開就好,不用「以系統管理員身分執行」。
按「複製」→ 回到 PowerShell 視窗 → 按一下滑鼠右鍵(在這個視窗裡,右鍵就是貼上)→ 按 Enter。
git clone https://github.com/Nouischen/claude-code-phone-gateway.git; cd claude-code-phone-gateway會跑幾秒鐘,看到類似這樣就對了:
Cloning into 'claude-code-phone-gateway'... remote: Enumerating objects: 30, done. Receiving objects: 100% (30/30), done. PS C:\Users\你的名字\claude-code-phone-gateway>
只要看最後一行:結尾是 claude-code-phone-gateway> 就代表電腦已經站在程式的資料夾裡,接下來的指令都直接貼在這個視窗。不用理解那一行是什麼意思。
出現紅字 'git' is not recognized 代表電腦沒有 Git:到 GitHub 頁面 按綠色的 Code → Download ZIP,解壓縮後打開那個資料夾,在裡面的空白處按右鍵選「在終端機中開啟」(Windows 10 是先按住 Shift 再按右鍵,選「在此處開啟 PowerShell 視窗」),跳出來的視窗結尾是 claude-code-phone-gateway-main> 就對了,之後都用這個視窗。
貼上、按 Enter。每一行開頭是綠色的 PASS、黃色的 WARN 或紅色的 FAIL。
powershell -NoProfile -ExecutionPolicy Bypass -File .\doctor.ps1[PASS] Windows 10 build 26200 [PASS] PowerShell 5.1.26100.9168 [PASS] Claude Code 2.1.258 [PASS] claude.ai login found [PASS] No ANTHROPIC_API_KEY in environment [PASS] WorkDir C:\Users\you\claude-code-phone-gateway [WARN] WorkDir is not yet trusted [INFO] No startup shortcut yet [INFO] Live probe skipped: WorkDir not trusted yet Result: ready. 1 warning(s).
那一行黃色 WARN 是正常的,下一步會處理。只要沒有紅色 FAIL 就往下走;有 FAIL 的話,那一行底下就寫著怎麼修,修完再貼一次同一行重跑。
| 看到的紅字 | 意思 | 怎麼辦 |
|---|---|---|
| Claude Code not found | 電腦上沒有 Claude Code | 到 官方安裝頁 裝好,再重跑 |
| No claude.ai login | 還沒用訂閱帳號登入過 | 打 claude,出現畫面後打 /login,照指示登入,完成後打 /exit |
| Claude Code x.x.x is too old | 版本太舊 | 打 claude update,跑完再重跑 |
| WorkDir is your user profile root | 你把程式放在家目錄本身 | 把資料夾移到子資料夾,例如 C:\Projects |
照貼就好,引號裡的「我的電腦」只是清單上的顯示名稱,不用改。貼上、按 Enter,大約 15 秒。
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Name "我的電腦"[1/4] work folder marked trusted in ~/.claude.json (backup: ...) [2/4] live probe: starting claude remote-control once... 2026-09-06 03:50:39 connected: https://claude.ai/code?environment=env_... OK remote-control server connected. [3/4] startup entry created: ...\Startup\Claude Code Phone Gateway.lnk [4/4] gateway running and connected: https://claude.ai/code?environment=env_...
看到 [4/4] gateway running and connected 就成功了,視窗可以關掉,接著回到上面的第 3 步拿手機試。最後一行如果是 Install stopped: the server could not connect,往上看紅字,通常是健檢那張表裡的其中一種。
手動移除:在同一個資料夾的視窗貼 powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Uninstall。
所有紀錄都在 <工作資料夾>\logs\:
| 檔案 | 看什麼 |
|---|---|
gateway.log | 管家事件:server started、connected: <網址>、server exited、restarting in Ns。健康狀態=每次啟動後都有一行 connected |
server.log | 伺服器自己的輸出,超過 2 MB 自動輪替。出事時真正的原因在這裡 |
ALERT-gateway.txt | 連續三次秒退才會出現,恢復時再寫一行 |
斷網之後伺服器每隔幾分鐘重啟一次是正常的,它自己退出、管家把它帶回來。要移除就跑 install.ps1 -Uninstall,會停掉程序、拿掉捷徑,紀錄和信任設定留著。
這幾個都是我自己踩過、而且壞掉時沒有任何聲音的。工具現在會處理,但知道原因比較不會慌。
| 症狀 | 原因 | 處理 |
|---|---|---|
| FAILWorkspace not trusted | 工作資料夾沒被信任 | install 會種信任旗標;手動做法是在資料夾裡跑一次 claude 並按同意 |
| FAILrequires claude.ai subscription auth | 環境變數裡有 ANTHROPIC_API_KEY,claude 改走金鑰認證 | 管家啟動伺服器時會把 ANTHROPIC_* 剝掉,你的全域變數不用刪 |
| WARN每 30 秒到 10 分鐘就 rc=1 重啟 | 上面任一種認證或信任問題 | 看 server.log,告警檔會寫最後一行 |
| FAILhome-directory trust is never saved | 工作資料夾設成了家目錄 | 換一個子資料夾,這是官方的安全設計 |
| 正常斷網約 10 分鐘後伺服器退出 | 官方設計 | 管家會用 30 秒起跳、最長 10 分鐘的退避重啟 |
| 正常手機清單多了幾個閒置項目 | 伺服器每次啟動會預建一場 | 滑掉就好 |
我沒有第二台 Windows 可以測,所以用另一種方式:開一個全新的 Claude Code,扮演完全沒看過這個專案的陌生人,只准讀 README,從 clone、doctor、install、驗證、移除全程自己做,中途我不插手。這樣跑了三輪,前兩輪各抓到一個真的 bug:
第三輪全部通過。另外補測了幾條 README 宣稱但陌生人沒踩到的失敗路徑:工作資料夾設成家目錄、claude 路徑錯、環境變數帶 API 金鑰、用桌面版內建的 claude.exe,反應都跟文件寫的一樣。