Claude Code SDK #31:Remote Control 全解——claude remote-control × --spawn=worktree × mobile push,把本地会话带到手机上
2026/6/26 · 9:17

Claude Code SDK #31:Remote Control 全解——claude remote-control × --spawn=worktree × mobile push,把本地会话带到手机上

Remote Control 不是把 Claude Code 云化,而是让手机和浏览器接管仍在本机运行的会话。本篇拆解它的三种启动方式、server mode 并发策略、安全边界、移动推送与使用限制。

这次别把 Remote Control 理解成「网页版 Claude Code」。它更像一根远程操纵杆:会话仍跑在你的电脑上,手机和浏览器只是接管输入输出
这一区别会直接影响你的安全边界、文件访问、MCP 能力、断线恢复和并发策略。用错了,你以为自己在开一个云端任务,实际是在让本地项目持续被远程控制。

1. Remote Control 到底接管了什么?

官方定义很明确:Remote Control 把 claude.ai/code 或 Claude 手机 App 连接到一条正在你机器上运行的 Claude Code session;任务开始后,Claude 仍在本地运行,文件系统、MCP servers、工具和项目配置都留在本机,远端界面只是这条本地 session 的窗口。1
所以它和 Claude Code on the web 的分界线不是「界面在哪里」,而是「执行在哪里」。Remote Control 执行在你的机器上;Claude Code on the web 执行在 Anthropic 管理的云环境里。1
这带来一个很实用的判断:
你要做的事更适合
继续一个本地已经跑起来的重构、测试、调试任务Remote Control
需要沿用本机 .env、本地 MCP、私有脚本、未推送分支Remote Control
想从零启动一个不用依赖本机环境的任务Claude Code on the web
让 CI、Telegram、Discord 之类外部事件触发 ClaudeChannels / Scheduled tasks
Remote Control 当前是 research preview,所有计划可用;Team 和 Enterprise 默认关闭,需要 Owner 在 Claude Code admin settings 里打开。CLI 侧还要求 Claude Code v2.1.51 或更高版本,可以用 claude --version 检查。1

2. 三种启动方式,不是一个意思

Remote Control 最容易混淆的地方,是它有三种启动形态。

A. claude remote-control:开一个远程会话服务器

在项目目录里运行:
claude remote-control
这会让当前终端进程变成 server mode。它显示一个 session URL,等待浏览器或手机连接;按空格可以显示 QR code。1
server mode 的重点是并发和隔离。官方列出的关键参数包括:
claude remote-control \
  --name "payments-debug" \
  --spawn worktree \
  --capacity 8 \
  --sandbox
  • --name:给远端 session 一个可识别标题。
  • --spawn same-dir:默认模式,多个远端 session 共用当前目录,容易互相踩文件。
  • --spawn worktree:每条 on-demand session 分到独立 git worktree,要求当前目录是 Git 仓库。
  • --spawn session:单 session 模式,只服务一条远程会话,拒绝新增连接。
  • --capacity:设置最大并发 session 数,默认 32,不能和 --spawn=session 一起用。
  • --sandbox / --no-sandbox:开启或关闭文件系统与网络隔离;默认关闭。1
如果你只是离开工位后想继续看一个任务,server mode 可能太重。它更适合「我想让手机或另一台电脑随时向这个项目派新活」的场景。

B. claude --remote-control:本地和远端一起操作同一条交互会话

如果你还想在本地终端继续打字,同时让手机也能接管,启动方式是:
claude --remote-control
也可以给它一个名字:
claude --remote-control "payments-refactor"
这条 session 既是普通交互式 Claude Code 会话,也是可从远端打开的 Remote Control 会话。你可以在终端输入,也可以在 claude.ai/code 或手机 App 里输入, conversation 会同步。1

C. /remote-control:把已经进行中的会话接到远端

如果任务已经跑到一半,直接在 Claude Code 里输入:
/remote-control
或简写:
/rc
它会把当前 conversation history 带到远程入口。这个命令可以接受一个名字,但不能使用 --verbose--sandbox--no-sandbox 这些 CLI flag。VS Code 扩展里也支持 /remote-control/rc,要求 Claude Code v2.1.79 或更高版本;VS Code 版本不会显示 QR code,也不接受 name 参数。1

3. 连接链路:没有入站端口,但不是「没有数据经过云」

安全模型要讲清楚。
Remote Control 不会在你的机器上打开入站端口。启动后,本地 Claude Code 进程向 Anthropic API 发起 outbound HTTPS 请求并轮询任务;远端浏览器或手机连接后,服务端把 web / mobile client 与你的本地 session 通过 streaming connection 路由起来。官方说明所有流量都通过 Anthropic API over TLS,并使用多个短期凭证,每个凭证只服务一个目的、独立过期。1
这句话的实践含义是:
  1. 公司防火墙通常只需要允许对 Anthropic API 的 443 出站访问,不需要给开发机开洞。
  2. 远端界面看到的是本地 session,所以它能间接影响本地文件和本地工具。
  3. 如果你的本地 session 有读写项目、运行 Bash、访问 MCP 的权限,远端操作者也在驱动同一套能力。
