# Claude Code Remote Control 老断开、Codex 手机等待桌面端：原因与排查

> 官方远程掉线、配对卡住，多半出在电脑睡眠、进程退出、代理和登录上。这篇按官方文档与 GitHub issue 逐条列原因和缓解办法，并说明什么时候值得换一种架构。

Canonical: https://botbus.io/blog/remote-control-disconnects-fixes  
Published: 2026-10-31

## 先说结论

Claude Code 的 Remote Control 和 ChatGPT 手机 app 里的 Codex 远程，都是“手机 → 厂商服务器 → 你电脑上的进程”这样一条链，掉线和连不上几乎都出在电脑这一端：电脑睡了、进程被关了、代理挡住了出站连接，或者登录方式、账号策略不满足要求。大多数情况照着下面的清单能自己修好；如果你的电脑经常睡眠、网络常要走代理，或者你用的是官方远程不支持的登录方式，那就值得考虑换一种不依赖某个终端窗口的做法。

下文关于两家官方方案的内容，是我们在 2026 年 10 月 31 日对照 Claude Code 官方文档、ChatGPT 帮助文档和两家 GitHub 仓库的公开 issue 核对的。两边改得都很快，以官方最新文档为准。

## 先弄清是哪一段断了

不管哪家，远程都有三段：手机到服务器、服务器到电脑、电脑上的 agent 进程本身。手机上显示“已断开”，并不说明电脑上的任务停了。Claude Code 文档也专门提醒：网页或桌面 app 上的 “Remote Control disconnected” 和 “Can't reach” 只说明这一端和电脑失去联系，并不告诉你 Claude 或子 agent 还在不在干活。

所以排查第一步永远是回到电脑上看一眼：进程还在不在、终端里有没有报错、电脑是不是睡过。在电脑旁边不方便时，至少先看电脑有没有在线，而不是在手机上反复重进。

## Claude Code Remote Control 断开的常见原因

### 1. 进程没了

Remote Control 是本机进程的一扇窗。官方文档写明：关掉终端、退出跑着会话的桌面 app 或 VS Code，或者 `claude` 进程以别的方式停了，会话就下线，直到你把它接回来。在远程服务器上用 SSH 跑 `claude` 的，文档建议放进 `tmux` 或 `screen`，否则 SSH 一断进程就跟着走。

接回的办法：用 `claude --continue` 或 `claude --resume` 恢复那段对话，Claude Code 会尝试重连原来的 Remote Control 会话；如果提示 “Couldn't reconnect to your Remote Control session”，在会话里运行 `/remote-control` 重试，或者用 `claude --remote-control` 开一个新的远程会话。

### 2. 电脑睡眠或网络断了

文档说电脑睡眠或网络断开后，机器恢复在线时会自动重连。但两种模式在“醒着却连不上网”时表现不同：

- **服务器模式**（`claude remote-control`）：大约 10 分钟后放弃，进程直接退出，要重新运行命令。
- **交互会话**（`claude --remote-control` 或会话里的 `/remote-control`）：只要断网就一直重试，网络回来自己接上。

所以网络不稳、常换 Wi‑Fi 的话，交互会话比服务器模式更扛得住。另外两种文档里写到的情况：断开原因是 `could not reach the Remote Control server for about 30 minutes` 时，手动运行 `/remote-control` 重连；接上 VPN 或换网络后，中间设备回 HTTP 403 时 Claude Code 会重试最多三分钟，超过就断开，断开原因会说明是网络边缘还是你自己网络上的代理、VPN、防火墙拒绝的。

