Anthropic 官方文档说明,server mode 停止后,原会话约 4 小时内可按条件恢复;这不是 Mac 持续在线的保证。Remote Control 会话恢复说明
本周建议:先确认运行 Claude Code 的 Mac 在离开工位后仍在线,再决定是否启用 Remote Control。它把本机正在运行的会话接到手机或浏览器;代码执行和项目文件访问仍发生在会话所在的 Mac。它不是云端 Mac、远程桌面或 CI 的替代品。
经常在电脑之间切换、想从手机或浏览器继续推进 Claude Code 会话的开发者,可以用本文判断它是否合适。
需要 Xcode 构建环境的 Apple 平台工程师,可借此划清会话控制与 Mac 工具链的边界。
规划自动化构建的 DevOps 工程师,可据此区分交互式 Agent 会话与生产 CI。
三种工作方式,执行地点并不相同
Remote Control 连接的是运行 Claude Code 的会话,不是任意控制 Mac 桌面的远程桌面。手机或浏览器可查看会话进度、发送后续指令;Agent 读取文件、运行命令时,仍依赖宿主 Mac 上的项目目录、工具和配置。Anthropic 的文档说明了本机执行边界。
| 工作方式 | 代码与文件在哪里 | 适合什么任务 | 主要边界 |
|---|---|---|---|
| 本机运行会话,再用 Remote Control 接手 | 开发者自己的 Mac | 离开电脑后查看输出、补充指令 | Mac 和 claude 进程需保持运行;不是桌面控制 |
| 在远程 Mac 上运行会话,再从其他设备接手 | 远程 Mac | 项目需要 macOS,或需在异地继续同一会话 | 仍需管理主机在线状态、网络、工具链与账户 |
| 独立 CI 流程 | CI Runner 或指定构建节点 | 按代码变更触发构建、测试、留存产物 | 需单独配置触发条件、凭据、日志和失败恢复 |
Claude Code 官方说明,Remote Control 的会话在本机运行,浏览器与手机是会话入口;主机和 claude 进程停止后,会话会离线。通过 SSH 登录远程 Mac 时,可先用 tmux 或 screen 管理终端会话,避免 SSH 断开时误把交互终端和后台进程混为一谈。
这也回答了“远程 Mac 开发环境”中的关键选择:若只需接着处理已有 Agent 会话,Remote Control 有用;若本机没有 macOS 执行环境,单独打开手机端不会凭空获得 Mac。远程主机上的工作目录、已安装工具、环境变量和权限,才决定 Agent 实际能做什么。
手机与浏览器适合接手,不等于拿到桌面权限
从手机或浏览器发送指令时,Claude Code 仍然以会话所在 Mac 的上下文处理请求。项目目录、MCP 服务、工具配置留在宿主机;从其他设备附加的文件会由 Claude Code 尝试下载到那台机器,再交给会话处理。
⚠️ Remote Control 是会话控制入口,不是 macOS 桌面镜像。需要点选 Xcode 窗口、观察模拟器画面或操作系统弹窗时,应另行确认是否需要 VNC 或本地桌面访问;不能把远程会话界面当成完整桌面控制。
用手机推进长任务时,适合追问进度、补充约束、检查 Agent 输出。它不自动证明测试已通过,也不替代人工核对 git diff、命令退出码或构建日志。若宿主进入睡眠、断网或进程退出,远端入口无法继续驱动当时不在运行的本机执行环境。主机恢复后,交互会话可按官方说明重新连接,但应检查任务是否中断,不能默认未完成命令已自动重跑。
第一步:在启动 Remote Control 前验收宿主 Mac
按下面步骤检查,避免把“能连上会话”误判成“项目已具备远程开发条件”:
- 确认会话所在机器。在终端查看当前工作目录,例如
pwd,并确认这是预期的本机或远程 Mac。Remote Control 连接的是这台机器上的会话。 - 确认项目和工具链。检查仓库、依赖、环境变量及项目配置是否在该 Mac 上可用。远程设备不会替宿主机安装依赖或补全本地凭据。
- 核对登录与组织策略。官方要求通过 Claude 账户登录;Team 和 Enterprise 组织还需要管理员启用相关选项。API Key 登录、特定 API 代理或组织策略可能导致 Remote Control 不可用。资格和环境限制以 Anthropic 官方 Remote Control 文档为准。
- 在现有会话中开启连接。运行
/remote-control,或使用/rc,再从 Claude 手机应用或浏览器进入对应会话。若尚无会话,可按官方 CLI 命令参考核对当前启动方式和继续会话命令。 - 做一次小范围验证。让 Agent 读取一个已知文件或运行无副作用的检查命令,再回到 Mac 确认执行位置、输出和工作区变更。
- 明确断开后的恢复动作。把会话名称、项目目录与恢复入口记在团队操作说明中。CLI 的会话恢复方式与 Remote Control server mode 的恢复方式并不完全相同;具体行为可查阅官方会话管理文档。
Xcode 构建结果要在 Mac 上单独验收
Claude Code Remote Control 本身不提供 Xcode,也不负责启动一个新的云端构建环境。Agent 可以在有权限的终端中请求执行构建命令,但命令由会话所在的 Mac 执行。该机器是否装有合适的 Xcode、SDK、证书与项目依赖,需要另外核对。
Apple 的系统要求表显示,Xcode 27.2 RC 需要 macOS Tahoe 26.6 或更新版本;Apple 的 Xcode 27 发布说明还标明该版本仅能安装并运行在 Apple 芯片 Mac 上。具体项目应按目标 Xcode 版本核对 Apple 的系统要求表和版本发布说明,不要把 Agent 能提出构建命令当作工具链兼容的证明。
验收时分开留证:
- Agent 输出:它说明计划、发现或建议,不等于构建完成。
- 构建结果:记录实际
xcodebuild命令、退出码与完整日志。 - 测试结论:确认测试目标执行、失败项处理与所需模拟器或设备条件。
- 交付产物:按发布流程保存归档文件、签名信息及团队需要的构建记录。
这样可以避免一个常见误区:手机端看到 Agent 回复“已完成”,并不能证明 Xcode 构建、测试或签名验收全部通过。
macOS CI 需要自动化流程,不只是一段可接手的会话
Remote Control 主要服务于交互式开发。生产 CI 还要定义触发来源、执行节点、凭据权限、日志与产物留存、超时和失败恢复。交互会话中的下一条指令依赖人继续发送;CI 则应在约定的事件或计划任务发生时,按固定流程执行并产出可审计结果。
Claude Code 官方提供了 GitHub Actions 工作流文档和 GitLab CI/CD 集成说明,介绍如何通过独立工作流运行 Claude Code 自动化。但 Apple 平台构建仍需 CI Runner 或构建节点具备目标项目所需的 macOS 与 Xcode。不要仅凭 Remote Control 已连接,就推断节点会持续在线、定时运行或自动保留产物。
若你的 macOS CI 需要自托管节点,我们建议把交互开发、构建验收与节点运维分开写进流水线:失败时保存日志和退出状态,重试策略由工作流决定,签名凭据按 CI 权限管理,而不是留在个人会话里。这样即使 Agent 会话结束,团队仍能独立判断构建为何失败、结果存放在哪里。
按条件选择:接手会话,还是单独跑 CI
- ✅ 若需要从手机或浏览器继续一段正在运行的个人会话,且宿主 Mac 会保持在线,则选 Remote Control。
- ✅ 若需要在 macOS 上访问 Xcode、项目文件或专用工具,且没有合适本机,则先准备一台可访问的 Mac,再从其他设备接手其会话。
- ✅ 若任务要求按提交或计划自动触发、稳定构建验收、保留产物和失败恢复,则建立独立 CI;Remote Control 只负责交互,不代替 Runner。
- ❌ 若要求无人在场时持续执行,却没有确认宿主在线策略、任务恢复方式和日志留存,就不要把交互会话当作生产自动化。
需要临时 Mac 执行环境时,我们建议先核对接入方式、交付流程和租赁周期,再决定是否把开发会话放到远程 Mac。MESHLAUNCH 的服务页面列有 SSH 与 VNC 等接入说明;如果本机睡眠、环境不一致或缺少 macOS 工具链正在阻断开发,也可以查看远程 Mac 租赁方案。若已有稳定可用的 Mac、任务长期高负载且需要物理接口,自购设备或现有 CI 节点可能更合适;租赁更适合确有临时 Mac 执行需求、又不想为单次项目先购置硬件的情况。
常见问题
代码和项目文件实际在哪台机器?
命令、代码执行和项目文件访问都留在启动 Claude Code 会话的 Mac 上。手机或浏览器是本机会话的控制入口,不会把仓库搬到云端,也不提供 Mac 桌面。如果会话在远程 Mac 上运行,文件仍在那台主机;主机与 claude 进程需要保持可用。
手机附加的文件会自动放进项目目录吗?
Claude Code 会尝试把从手机或浏览器附加的文件下载到会话所在机器,再将其作为消息输入处理;这不代表文件自动进入项目目录。要将附件作为项目资源,应在 Mac 上确认落盘路径、文件内容和 Git 变更,并检查会话是否提示下载失败。
Remote Control 能代替 Xcode CI 吗?
不能。Remote Control 用于接手交互式会话,不负责按提交或定时触发构建,也不代替 Runner、产物归档、失败重试或团队验收。Xcode 构建需要在实际执行节点核对工具链,并通过独立 CI 保存日志、测试结果和构建产物。
会话断开后,怎样继续原来的工作?
先确认运行会话的 Mac 已联网、Claude Code 进程仍在,再从原终端运行 /remote-control 重连;进程退出时,可在同一 Mac 和项目上下文中使用 claude --continue 或 claude --resume。server mode 停止后,官方说明约有 4 小时恢复窗口;超出后需重新启动服务。