假设你在终端里开始了一项任务,之后想用手机或另一台电脑上的浏览器继续指挥它。Anthropic 为此记录了两种方式,两者真正的区别在于工作在哪里运行。Remote Control 把 claude.ai/code 或 iOS、Android 版 Claude 应用连接到你本机上运行的 Claude Code 会话。代码执行、文件、MCP 服务器(Claude Code 所连接的工具集成)以及项目设置都留在本地。手机或浏览器只是观察这个会话的窗口,所以你的电脑必须保持开机,claude 进程也必须持续运行。云端会话则运行在云基础设施上(默认由 Anthropic 管理),合上笔记本后仍会继续运行。不过它是一个独立的会话:在 CLI 中,你无法把已有的终端对话推送到云端。Anthropic 给出的经验法则是:要继续已经在进行的本地工作,就用 Remote Control;如果没有本地环境、没有克隆仓库,或者想让多个任务并行运行,就用云端会话。
Remote Control 与云端会话:会话在哪里运行
两项功能使用同一个 claude.ai/code 界面,所以在手机上看起来可能很像。文档指出,关键区别在于会话在哪里运行。Remote Control 运行在你的机器上,因此本地的 MCP 服务器、工具和项目配置都可以继续使用。云端会话则在全新的云环境中启动,代码来自 GitHub 或你上传的仓库打包文件(bundle)。
两项功能都不会在 CLI 中把已有的终端对话转移到云端。使用 Remote Control 时,同一个会话继续在你的机器上运行。claude --cloud 则从你已推送的分支启动一个全新的、独立的云端会话。在 CLI 中,交接只能单向进行:claude --teleport 把云端会话拉回你的终端。如果想把本地会话发送到云端,云端会话文档指向 Claude Desktop 应用中的 Continue in 菜单。
这些参数名很容易混淆。根据云端会话文档,--cloud 用于创建云端会话,--remote 是它较早的、已弃用的别名。--remote-control 则是另一项功能:它让你监控并操控本地会话。
文档所述差异,来自 Anthropic 的 Remote Control 与云端会话页面(2026 年 9 月 27 日核对)
| | Remote Control | 云端会话 |
| — | — | — |
| 运行位置 | 你的机器(CLI、Desktop 应用或 VS Code) | 云基础设施,默认由 Anthropic 管理 |
| 需要保持运行的部分 | 你的电脑和 claude 进程 | 本地无需保持运行;合上笔记本后仍会继续 |
| 从终端启动 | claude remote-control、claude --remote-control,或在会话内使用 /remote-control | claude --cloud "task"(启动新会话) |
| 列出的套餐 | Pro、Max、Team、Enterprise;不支持 API 密钥 | Pro、Max、Team;拥有 premium 席位或 Chat + Claude Code 席位的 Enterprise 用户 |
| Team/Enterprise 管理员步骤 | Owner 在 claude.ai/admin-settings/claude-code 打开 Remote Control 开关 | 组织的 allow_remote_sessions 策略必须开启;由 Owner 在 claude.ai/admin-settings/claude-code 启用 |
| 启用 Zero Data Retention 的组织 | 无法启用 | 无法使用云端会话功能 |
先确认 Remote Control 的使用要求
Anthropic 列出的条件如下。其中部分条件不满足时,Claude Code 会显示具体的错误信息;文末的故障排除部分列出了这些信息及文档给出的解决办法。
- 使用 claude.ai 账户登录:运行
claude,然后输入/login。通过claude setup-token或CLAUDE_CODE_OAUTH_TOKEN获得的长期令牌只能发起模型请求,因此无法开启 Remote Control 会话。请改为运行claude auth login。 - 直接连接 Anthropic API。Remote Control 在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上不可用。当
ANTHROPIC_BASE_URL指向网关或代理,或者你通过企业版 Claude apps gateway 登录时,它同样无法使用。 - 检查环境变量。设置了
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC或DISABLE_GROWTHBOOK会导致 Remote Control 不可用。如果只设置了DISABLE_TELEMETRY或DO_NOT_TRACK,则需要 Claude Code v2.1.283 或更高版本;若组织要求 Trusted Devices,还必须取消这些变量。 - 接受工作区信任:在项目目录中运行一次
claude并接受信任对话框。主目录的信任永远不会被保存,所以请从项目文件夹启动。 - 允许通过 443 端口出站访问 Anthropic API。在公司防火墙和代理之后,这一点尤其重要。
- 在 Team 和 Enterprise 上,必须先由 Owner 在 claude.ai/admin-settings/claude-code 打开 Remote Control 开关。采用 HIPAA 配置(一种用于处理健康数据的合规设置)的组织会被阻止。这类组织的
/status会在 Compliance 行显示 HIPAA,管理员开关呈灰色不可用,文档建议联系 Anthropic 支持。
第 1 步:以三种 CLI 模式之一启动 Remote Control
交互模式(claude --remote-control 或 --rc)会启动一个普通终端会话,同时可被远程操控,因此两边都可以输入。
如果你已经在对话中,/remote-control(或 /rc)会连接当前会话并带上对话历史。这就是对“把这段对话转到我手机上”最直接的回答。
在终端之外,可以在 VS Code 扩展的输入框中,或在 Desktop 应用 Code 标签页的本地会话中输入 /remote-control。在 VS Code 中,输入框底部会出现一个指示器,会话 URL 会发到聊天中,但该命令不接受名称参数,也不显示二维码。在这两个应用中,再次运行该命令即可断开连接。
服务器模式(claude remote-control)作为专用主机运行。首次运行时,它会说明自己的作用并要求你用 y/n 确认。如果拒绝,它会退出,并在下次运行时再次询问。接受后,它会输出一个会话 URL 并等待连接。你无法在本地向它输入,但按空格键可以显示供手机扫描的二维码。
服务器模式的参数要放在 remote-control 之后。放在子命令之前的全局 claude 参数(包括包装脚本添加的参数)不会传递给服务器创建的会话。对于少数去掉后不影响会话能力的参数,例如 --verbose 和 --model,Claude Code 会放行。放在该位置的其他参数(例如 --settings)会导致它拒绝启动,错误信息会指出需要移除的参数。主要的服务器模式参数如下:
--spawn same-dir(默认):所有会话共享当前目录,如果编辑同一文件可能会互相冲突。--spawn worktree:每个按需创建的会话都有自己的 git worktree,即仓库的一个独立检出。--spawn session:只服务一个会话,拒绝其他连接。--capacity <N>:最大并发会话数,默认为 32。--name、--permission-mode和--sandbox/--no-sandbox:分别设置会话标题、初始权限模式和沙箱。
# 服务器模式:等待远程连接;按空格键显示二维码
claude remote-control
# 也可以在本地输入的交互会话(名称可选)
claude --remote-control "My Project"
# 在运行中的会话内:保留当前对话历史
/remote-control
第 2 步:从手机或浏览器连接
有三种进入方式:在任意浏览器中打开会话 URL;用 Claude 应用扫描二维码;或在 claude.ai/code 或应用的 Code 标签页中按名称找到会话。在线的会话会显示一个带绿点的电脑图标。如果你还没有安装应用,/mobile 会显示一个二维码,用于打开对应的应用商店。
在手机或浏览器上,你可以发送消息和附加文件。照片由 Claude 直接查看;其他文件会下载到你的机器上,再以 @ 文件引用的形式交给 Claude。子代理和工作流的进度会保持同步,在手机上停止任务,电脑上的任务也会停止。连接期间,终端会显示 /rc active 指示器。再次运行 /remote-control 会打开一个面板,其中包含 URL、二维码,以及一个断开连接但保留本地会话运行的选项。
并非所有命令都能远程使用。/plugin、/resume 等仅限终端的命令只能在本地 CLI 中运行。/compact、/clear、/context、/usage 这类输出文本的命令可以在手机上使用。通常会打开选择器的命令改为接受参数,例如 /model sonnet 或 /effort high。
若要让每个会话自动连接,可以在 /config 中打开“Enable Remote Control for all sessions”,或在用户设置中设置 remoteControlAtStartup。提交到仓库中的设置文件可以关闭自动连接,但不能开启它。
要接收推送通知,请用与终端相同的账户和组织登录应用并允许通知。然后在 /config 中启用“Push when Claude decides”“Push when actions required”,或两者都启用。
限制、重连与数据处理
在服务器模式之外,每个 Claude Code 实例同一时间只支持一个远程会话。如果关闭终端、退出 VS Code 或 Desktop 应用,或停止 claude,会话就会离线。在远程机器上,文档建议在 tmux 或 screen 中启动会话,这样 SSH 断开后会话仍能保留。
用 Ctrl+C 停止服务器模式后,在同一目录中运行 claude remote-control、claude remote-control --continue 或 claude remote-control --session-id <id> 即可恢复会话。这一做法在大约四小时内有效。用 --remote-control 或 /remote-control 启动的会话,可以通过 claude --continue 或 claude --resume 恢复。
网络问题的处理方式取决于模式。已连接的交互会话遇到 HTTP 403 拒绝(例如切换 VPN 后可能出现)时,会持续重试最多三分钟。遇到更长时间的中断时,交互模式会一直重试,直到网络恢复;服务器模式则在大约 10 分钟后放弃并退出。
转发到手机上的权限请求和问题会一直保持打开,直到你作答。其他被转发的对话框默认在五分钟后关闭,可以通过 dialogExpiry 设置调整。
在安全方面,文档称本地会话只发起出站 HTTPS 请求,不开放任何入站端口。流量经由 Anthropic API 通过 TLS 传输,使用短期凭据,每个凭据只服务于单一用途。有一点需要注意:连接期间,会话记录(你的消息、Claude 的回复和工具活动)会按照 Data usage 政策存储在 Anthropic 服务器上。
disableRemoteControl 设置可以彻底关闭该功能。有合规要求的组织,例如启用了限制 Anthropic 数据保留范围的 Zero Data Retention 的组织,完全无法启用 Remote Control。目前处于 beta 阶段且默认关闭的 Trusted Devices 会增加两项检查:设备必须已注册,且登录时间不得超过 18 小时。
更新日志中列出了一项相关新增功能,但未标注版本或日期:你可以在 Claude 应用中分叉(fork)用 --remote-control 或 /remote-control 启动的会话,分叉出的会话会作为后台会话在你的电脑上运行。
什么时候改用 claude –cloud,以及如何启动
你可以从 claude.ai/code(也称 Claude Code on the web)、移动应用的 Code 标签页、Desktop 应用(选择 Cloud 而不是 Local),或在终端用 claude --cloud 启动云端会话。要从 GitHub 克隆,它需要访问你的仓库,方式有两种:Claude GitHub App,或会发送本地 gh 令牌的 /web-setup。在 Team 和 Enterprise 套餐上,Owner 打开 Quick web setup 之前,/web-setup 会一直隐藏。组织的 allow_remote_sessions 策略也必须开启,由 Owner 在 claude.ai/admin-settings/claude-code 启用。
每次调用 claude --cloud 都会启动一个新会话。它克隆的是你当前分支对应的 GitHub 远程仓库,而不是本地检出,因此文档建议先推送本地提交。你当前的终端对话不会转移,而是留在本地。每次调用只处理一个仓库;由于每次调用都会创建独立的会话,这就是并行运行任务的方式。
有两种情况下,Claude Code 会自动把仓库打包上传,而不是克隆:仓库完全没有 git 远程;或者它是未安装 Claude GitHub App 的 github.com 仓库。GitLab、Bitbucket 以及其他非 GitHub 远程不会被自动打包。你需要设置 CCR_FORCE_BUNDLE=1,而以这种方式创建的会话无法把结果推送回该远程。
打包内容包括所有分支的完整历史,以及已跟踪文件中尚未提交的改动。未跟踪的文件不会包含在内,所以会话需要的文件请先 git add。在 macOS、Linux 和 WSL 上,.env、*.pem 等类似凭据的文件中未提交的改动也会被排除。仓库至少要有一个提交,打包文件必须小于 100 MB。更大的仓库会依次改为只打包当前分支、再改为工作树的单个合并(squash)快照;只有这个快照仍然过大时,上传才会失败。
要把云端会话拉回终端,使用 claude --teleport。这需要干净的 git 状态、同一仓库的检出、会话分支已推送到远程,以及同一个 claude.ai 账户。teleport 之后,新的工作留在本地,因此如果仍想用手机操控,请运行 /remote-control。
请结合以下文档所述限制做好规划。云端会话在一段时间不活动后会停止,其 VM 会被回收。重新打开会恢复对话,但不会恢复当时仍在运行的后台工作。云端会话与你的其他 Claude 用量共享速率限制,Anthropic 表示 VM 不另收计算费用。如果你的组织启用了 IP 允许列表,在 Anthropic 支持为其设置豁免之前,所有由 Anthropic 托管的云端会话都会因身份验证错误而失败。/clear 在云端会话中不可用,请改为从侧边栏启动新会话。
git push # --cloud 克隆的是已推送的分支,而不是本地检出
claude --cloud "Fix the flaky test in auth.spec.ts"
# GitLab、Bitbucket 或其他非 GitHub 远程:强制打包上传
CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"
# 向运行中的云端会话排队发送一条后续消息后退出
claude -p "your message" --cloud <session-id>
# 把云端会话拉到当前终端(会打开选择器)
claude --teleport
Remote Control 错误信息及文档给出的解决办法
其中几条信息会直接点名引发问题的变量或凭据。Anthropic 的故障排除指南将它们对应到以下解决办法:
- “Requires a claude.ai subscription”:运行
claude auth login并选择 claude.ai。如果信息中点名了ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN或apiKeyHelper,将其移除。 - “Requires a full-scope login token”:你是用 setup-token 登录的;请运行
claude auth login。 - “Isn’t enabled for this account”:退出后重新登录,更新 Claude Code,然后运行
claude doctor查看是哪项检查失败。 - “Requires feature-flag evaluation”:信息会点名相关变量。如果是
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC或DISABLE_GROWTHBOOK,取消设置即可。如果是DISABLE_TELEMETRY或DO_NOT_TRACK,请更新到 v2.1.283 或更高版本;若组织要求 Trusted Devices,还需取消该变量。 - “Only available when using Claude via api.anthropic.com”:取消信息中点名的提供商变量或
ANTHROPIC_BASE_URL,然后重启。 - “Disabled by your organization’s policy”:检查是否存在
disableRemoteControl、在 Pro 或 Max 套餐下残留了过期的 Team 或 Enterprise 登录(运行/status)、HIPAA 配置,或 Owner 开关处于关闭状态。 - “Remote credentials fetch failed”:用
claude remote-control --verbose重新运行,然后检查登录状态以及 443 端口的访问。
- 在项目文件夹中运行一次
claude并接受信任对话框。然后用 claude.ai 账户运行/login,不要用 API 密钥或 setup-token。如果是 Team 或 Enterprise,请先让 Owner 打开 Remote Control 开关。2. 已经在对话中?输入/remote-control即可把它延续过去。要重新开始?如果还想在本地输入,用claude --remote-control;如果需要一台承载多个会话的主机,用claude remote-control。3. 在手机上扫描二维码,或打开 Claude 应用的 Code 标签页,选择带绿点的会话。4. 让机器保持唤醒,进程保持运行。通过 SSH 使用时,请在 tmux 或 screen 中启动。5. 如果需要合上笔记本,或者工作不依赖本地工具,就推送分支并运行claude --cloud "task"。这会从已推送的分支启动一个独立的云端会话;你当前的终端对话留在本地,不会被转移。