电脑会不会睡是另一个话题，我们在[让 Mac 别睡的几种办法](https://botbus.io/blog/keep-mac-awake-for-ai-agents)里单独讲过。

### 3. 登录方式或账号策略不满足

这类问题表现为“根本连不上”而不是“连上又掉”。文档列出的典型提示：

- `Remote Control requires a claude.ai subscription` 或 `requires claude.ai subscription auth`：没登录 claude.ai，或者环境里有 `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、`apiKeyHelper` 让会话走了 API key。
- 会话没有直接连 Anthropic API：用 Amazon Bedrock、Google Cloud、Microsoft Foundry，或者 `ANTHROPIC_BASE_URL` 指向网关、代理时，即使用 claude.ai 登录也不行。
- 组织策略关闭、读不到组织策略（常见于离线启动或 VPN 还没连上就开了 Claude Code）、组织要求 Trusted Devices 而这台设备没登记。

文档建议运行 `claude doctor` 看具体是哪一项检查没过。如果你本来就用 API key 或中转站，这一类不是“修”的问题，而是官方远程不覆盖你，可以看[用 API key 或中转站跑 Claude Code 怎么在手机上管](https://botbus.io/blog/claude-code-api-key-proxy-on-phone)。

### 4. 公开 issue 里还没解决的

截至核对日期，anthropics/claude-code 仓库里还开着这样的报告：#95001，某台设备的登录令牌缺少新加的权限范围，重新登录后，之前已经建好的会话也一直停在 “Disconnected”，界面上没有重连按钮。遇到“所有会话都显示断开、电脑上明明在跑”的情况，可以先退出重新登录，再在电脑上的会话里运行 `/remote-control`；还不行就开一个新的远程会话。

## Codex 手机一直“等待桌面端”

先注意入口变了：早期教程让你在单独的 Codex 桌面 app 里设置，现在官方帮助文档写的是在 macOS 或 Windows 上的 ChatGPT 桌面 app 里开（设置 › 连接 › 控制这台 Mac 或电脑），照旧教程找不到入口很正常。文档还写明：只能从桌面 app 设置，Codex CLI 和 IDE 扩展不行；每部手机要和每台电脑分别配对；电脑睡眠、断网或关掉 app，远程就停，直到它恢复。

按官方文档和 openai/codex 的公开 issue，排查顺序可以这样走：

1. **先确认账号和工作区一致。** 电脑和手机必须是同一个账号、同一个工作区，桌面 app 在运行、“允许其他设备连接”是开着的。工作区用户还要请管理员确认开了远程访问。
2. **检查多因素认证。** issue #27167 里，手机一直停在“等待电脑响应”，本机日志里却有服务器明确返回的 `Multi-factor authentication required`。账号没开 MFA 时，先去 ChatGPT 安全设置打开，再重试。
3. **检查代理。** issue #22851（仍开着）记录了一个典型情况：电脑必须走本地代理上网，后台负责远程的进程没用上代理，连不到 OpenAI 的服务器，桌面上照样显示二维码，看起来像配对问题。用代理或防火墙的，确认这个进程能访问 `chatgpt.com`。
4. **重新配对。** 文档说 2026 年 6 月 8 日之后用过的连接会保持配对，之前的要把两边 app 都升级后重新配对。手机上先退出“等待”页面，在电脑上生成新二维码再扫。
5. **别让两个进程抢。** 桌面 app 开着时又单独跑一个 `codex remote-control`，有用户在日志里看到 409 `Remote app server already online`，二者保留一个即可。
6. **还不行就重启桌面 app、看日志。** 文档对“开启后点添加报错”的建议就是重启桌面 app 再试。Windows 电脑配 Android 手机一直等待的报告（#22733）截至核对日期也还开着。

连上之后又频繁断开的，文档给的检查项只有三个：电脑睡了没有、网络断了没有、app 关了没有。它的设置里有“保持这台 Mac 唤醒”的选项，说明是接电源且开着远程访问时防止睡眠；文档也提醒，主动选择“睡眠”照样会断，合盖的 Mac 还需要接外接显示器。

## 什么时候该换一种做法

上面的清单能解决大部分问题。但如果你反复遇到下面几种情况，问题就不在某个设置，而在架构：

- **会话绑在一个前台进程上。** Remote Control 的会话活在启动它的那个 `claude` 进程里，终端、桌面 app 一关就没了。
- **断线后要人工接回。** 服务器模式断网 10 分钟就退出、令牌问题后会话不会自动恢复，都需要你回到电脑前操作。
- **登录方式或模型来源不在支持范围内。** 这类用户怎么排查都连不上。
- **同时用好几个 agent。** 两家的远程各管各的，排查也要做两遍。

免费的替代也一直都在：`tmux` 加 SSH 和 Tailscale 这类组网工具，会话常驻在 `tmux` 里，断了重连就能接上，什么 agent 都适用，缺点是在手机上操作终端很累，也没有审批按钮和推送。

## BotBus 在掉线这件事上有什么不同

[BotBus](https://botbus.io/) 是常驻在电脑上的程序（Mac 上是菜单栏应用，Linux 与 Windows 上是后台程序），把本机 Codex、Claude Code 等 agent 的任务同步到 iPhone、Apple Watch 和 Android 手机。在“断线”这件事上，它的做法和官方远程有几处具体差别：

- **不依赖某个终端窗口。** 终端里的 Claude Code 照常用 `claude` 启动，经 BotBus 装的 hooks 把状态和审批同步出来；手机上新建或续聊时，BotBus 在电脑上自己起进程，这一轮由它持有。Codex 则通过 `codex app-server` 接入，和桌面版共用时，BotBus 断线不会终止桌面上的 Codex，重连后会补回进行中的轮次和还没回答的审批。
- **自动重连，不用人管。** 电脑和中转服务器之间是一条常连的 WebSocket，每 30 秒探测一次；断了就自动重连，等待时间从 1 秒起逐次加倍，最长 60 秒。短暂断线不会中断电脑上正在跑的任务。
- **电脑离线时手机照样能看。** 中转服务器保留这台电脑最后一份任务列表，手机上标为离线、不可操作，而不是一片空白。
- **命令会排队，不会重复执行。** 电脑暂时不在线时，手机发出的审批、续聊等命令在中转服务器排队最多 10 分钟，电脑重连后补发；电脑确认收到才算送达，并按命令编号去重，同一条命令不会执行两次。超过 10 分钟没送到，手机上显示失败，而不是一直转圈。
- **BotBus 不在时不卡住 agent。** BotBus 没有运行时，Claude Code 的 hook 不表态，Claude Code 照常在终端里弹自己的权限框。
- **不挑登录方式。** 它调用你本机已经配置好的 `claude` 和 `codex`，用 API key、中转站还是订阅，由你自己的配置决定。

内容在设备上端到端加密后才离开，中转服务器只见密文，但看得到设备编号、在线状态、更新时间和数据大小，开发预览不在端到端加密范围内，细节见[安全说明](https://botbus.io/docs/security)。

## 限制与边界

BotBus 解决的是“会话挂在哪、断了谁来接回”，解决不了物理上的离线：

- **电脑必须醒着、联网。** BotBus 不阻止电脑睡眠，电脑睡着时它和 agent 一起停。审批、续聊、新建、中断都要目标电脑在线，并取决于连接器支持和任务状态。
- **中间同样有一台中转服务器。** 它出问题时手机一样连不上电脑，只是电脑端会自己不停重连。
- **排队有上限。** 一台电脑最多排 50 条命令，每条最多等 10 分钟。
- **同一台电脑只能有一个 BotBus 在线。** 第二个实例连上后，第一个会停止并提示已被接管。
- **中断只对 BotBus 自己启动的进程有效。** 你在终端里开的会话，要回终端里停。
- **体验不一样。** 它没有官方远程那种在终端、网页、手机三处同时打字的体验，手机上看的是任务列表和按需读取的对话记录。

如果你只用 Claude Code、有订阅、电脑基本不睡，官方 Remote Control 修好之后仍是最省事的选择；Codex 用户同理。两者和 BotBus 也可以同时开，互不影响。想试的话，可以在[首页下载区](https://botbus.io/#download)下载电脑端与手机端。

## 常见问题

### Remote Control 显示断开，电脑上的任务还在跑吗？

不一定停了。官方文档明确说，断开提示只代表网页或手机和电脑失去联系，不能说明 Claude 是否还在工作。回电脑上看进程和终端输出才准。

### 用 `claude remote-control` 还是 `claude --remote-control` 更稳？

网络不稳时交互会话更稳：它在断网期间一直重试，网络回来自动接上；服务器模式断网约 10 分钟就退出，要重新启动。

### Codex 手机一直“等待桌面端”，最该先查什么？

先查同一账号和工作区、多因素认证有没有开，再查代理和防火墙是否放行 `chatgpt.com`，然后在电脑上生成新二维码重新扫。桌面 app 没有显示错误时，本机日志里往往有服务器返回的真实原因。

### BotBus 断线后要重新扫码吗？

不用。网络断开、电脑重启后 BotBus 自己重连，配对关系保留；只有在电脑上解除配对、或在电脑端把这部手机移除后才需要重新扫码。

### 电脑合盖后 BotBus 能接着管 agent 吗？

不能。合盖默认会睡，BotBus 和 agent 都会停，手机上只能看到电脑离线前的任务列表。要让 agent 继续跑，需要先让电脑保持唤醒。
