先说结论
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 别睡的几种办法里单独讲过。
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 怎么在手机上管。
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,排查顺序可以这样走:
- 先确认账号和工作区一致。 电脑和手机必须是同一个账号、同一个工作区,桌面 app 在运行、“允许其他设备连接”是开着的。工作区用户还要请管理员确认开了远程访问。
- 检查多因素认证。 issue #27167 里,手机一直停在“等待电脑响应”,本机日志里却有服务器明确返回的
Multi-factor authentication required。账号没开 MFA 时,先去 ChatGPT 安全设置打开,再重试。 - 检查代理。 issue #22851(仍开着)记录了一个典型情况:电脑必须走本地代理上网,后台负责远程的进程没用上代理,连不到 OpenAI 的服务器,桌面上照样显示二维码,看起来像配对问题。用代理或防火墙的,确认这个进程能访问
chatgpt.com。 - 重新配对。 文档说 2026 年 6 月 8 日之后用过的连接会保持配对,之前的要把两边 app 都升级后重新配对。手机上先退出“等待”页面,在电脑上生成新二维码再扫。
- 别让两个进程抢。 桌面 app 开着时又单独跑一个
codex remote-control,有用户在日志里看到 409Remote app server already online,二者保留一个即可。 - 还不行就重启桌面 app、看日志。 文档对“开启后点添加报错”的建议就是重启桌面 app 再试。Windows 电脑配 Android 手机一直等待的报告(#22733)截至核对日期也还开着。
连上之后又频繁断开的,文档给的检查项只有三个:电脑睡了没有、网络断了没有、app 关了没有。它的设置里有“保持这台 Mac 唤醒”的选项,说明是接电源且开着远程访问时防止睡眠;文档也提醒,主动选择“睡眠”照样会断,合盖的 Mac 还需要接外接显示器。
什么时候该换一种做法
上面的清单能解决大部分问题。但如果你反复遇到下面几种情况,问题就不在某个设置,而在架构:
- 会话绑在一个前台进程上。 Remote Control 的会话活在启动它的那个
claude进程里,终端、桌面 app 一关就没了。 - 断线后要人工接回。 服务器模式断网 10 分钟就退出、令牌问题后会话不会自动恢复,都需要你回到电脑前操作。
- 登录方式或模型来源不在支持范围内。 这类用户怎么排查都连不上。
- 同时用好几个 agent。 两家的远程各管各的,排查也要做两遍。
免费的替代也一直都在:tmux 加 SSH 和 Tailscale 这类组网工具,会话常驻在 tmux 里,断了重连就能接上,什么 agent 都适用,缺点是在手机上操作终端很累,也没有审批按钮和推送。
BotBus 在掉线这件事上有什么不同
BotBus 是常驻在电脑上的程序(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、中转站还是订阅,由你自己的配置决定。
内容在设备上端到端加密后才离开,中转服务器只见密文,但看得到设备编号、在线状态、更新时间和数据大小,开发预览不在端到端加密范围内,细节见安全说明。
限制与边界
BotBus 解决的是“会话挂在哪、断了谁来接回”,解决不了物理上的离线:
- 电脑必须醒着、联网。 BotBus 不阻止电脑睡眠,电脑睡着时它和 agent 一起停。审批、续聊、新建、中断都要目标电脑在线,并取决于连接器支持和任务状态。
- 中间同样有一台中转服务器。 它出问题时手机一样连不上电脑,只是电脑端会自己不停重连。
- 排队有上限。 一台电脑最多排 50 条命令,每条最多等 10 分钟。
- 同一台电脑只能有一个 BotBus 在线。 第二个实例连上后,第一个会停止并提示已被接管。
- 中断只对 BotBus 自己启动的进程有效。 你在终端里开的会话,要回终端里停。
- 体验不一样。 它没有官方远程那种在终端、网页、手机三处同时打字的体验,手机上看的是任务列表和按需读取的对话记录。
如果你只用 Claude Code、有订阅、电脑基本不睡,官方 Remote Control 修好之后仍是最省事的选择;Codex 用户同理。两者和 BotBus 也可以同时开,互不影响。想试的话,可以在首页下载区下载电脑端与手机端。
常见问题
Remote Control 显示断开,电脑上的任务还在跑吗?
不一定停了。官方文档明确说,断开提示只代表网页或手机和电脑失去联系,不能说明 Claude 是否还在工作。回电脑上看进程和终端输出才准。
用 claude remote-control 还是 claude --remote-control 更稳?
网络不稳时交互会话更稳:它在断网期间一直重试,网络回来自动接上;服务器模式断网约 10 分钟就退出,要重新启动。
Codex 手机一直“等待桌面端”,最该先查什么?
先查同一账号和工作区、多因素认证有没有开,再查代理和防火墙是否放行 chatgpt.com,然后在电脑上生成新二维码重新扫。桌面 app 没有显示错误时,本机日志里往往有服务器返回的真实原因。
BotBus 断线后要重新扫码吗?
不用。网络断开、电脑重启后 BotBus 自己重连,配对关系保留;只有在电脑上解除配对、或在电脑端把这部手机移除后才需要重新扫码。
电脑合盖后 BotBus 能接着管 agent 吗?
不能。合盖默认会睡,BotBus 和 agent 都会停,手机上只能看到电脑离线前的任务列表。要让 agent 继续跑,需要先让电脑保持唤醒。