Team 和 Enterprise 还可以启用 Trusted Devices。开启后,成员必须用已登记设备和最近一次登录来查看或操纵 Remote Control session;登录超过 18 小时后,下一次交互会要求 Face ID、Touch ID、Windows Hello 或 passkey 这类本地验证。1

4. 手机推送:它适合「叫我回来做决定」

Remote Control 激活后,Claude 可以给手机发 push notification。典型时机是长任务完成,或需要你做决定才能继续。你也可以在 prompt 里直接要求:
notify me when the tests finish
但官方也写得很直白:除了两个开关,没有 per-event 配置。移动推送要求 Claude Code v2.1.110 或更高版本。1
设置步骤很短:
  1. 安装 Claude iOS 或 Android App。
  2. 用和终端里 Claude Code 相同的账号与组织登录。
  3. 允许系统通知。
  4. 在 Claude Code 里运行 /config,打开 Push when Claude decidesPush when actions required,或两者都开。1
如果你人在电脑前,Claude Code 会跳过手机推送,避免你一边看终端一边被手机轰炸。从 v2.1.181 开始,还可以用 CLAUDE_CLIENT_PRESENCE_FILE 指向一个 marker file;当这个文件存在时,即使你在另一个窗口,推送也会被跳过。1

5. 最小可用配置:先把「本地风险」收住

如果你准备在真实项目里打开 Remote Control,我会按这个顺序配:

第一步:确认账号和工作区

Remote Control 不支持 API key 登录。官方要求使用 claude.ai 账号认证;如果还没登录,先运行 claude 并用 /login 登录。还要在项目目录里至少运行过一次 Claude Code,接受 workspace trust dialog。1
cd /path/to/repo
claude
# inside Claude Code: /login if needed

第二步:单任务先用交互模式

先别一上来开 server mode。对一条正在进行的任务,用:
claude --remote-control "repo-name-task-name"
或在已打开的会话里输入:
/rc repo-name-task-name
这样你能确认远端连接、会话同步、手机 App 和浏览器入口都正常。

第三步:涉及多任务时再切到 --spawn=worktree

如果你希望从手机上连续派多个任务,别让它们共用同一目录。使用:
claude remote-control --spawn worktree --capacity 4
same-dir 默认模式会让多个 session 操作同一 working directory。对代码修改来说,这种冲突不够隐蔽:两个任务都能成功跑一半,最后把 diff 搅在一起。worktree 模式至少把文件层面隔开。1

第四步:远程可执行任务默认加 sandbox

--sandbox 在 Remote Control server mode 里不是默认开启。只要远端任务可能跑 Bash、访问网络、生成文件,建议先开:
claude remote-control --spawn worktree --sandbox
它不是万能安全箱,但能把「我在手机上点了一下,结果本地环境被大改」的风险往下压一层。Remote Control 本身解决的是「从哪里操作」,不是「允许做什么」。权限模式、sandbox、settings 和团队策略仍然要另外配置。

6. 什么时候不该用 Remote Control?

A. 你希望机器关掉后任务继续跑

Remote Control 的本地进程必须一直在。官方限制写得很清楚:关闭终端、退出 VS Code,或停止 claude 进程,session 就结束。机器醒着但网络断开超过大约 10 分钟,session 也会超时并退出。1
这种场景应该用 Claude Code on the web 或云端 session,而不是假装 Remote Control 能脱离本机。

B. 你需要「外部事件自动触发」

Remote Control 的触发方式是人打开远端会话并驱动它。CI 失败、Telegram 消息、Discord 消息、定时任务这类外部事件,官方更建议用 Channels、Slack 或 Scheduled tasks 这类入口。1

C. 你需要所有命令都能在手机上完整操作

远端不是完整终端。某些会打开本地交互 picker 的命令只能在本地 CLI 使用,比如 /plugin/resume。远端可用的多是文本输出型命令,例如 /compact/clear/context/usage/recap/reload-plugins/mcp 从 v2.1.166 起在远端返回 server 状态文本并支持部分子命令;/config 从 v2.1.181 起可以用 key=value 改单个设置,或者不带参数列出可设置的 key。1

7. 我会怎么用它?

一个比较稳的日常工作流是:
cd ~/work/payments
claude --remote-control "payments: checkout timeout"
然后在本地让 Claude 先跑:
Read the failing checkout tests, inspect the recent diff, propose a plan before editing. Notify me when you need approval or when tests finish.
离开电脑后,在手机上看它的计划。如果计划合理,让它继续;如果它要跑高风险命令,回到本地终端处理。需要长期并发派活时,再升级到:
claude remote-control --name "payments remote queue" --spawn worktree --capacity 4 --sandbox
这个顺序比较克制:先把单条会话跑顺,再开并发;先确认权限,再交给手机;先保住本地目录,再谈远程效率。
Remote Control 的价值不在于「把 Claude Code 云化」。它更像是给本地 Agent 加了一层远程方向盘。方向盘很方便,但车还在你车库里,钥匙、油门和刹车也都在那儿。

関連コンテンツ

コンテンツの類似度に基づいて他のチャンネルから選びました。新しいフォロー先を見つけましょう。

このコンテンツについて、さらに観点や背景を補足しましょう。

  • ログインするとコメントできます。