Claude Code 2.1.51 之后加了一个叫 Remote Control 的功能,允许在 claude.ai/code 或 Claude 手机 App 上远程操控本地正在运行的会话。Mac 上用起来基本开箱即用,但在 Linux 上配置的过程里遇到了一个不太直观的坑,记录下来。
Remote Control 是什么
和 Claude Code on the web(在 Anthropic 云端跑)不同,Remote Control 的会话始终运行在本地机器上,远程界面只是一个窗口。这意味着:
- 本地文件系统、MCP server、项目配置全部保持可用
- 在终端、浏览器、手机之间打字,对话保持同步
- 网络断开或笔记本合盖后,会话重连自动恢复
典型使用场景:在 terminal 里开始了一个长任务,出门后用手机继续跟进;或者桌面开着任务,临时想用另一台电脑查看进展。
前置条件
- Claude Code v2.1.51+,检查:
claude --version - claude.ai 订阅账号(Pro/Max/Team/Enterprise),API Key 不支持
- 用
/login或claude auth login以 claude.ai OAuth 方式登录,不能是 API Key 认证 - Team/Enterprise 计划还需要管理员在后台开启 Remote Control 开关
启动方式
有三种模式,根据需要选择:
服务器模式(适合专门对外提供远程连接)
claude remote-control进程保持在终端前台,显示 session URL 和二维码,按空格键显示/隐藏二维码。可以附加参数:
# 给 session 起一个便于识别的名字
claude remote-control --name "dev-session"
# 每个连接进来的客户端分配独立 git worktree(需要 git 仓库)
claude remote-control --spawn worktree带 Remote Control 的交互式会话(本地和远程都能操控)
claude --remote-control
claude --remote-control "My Project" # 同时命名在已有会话里启用(最常用)
在 claude 会话内输入:
/remote-control
/remote-control My Project启用后,输入框下方状态栏会出现 /rc active 指示器,点击可展开 session URL 和二维码。
Mac 上的额外入口
Mac 上除了 CLI,还有两种方式:
- VS Code 扩展(需要 v2.1.79+):在 prompt 框里输入
/remote-control或/rc,或通过/菜单选择。启用后扩展顶部会出现连接状态横幅,点击 Open in browser 直接跳转到会话。再次输入/remote-control可断开连接。 - Desktop App 默认开启:在 Claude Code Desktop App 的 Settings → Claude Code → Enable remote control by default 里打开开关,此后每次启动交互式会话都会自动注册 Remote Control,不需要手动
/remote-control。
Mac 上这两个入口都不需要额外配置,登录 claude.ai 账号即可使用。
连接远程设备
启用后有几种方式从其他设备连入:
- 直接打开 session URL(在任意浏览器打开)
- 扫描二维码(服务器模式按空格显示)
- 打开 claude.ai/code,在 session 列表找到对应会话(Online 的会话显示绿点)
- Claude 手机 App → 底部 Code 标签 → 找到会话
Mac 上的体验
Mac 上实际用下来,最顺手的工作流是:桌面开着 VS Code + Claude Code 扩展,在 prompt 框里 /rc 一下,然后拿起手机 → Claude App → Code 标签,找到 session 就可以继续。会话完全同步,本地终端、VS Code、手机可以随时切换输入,Claude 不管从哪个端收到的消息都一样处理。
Desktop App 的"默认开启"选项则适合懒得每次手动 /rc 的场景:开机启动 claude,自动注册,手机随时可以接入。
遇到的问题:Unknown command(Linux)
在 Linux 上试图用 /remote-control 时报:
Unknown command: /remote-control版本是 2.1.183,远超最低要求,而且是用 claude.ai 账号登录的。
从终端直接运行 claude remote-control 才看到真正的错误信息:
Error: Remote Control requires feature-flag evaluation, which is disabled
because CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set. Unset it (or run
in a shell without it) to use Remote Control.原因是环境里设置了 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC,这个变量会禁用 feature flag 评估,而 Remote Control 依赖 feature flag 来判断账号是否有资格启用该功能。变量存在时,Remote Control 直接被屏蔽,相关 slash command 也不会出现在命令列表里。
解决方法取决于变量是在哪里设置的:
如果在 shell 配置文件里(~/.zshrc、~/.bashrc),找到并删掉那行,然后:
unset CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
claude remote-control如果在 Claude Code 的 settings.json 里,unset 不够用——下次启动 claude 时变量会重新注入。需要打开 settings.json,找到并删掉这一行:
{
"env": {
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" // 删掉这行
}
}保存后重启 claude,Remote Control 就可以正常使用了。
排查思路
遇到 Remote Control 相关问题时,推荐的排查顺序:
claude --version确认版本 ≥ 2.1.51/status查看当前认证方式,确认是 claude.ai OAuth 而不是 API Keyclaude remote-control从终端直接运行,会显示比会话内更详细的错误信息claude doctor显示完整的资格检查结果,每项检查都有独立的失败原因
常见错误对照:
| 错误信息 | 原因 |
|---|---|
requires a claude.ai subscription | 当前用 API Key 认证,需要 /login 切到 claude.ai 账号 |
requires a full-scope login token | 用了 setup-token 或 CLAUDE_CODE_OAUTH_TOKEN,改用 claude auth login |
not yet enabled for your account | 账号资格未到,或缓存过期,试试重新 auth logout → auth login |
disabled by your organization's policy | Team/Enterprise 管理员未开启,或设备被 IT 政策管控 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set | 取消该环境变量 |
与其他远程方式对比
Claude Code 提供了几种不在本地面前操控任务的方式,选哪个取决于工作流:
| 方式 | 触发 | 运行位置 | 适合场景 |
|---|---|---|---|
| Remote Control | 手动开启,从浏览器/手机接管 | 本地机器 | 外出时继续在手机上跟进任务 |
| Claude Code on the web | 直接打开 claude.ai/code | Anthropic 云 | 没有本地环境时启动新任务 |
| Dispatch | 从手机 App 发消息触发 | 本地(需要 Desktop App) | 离开时委托本地机器跑任务 |
| Channels | 外部事件(CI、Telegram 等)推送 | 本地 CLI | 响应外部事件自动执行 |
Remote Control 的核心价值是:本地环境不动,但可以从任何地方操控它。如果习惯在 terminal 里工作,又偶尔需要在其他设备查看或继续,这是最自然的延伸方式。