Skip to content
FunCoding

Search

Search docs, agents, posts, Skills and MCP servers

Remote Control

用手机、平板或任意浏览器继续本地的 Claude Code 会话:要求、启动方式与标志、连接、自动连接、恢复会话、连接与安全、Trusted Devices、推送通知、限制与排障。

Remote Control 把 claude.ai/code 或 Claude 的 iOS、Android 应用连接到你机器上运行的 Claude Code 会话。在你桌前开始任务,然后在沙发上用手机、或在另一台电脑的浏览器里接着做。在你机器上启动 Remote Control 会话后,Claude 全程在本地运行,所以代码执行和文件访问都留在你的机器上。用 Remote Control 你可以:

  • 远程使用完整的本地环境:你的文件系统、MCP 服务器、工具和项目配置都保持可用,输入 @ 会从你的本地项目自动补全文件路径。
  • 同时在两个界面工作:对话以及子智能体和动态工作流的进度在所有已连接设备间保持同步,所以你可以在终端、浏览器和手机之间交替发消息。
  • 从手机或浏览器发送图片和文件:在 Claude 应用或 claude.ai/code 里附加照片或文件,可带可不带说明。Claude 把附加的照片直接作为你消息的一部分看到;Claude Code 把其他文件下载到你的机器上,并作为 @ 文件引用传给 Claude。
  • 经受中断:如果你的笔记本睡眠或网络断开,机器恢复在线时 Claude Code 会自动重新连接。

与运行在云基础设施上的云端会话不同,Remote Control 会话直接运行在你的机器上并与本地文件系统交互。网页和移动界面只是通向那个本地会话的窗口,所以你的电脑必须保持开机,claude 进程必须保持运行。下面的版本要求和限制以官方为准。

要求

使用 Remote Control 前,确认你的环境满足这些条件:

  • 订阅:Pro、Max、Team 和 Enterprise 套餐可用,不支持 API key。在 Team 和 Enterprise 上,Owner 必须先在 Claude Code 管理设置里启用 Remote Control 开关。
  • 认证:如果还没登录,运行 claude 并用 /login 通过 claude.ai 登录。没有合格的登录时,claude remote-control 以错误退出,而 claude --remote-control 仍然启动交互会话,并在启动后不久显示 Remote Control 失败通知。
  • API 端点:以下任一配置下不可用:你使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry;你把 ANTHROPIC_BASE_URL 指向 api.anthropic.com 以外的主机(如 LLM 网关或代理,取消设置该变量才能用 Remote Control);你通过企业 Claude apps gateway 登录。
  • 功能标志评估:如果你设置了会关闭功能标志评估的环境变量,Remote Control 是否可用取决于是哪一个:设置了 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 或 DISABLE_GROWTHBOOK 时不可用,要在它被设置的任何地方(shell 环境或 settings.json 的 env 块)取消设置;只设置了 DISABLE_TELEMETRY 或 DO_NOT_TRACK 时,除非你的组织要求 Trusted Devices,否则 Remote Control 仍然可用(在这两个变量之一被设置的情况下使用 Remote Control 需要 Claude Code v2.1.283 或更高)。
  • 工作区信任:在你还没信任的目录里,claude remote-control 会在启动前打印信任它会打开什么,并询问 Trust <directory>? [y/N]。回答 y 会保存该选择,主目录除外:那里信任从不保存,每次运行都会再次询问。当它的标准输入或输出不是终端时,命令无法询问并以 Workspace not trusted 错误退出。

启动 Remote Control 会话

你可以从 CLI、Claude 桌面应用或 VS Code 扩展启动 Remote Control 会话。CLI 有三种调用模式;桌面应用和 VS Code 使用 /remote-control 命令。

服务器模式

在你的项目目录里运行:

claude remote-control

在你接受 Remote Control 的一次性确认之前,claude remote-control 会解释它做什么,并在启动服务器前询问 Enable Remote Control? (y/n)。回答 y 接受并启动服务器;如果你拒绝,Claude Code 退出而不启动服务器,下次运行命令时再次询问。

服务器模式下进程在你的终端里保持运行,等待远程连接。它显示一个你可以用来从另一台设备连接的会话 URL,你可以按空格键显示二维码,方便从手机快速访问。远程会话活动期间,终端显示连接状态和工具活动。在 remote-control 之后可以传这些标志:

标志说明
--name "My Project"设置在 claude.ai/code 会话列表里可见的自定义会话标题
--remote-control-session-name-prefix <prefix>没有显式名称时,自动生成会话名的前缀;默认是你机器的主机名,生成 myhost-graceful-unicorn 这样的名称;设置 CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX 效果相同
-c、--continue恢复该目录里上一个服务器启动时的会话,而不是创建新的;不能与 --session-id、--spawn、--capacity 或 --create-session-in-dir 组合(需要 v2.1.200 或更高)
--session-id <id>按 ID 恢复一个会话;不能与 --continue、--spawn、--capacity 或 --create-session-in-dir 组合(需要 v2.1.200 或更高)
--spawn <mode>服务器如何创建会话:same-dir(默认)所有会话共享当前工作目录,编辑同样的文件时可能冲突;worktree 每个按需会话得到自己的 git worktree(需要 git 仓库);session 单会话模式,只服务一个会话并拒绝额外的连接(只能在启动时设置);运行时按 w 在 same-dir 和 worktree 之间切换
--capacity <N>最大并发会话数,默认 32;不能与 --spawn=session 一起使用
--[no-]create-session-in-dir服务器启动时在当前目录预创建一个会话,让你立刻有地方输入;在 worktree 模式下,这个会话留在当前目录,而按需会话得到隔离的 worktree;默认开启;如果你传 --no-create-session-in-dir 以不带会话启动,Claude Code 在你停止服务器时归档该服务器的会话,所以没有东西可恢复
--permission-mode <mode>设置服务器会话的起始权限模式,如 acceptEdits;接受 manual 作为 default 的别名;无法识别的模式会让服务器在启动时停止并列出有效的模式
--chrome / --no-chrome在服务器创建的会话里打开或关闭 Chrome 集成,让 Claude 在你从另一台设备工作时能使用你机器上的 Chrome;不带任一标志时,服务器预创建的会话和你自己从 claude.ai/code 或 Claude 应用启动的任何会话都以 Chrome 关闭开始,即使你已默认启用 Chrome;服务器为你的某个 project 线程启动的会话改为遵循该设置,bypassPermissions 模式除外(需要 v2.1.273 或更高)
-d、--debug[=<filter>]为服务器打开调试日志,可选地按类别过滤;只以 = 形式传过滤器,如 --debug=api,hooks(需要 v2.1.282 或更高)
--debug-file <path>把调试日志写入给定文件
--verbose显示详细的连接和会话日志

如果你在 remote-control 之前传了全局的 claude 标志,或包装脚本添加了一个,Claude Code 不会把该标志带给服务器创建的会话。只有在已知丢掉它不改变这些会话的能力时(如 --verbose 或 --model),Claude Code 才让该标志通过;对任何其他标志(如 --settings),Claude Code 拒绝启动并点名要移除的标志。要沙盒化服务器启动的会话,在设置文件里打开沙盒。Claude Code 在打印帮助之前检查 Remote Control 资格,所以当你没有用合格账号登录时,claude remote-control --help 返回错误而不是这份标志列表。

交互式会话

要启动启用了 Remote Control 的普通交互式 Claude Code 会话,用 --remote-control 标志(或 --rc):

claude --remote-control

可选地给会话传一个名称:

claude --remote-control "My Project"

这给你一个完整的交互式终端会话,你也可以从 claude.ai 或 Claude 应用控制它。与 claude remote-control(服务器模式)不同,你可以在本地输入消息,同时会话也可远程使用。

从已有会话

如果你已经在 Claude Code 会话里并想远程继续它,用 /remote-control(或 /rc)命令:

/remote-control

传一个名称作为参数来设置自定义会话标题:

/remote-control My Project

这会启动一个带着你当前对话历史的 Remote Control 会话。在你接受 Remote Control 的一次性确认之前,/remote-control 连接前会出现对话框;选 Enable Remote Control 接受并连接,如果选 Never mind 或按 Esc,Claude Code 不连接,下次运行 /remote-control 时再次询问。这个命令不能用 --verbose 标志。

VS Code

在 Claude Code 的 VS Code 扩展里,在提示框里输入 /remote-control 或 /rc。Remote Control 开启期间,Claude Code 在提示框页脚显示 Remote Control 指示器;会话连接之后,点击指示器直接进入会话,或在 claude.ai/code 的会话列表里找到它。Claude Code 还会在对话里发布会话 URL;要断开,再次运行 /remote-control。与 CLI 不同,VS Code 命令不接受名称参数,也不显示二维码;会话标题来自你的对话历史或第一个提示。

桌面应用

在 Claude 桌面应用 Code 标签页的本地会话里,在提示框里输入 /remote-control 或 /rc。会话连接之后,在 claude.ai/code 的会话列表里找到它;要断开,再次运行 /remote-control。要默认为每个会话打开 Remote Control,见下面「为所有会话启用 Remote Control」。

检查连接状态

在交互式会话里,Remote Control 连接期间,终端显示一个链接到 claude.ai 上该会话的 /rc active 指示器;终端太窄放不下时它会被隐藏。要查看会话 URL 和用于从另一台设备连接的二维码,再次运行 /remote-control 打开状态面板;该面板还允许你断开 Remote Control,而本地会话继续运行。

如果交互式会话里连接失败,指示器会变化以显示失败,Claude Code 在通知里显示原因并把它加入对话。运行 /remote-control 重新连接,除非原因说会话在别处发生了变化:

  • Another connection took over this session:另一台设备或 Claude Code 会话现在拥有它;只有你想把它拿回来时才运行 /remote-control。
  • This session was ended or archived from another device or app:只有你想让会话回来时才运行 /remote-control;Claude Code 会重新打开已归档的会话。
  • The server no longer reports this session:它可能已从另一台设备或应用里被删除。

从另一台设备连接

Remote Control 会话活动之后,你有几种方式从另一台设备连接:

  • 打开会话 URL:在任何浏览器里直接进入 claude.ai/code 上的会话。
  • 扫描二维码:扫描会话 URL 旁显示的二维码,直接在 Claude 应用里打开它;用 claude remote-control 时按空格键切换二维码显示。
  • 打开 claude.ai/code 或 Claude 应用:在会话列表里按名称找到会话。在 Claude 移动应用里,点导航里的 Code 到达会话列表;Remote Control 会话在线时显示带绿色状态点的电脑图标。

连接时,设备会显示会话已有的、在后台运行的子智能体和工作流。从设备上停止其中一个,Claude Code 就在你的机器上停止该任务。远程会话标题按这个顺序选择:你传给 --name、--remote-control 或 /remote-control 的名称;你用 /rename 设置的标题;已有对话历史里最后一条有意义的消息;以及自动生成的名称,如 myhost-graceful-unicorn,其中 myhost 是你机器的主机名或你用 --remote-control-session-name-prefix 设置的前缀。如果你没设置显式名称,Claude Code 在你发送提示后更新标题以反映它;当你从 claude.ai 或 Claude 应用重命名会话时,Claude Code 也会更新 claude --resume 里显示的本地标题。如果你还没有 Claude 应用,在 Claude Code 里运行 /mobile 显示指向 claude.ai/mobile 的二维码,它会为你的手机打开正确的应用商店。

已连接设备看到什么

已连接的设备实时显示你终端里的对话。这些情况超出了普通消息:

  • 压缩和 /clear:Claude Code 压缩对话期间,已连接的设备显示进度,然后显示对话在哪里被压缩;你运行 /clear 时,已连接设备上的对话也会重置。
  • 用 /resume 切换对话:已连接设备不会收到切换到的对话的标题或较早历史,但两个方向的新消息都会进出你终端里当前打开的任何对话。要再次从设备上处理原来的对话,在终端里运行 /resume 切换回去。
  • 用 /teleport 拉取会话:当你用 /teleport 把云端会话拉进终端时,已连接设备不会收到被拉取对话的较早历史;新消息在两个方向上进出被拉取的对话,它现在是你终端里打开的那个。
  • 来自你其他会话的消息:用跨会话消息,同一个连接在你自己不同机器上的会话之间以及来自你的云端会话传递消息。
  • 你的改动的 diff:当会话目录在 git 仓库里时,已连接设备的 diff 面板显示你的改动。在领先于仓库默认分支有提交的分支上,面板显示自该分支从默认分支分出以来的改动,包括你未提交的编辑;在默认分支本身或没有领先于它的分支上,面板只显示你未提交的改动。
  • 模型:当你从已连接设备选择模型时,Claude Code 以该模型运行会话(需要 v2.1.238 或更高)。你从设备的模型控件选的模型只适用于当前会话;当你从设备向交互式会话发送 /model <name> 时,Claude Code 还会设置你对新会话的默认值。
  • Effort 级别:当你从已连接设备用 /effort 或设备的 effort 控件设置 effort 级别时,Claude Code 把它应用于你机器上的会话。如果你用 CLAUDE_CODE_EFFORT_LEVEL 固定了级别,会话保持该级别,Claude Code 拒绝从 effort 控件选的不同级别;从 effort 控件选级别需要你机器上是 Claude Code v2.1.234 或更高。
  • 连接失败后重新连接:运行 /remote-control 重新连接。如果在此期间压缩重写了对话,或你用 /resume 切换了对话,Claude Code 会归档它一直使用的服务器会话,而不是把它留在会话列表里;你仍然可以通过过滤已归档会话找到它。设备仍然连接时切换对话不会归档会话。

为所有会话启用 Remote Control

除非打开了自动连接,Remote Control 只在你明确运行 claude remote-control、claude --remote-control 或 /remote-control 时才激活。要为每个交互会话打开自动连接,在 Claude Code 里运行 /config 并设置 Enable Remote Control for all sessions。该开关有三个值:

  • true:交互会话启动时自动连接。
  • false:关闭自动连接,不过托管设置里的 true 优先于它(因为 Claude Code 把你的选择保存到用户设置);项目或本地设置(.claude/settings.json、.claude/settings.local.json)里的 false 即使在托管的 true 之上也会关闭自动连接。
  • default:清除你的选择,遵循你组织的管理员默认值(如果设置了),否则采用 Claude Code 当前的默认值。

同一个开关也出现在 CLI 之外:桌面应用里是 Settings > Claude Code > Connect new sessions to Remote Control;VS Code 扩展里是命令菜单设置部分的 Enable Remote Control for all sessions。要改从设置文件打开自动连接,在你用户的 ~/.claude/settings.json 或托管设置里把 remoteControlAtStartup 设为 true。在项目或本地设置里,Claude Code 遵守 false 并为该仓库关闭自动连接,但忽略 true,所以已检入的文件不能让每个打开该仓库的人都打开 Remote Control。自动连接用你自己的 claude.ai 账号登录,所以它启动的会话只出现在你自己账号的 Claude 应用里,不给任何其他人访问权。打开这个设置后,每个交互式 Claude Code 进程注册一个远程会话;如果你运行多个实例,每个得到自己的远程会话。要从单个进程运行多个并发会话,改用服务器模式。

停止服务器后恢复会话

当你用 Ctrl+C 停止 claude remote-control 时,它所服务的会话在你的手机或浏览器上不再响应。只要你没有在同一目录里运行另一个 claude remote-control,也没有用 --no-create-session-in-dir 启动这个,Claude Code 就不会归档它们。要找回它们,在同一目录里运行这些命令之一:

  • claude remote-control:找回服务器所服务的每个会话。
  • claude remote-control --continue:只找回服务器启动时的那个会话,该会话结束时退出;如果这个目录没有记录,Claude Code 使用该仓库其他 git worktree 里最新的那个。
  • claude remote-control --session-id <id>:只找回你传入 ID 的会话,该会话结束时退出;ID 是会话在 claude.ai/code 的 URL 里 /code/ 与任何 ? 之间的部分。

这些命令在服务器停止后约四小时内有效;之后运行 claude remote-control 开始新会话。如果你在此期间归档了会话,--continue 和 --session-id 在 Claude Code v2.1.228 或更高版本上会取消归档它。要找回你用 claude --remote-control 或 /remote-control 启动的会话,用 claude --continue 或 claude --resume 恢复对话;如果 Remote Control 没有重新连接,见下面「Couldn't reconnect to your Remote Control session」。如果你在第二个终端里恢复对话,而第一个终端仍开着 Remote Control,Claude Code 会在第二个终端里打印 Remote Control not started here 通知,并在那里保持 Remote Control 关闭,而不是从第一个终端夺走会话;在第二个终端里运行 /remote-control 把 Remote Control 移到那里。在曾开着 Remote Control 的 Claude Desktop 或 IDE 扩展里恢复对话时,Claude Code 会把它重新附加到已有的 claude.ai 会话,而不是在会话列表里添加新的。

连接与安全

你本地的 Claude Code 会话只发出站 HTTPS 请求,从不在你的机器上打开入站端口。启动 Remote Control 时,它向 Anthropic API 注册并轮询工作。当你从另一台设备连接时,服务器通过流式连接在网页或移动客户端与你的本地会话之间路由消息。所有流量都经 TLS 通过 Anthropic API 传输,与任何 Claude Code 会话的传输安全相同。该连接使用多个短期凭据,每个限定于单一用途并独立过期。

Remote Control 连接期间,会话转录(包括你的消息、Claude 的回复和工具活动)存储在 Anthropic 服务器上。存储的转录让对话在你的设备间保持同步,并让会话在网络中断后能重新连接。执行和文件系统访问留在你的机器上,存储的转录按数据使用政策保留。要完全关闭 Remote Control,用 disableRemoteControl 设置;有零数据保留这类合规要求的组织无法启用 Remote Control。

Trusted Devices

Trusted Devices 目前处于 beta,功能可能随体验完善而变化。它在 Pro、Max、Team 和 Enterprise 套餐上可用,默认关闭。在 Team 和 Enterprise 套餐上由 Owner 为组织打开;在 Pro 和 Max 套餐上,你自己在 Cowork 或 Account 页面的设置里打开 Require trusted devices。

Trusted Devices 要求你组织的每个成员(或 Pro/Max 上的你本人)先验证自己的设备,才能从 claude.ai、Claude 移动应用或 Claude Desktop 查看或引导 Remote Control 会话。它把 Remote Control 访问与已知设备和近期的认证联系起来,而不只是已登录的账号。设置打开时,与 Remote Control 会话交互需要同时满足两点:

  • 已注册的设备:成员用于 Remote Control 的每个浏览器、手机或桌面应用都注册自己的凭据。只有在完整登录之后不久才提供注册,所以设备加入受信任列表是真正认证的一部分,而不是在后台悄悄发生。
  • 近期登录:成员的登录必须不超过 18 小时。成员不必每天重新登录,而是用 Face ID、Touch ID、Windows Hello 或通行密钥确认在场;这个生物识别升级验证会立即刷新会话。

生物识别检查通过操作系统或浏览器在设备上运行,与通行密钥登录的机制相同;Anthropic 永远不接收或存储指纹、面部数据或任何其他生物识别信息,只存储设备的公钥和显示名称、平台、注册时间这样的基本元数据。该设置只适用于 Remote Control;常规的 Claude 聊天、终端里的 Claude Code 和 API 用量不受影响。

为 Team 或 Enterprise 组织启用 Trusted Devices

由 Owner 在 claude.ai 组织设置里启用该设置:

  1. 进入 Capabilities 页面:进入 Organization settings > Capabilities > Remote sessions,Require trusted devices 开关出现在那一节里。
  2. 打开 Require trusted devices:该设置适用于组织的每个成员,以及在你启用之后启动的 Remote Control 会话;在开关打开之前已在运行的会话不会被追溯保护,在结束之前继续无设备要求。不提供按团队或按项目的范围限定。
  3. 告诉成员会发生什么:设置启用之后,成员第一次从浏览器、手机或桌面应用查看或引导新的 Remote Control 会话时,会被提示注册该设备;提前告知可以避免困惑。

成员看到什么

注册是每台设备一次性的步骤,之后唯一可见的变化是偶尔的生物识别提示:

  • 每台设备首次使用:成员被要求注册;如果他们的登录不是近期的,先通过你的常规流程(包括已配置的 SSO)登录,再确认注册。
  • 日常:有已注册设备和近期登录的成员看不到提示;当登录超过 18 小时,下一次 Remote Control 交互显示一次 Face ID、Touch ID、Windows Hello 或通行密钥提示。
  • 未注册的设备:在设备注册之前,无法查看或引导 Remote Control 会话;该设备上的常规 Claude 聊天不受影响。
  • 没有平台认证器:没有 Face ID、Touch ID 或 Windows Hello 的机器上的成员可以使用硬件安全密钥,或重新登录而不是升级验证。
  • 在终端里:开发者登录 CLI 时,运行 Claude Code 的机器自动获得自己的凭据,终端里没有单独的注册步骤。

管理已注册的设备

成员可以在账号设置里查看和撤销自己的设备。打开 claude.ai/settings/account 并找到 Trusted devices 部分,查看每台已注册设备的名称、平台和注册日期。移除设备会立即撤销它的凭据,设备之后可以在重新登录之后再次注册;凭据如果不续期也会自己过期,所以不用的设备会自动从受信任列表里消失。对丢失或被盗的设备,成员在这个页面里移除它;如果成员无法登录,管理员可以在管理控制台里用 Sign out everywhere 撤销该成员的所有会话和已注册设备,之后成员为仍持有的设备重新注册。

Remote Control 与云端会话

Remote Control 和云端会话都使用 claude.ai/code 界面。关键区别在于会话在哪里运行:Remote Control 在你的机器上执行,所以你的本地 MCP 服务器、工具和项目配置保持可用;云端会话在云基础设施上执行,默认由 Anthropic 托管。当你正在做本地工作并想从另一台设备继续时,用 Remote Control;当你想无需任何本地设置就开始任务、处理一个你没有克隆的仓库,或并行运行多个任务时,用云端会话。Project 把两者结合起来:它的线程在云端运行,并在你要求时用 Remote Control 在你的电脑上运行线程。

Claude Code 提供几种在你不在终端前工作的方式,它们在触发工作的东西、Claude 在哪里运行以及你需要设置多少上有所不同:

触发Claude 运行在设置最适合
Dispatch从 Claude 移动应用发消息交代任务你的机器(桌面应用)把移动应用与桌面应用配对离开时委派工作,设置最少
Remote Control从 claude.ai/code 或 Claude 移动应用驱动正在运行的会话你的机器(CLI、桌面应用或 VS Code)运行 claude remote-control 或 /remote-control从另一台设备引导进行中的工作
Channels从 Telegram 或 Discord 这样的聊天应用或你自己的服务器推送事件你的机器(CLI)安装 channel 插件或自己构建对 CI 失败或聊天消息这样的外部事件作出反应
Slack在团队频道里提及 @ClaudeAnthropic 云在启用了网页版 Claude Code 的情况下安装 Slack 应用从团队聊天里做 PR 和评审
自托管环境启动云端会话并选择你组织的环境你组织的基础设施部署 runner(Team 和 Enterprise 套餐)必须在你网络内运行的云端会话
定时任务设置计划CLI、桌面应用或云端选择频率每天评审这类重复的自动化

移动推送通知

Remote Control 活动时,Claude 可以向你的手机发送推送通知。Claude 决定何时推送:它通常在长时间运行的任务完成,或需要你做决定才能继续时发送。你也可以在提示词里要求推送,例如 notify me when the tests finish。除了下面两个开关,没有按事件的配置。设置移动推送通知:

  1. 安装 Claude 移动应用:下载 iOS 或 Android 的 Claude 应用。
  2. 用你的 Claude Code 账号登录:使用你在终端里用于 Claude Code 的同一个账号和组织。
  3. 允许通知:接受操作系统的通知权限提示。
  4. 在 Claude Code 里启用推送:在终端里运行 /config 并启用 Push when Claude decides(主动通知)、Push when actions required(权限提示和问题),或两者。

如果通知没有到达:

  • 如果 /config 显示 No mobile registered,打开手机上的 Claude 应用,让它刷新推送令牌;该警告在下次 Remote Control 连接时清除。
  • 在 iOS 上,专注模式和通知摘要可能抑制或延迟推送,检查 设置 → 通知 → Claude。
  • 在 Android 上,激进的电池优化可能延迟投递,在系统设置里让 Claude 应用不受电池优化限制。

Claude Code 在你正在已连接的终端里输入或聚焦于它时,会跳过移动推送通知。要把这扩展到你在机器前的任何时候(即使在另一个窗口里),把 CLAUDE_CLIENT_PRESENCE_FILE 设为一个标记文件路径:该文件存在期间跳过通知。配置屏幕锁定监听器或类似工具,在你的屏幕解锁时创建该文件、锁定时删除它。

限制

  • 每个交互进程一个远程会话:在服务器模式之外,每个 Claude Code 实例同一时间支持一个远程会话;用服务器模式从单个进程运行多个并发会话。
  • 本地进程必须保持运行:Remote Control 作为本地进程运行。如果你关闭终端、退出桌面应用或 VS Code,或以其他方式停止 claude 进程,会话就离线,直到你把它找回来。要在你断开 SSH 之后让会话继续在远程机器上运行,把它启动在 tmux 或 screen 里。
  • 服务器模式里崩溃的会话:如果 claude remote-control 服务的会话崩溃了,从已连接设备给它发一条消息,Claude Code 会再次服务它,不必重启服务器(需要 v2.1.238 或更高)。
  • 已连接会话上的 HTTP 403 拒绝:交互会话连接之后,当你机器与 Anthropic 服务器之间的某个东西以 HTTP 403 应答时(VPN 或网络变化后可能发生),Claude Code 会不断重试最多三分钟;如果拒绝持续更久,Claude Code 断开,原因点名是谁拒绝的:网络边缘,或你自己网络上的代理、VPN 或防火墙。
  • 长时间网络中断:如果你的机器醒着但无法到达网络,接下来做什么取决于模式:服务器模式下,Claude Code 约 10 分钟后放弃,claude remote-control 进程退出,再次运行它开始新会话;交互会话里,继续本地工作,Claude Code 在中断持续期间一直重试,并在网络恢复时自行重新连接。
  • 存在心跳失败:如果交互会话以 could not reach the Remote Control server for about 30 minutes 断开,运行 /remote-control 重新连接。
  • 转发的对话框会过期:Claude Code 让权限提示和 AskUserQuestion 问题保持打开,直到你回答。当 Claude Code 把另一种对话框(如安全拒绝之后显示的模型选择提示)转发到远程会话时,默认等待五分钟,然后关闭对话框并以该对话框的无操作默认值继续;设置 dialogExpiry 调整或禁用这个期限(需要 v2.1.224 或更高)。
  • Fable 用量额度同意提示不转发:Claude Code 只在会话运行的地方显示会话中途的 Fable 用量额度同意提示,而不在你的设备上;会话运行在终端里、而 Claude Code 关闭该提示前那里没人回答时,这一轮不发送请求就结束。
  • 有些命令只在本地可用:只在终端界面运行的命令(如 /plugin 或 /resume)只能从本地 CLI 使用,不论是否带参数。下面这些可以从移动和网页使用:
    • 文本输出命令:/compact、/clear、/context、/usage、/exit、/usage-credits、/recap 和 /reload-plugins;/usage-credits 打印账单 URL 而不是打开浏览器;/reload-plugins 只在会话运行于交互式终端时有效,没有终端的会话会拒绝它。
    • /model、/effort、/fast、/color 和 /rename:把值作为参数传入,例如 /model sonnet 或 /effort high;从移动和网页,/model 和 /effort 以参数代替终端的选择器或滑块。
    • /mcp:从移动应用,返回服务器状态的文本摘要而不是打开选择器;在网页上,单独的 /mcp 打开 claude.ai 连接器目录而不是返回摘要;reconnect、enable 和 disable 子命令两处都能用;与本地 CLI 不同,不带服务器名的 /mcp reconnect 会重新连接每个失败或需要认证的服务器。
    • /config:从移动应用,传 key=value 设置某项,或不带参数运行以列出你可以设置的键;在网页上,/config 改为打开你设置的 Claude Code 部分,并忽略命令之后的文字。
    • 在 Team 和 Enterprise 上,从移动或网页的 /usage-credits 不会向你的管理员发送用量额度请求;发送需要只在交互式 CLI 里出现的确认,所以该命令告诉你改在那里运行。
    • /autocompact(从 v2.1.221):把窗口大小作为参数传入,如 /autocompact 500k;不带参数时,以文本打印当前窗口大小,而不是打开终端会话里命令显示的对话框。
    • /advisor(从 v2.1.260):把模型作为参数传入,如 /advisor opus,或传 off 关闭顾问;两种形式都只适用于当前会话,保存的默认值不变;不带参数时以文本打印当前顾问。
    • /output-style(从 v2.1.269):把样式名作为参数传入,如 /output-style concise,或不带参数运行以列出样式;从移动和网页只能列出和选择内置样式,要使用自定义样式,在会话本身里选择它。
    • /focus(从 v2.1.281):把 on 或 off 作为参数传入,如 /focus on,或不带参数运行以切换聚焦视图;两种形式都只适用于当前会话,保存的选择不变。

排障

「Remote Control requires a claude.ai subscription」

你没有用 claude.ai 账号登录,或另一个凭据优先于你的登录。消息有这几种形式:退出登录时,从 /remote-control 或 --remote-control 报 Remote Control requires a claude.ai subscription. 或 /remote-control requires a claude.ai subscription.;退出登录时从 claude remote-control 报 You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.;已登录但在用 API key 或令牌时,报 Remote Control requires claude.ai subscription auth.,后跟正在使用的凭据,如 ANTHROPIC_API_KEY is set, so this session is using API-key auth(apiKeyHelper 设置和 ANTHROPIC_AUTH_TOKEN 以同样方式被点名)。运行 claude auth login 并选 claude.ai 选项。如果消息点名 ANTHROPIC_API_KEY 或 ANTHROPIC_AUTH_TOKEN,在它被设置的任何地方(你的 shell 环境或设置文件的 env 块)移除它;如果点名 apiKeyHelper,移除该设置。

「Remote Control requires a full-scope login token」

你用来自 claude setup-token 的长期令牌或 CLAUDE_CODE_OAUTH_TOKEN 环境变量认证。这些令牌只能发起模型请求,所以无法建立 Remote Control 会话。运行 claude auth login,改用全范围会话令牌认证。

「Unable to determine your organization for Remote Control eligibility」

你缓存的账号信息已过时或不完整。运行 claude auth login 刷新它。

「Remote Control isn't enabled for this account」

Claude Code 检查了你所登录账号的 Remote Control 可用性,结果为关闭。通常的原因是套餐变更之后缓存的权益过期。运行 claude auth logout 再 claude auth login 刷新它们,如果你的版本很旧就更新 Claude Code。运行 claude doctor 查看是哪个具体的资格检查失败:环境变量冲突、无法到达的检查和你组织的 Remote Control 设置各自产生自己的消息,所以这个错误指的是账号级检查本身。(v2.1.239 之前,该消息写作 "Remote Control is not yet enabled for your account"。)

「Couldn't verify Remote Control eligibility」

Claude Code 无法到达功能标志服务来检查你的账号是否启用了 Remote Control,通常是因为你离线或代理阻止了请求。有网络访问后重试,或运行 claude doctor 了解详情。相关消息「Couldn't verify your organization's Remote Control policy」意味着 Claude Code 读取该策略时遇到错误,修复方法相同。

「Remote Control requires feature-flag evaluation」

设置了关闭功能标志评估的环境变量,完整消息点名 Claude Code 发现的变量(在 2.1.154 之前的版本上,同样的配置产生的是「Remote Control is not yet enabled for your account」)。怎么办取决于消息点名的变量:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 或 DISABLE_GROWTHBOOK:在它被设置的任何地方(你的 shell 环境或 settings.json 的 env 块)取消设置;DISABLE_TELEMETRY 或 DO_NOT_TRACK:在 Pro、Max、Team 或 Enterprise 套餐、且 DISABLE_GROWTHBOOK 未设置时,这些变量让 Remote Control 保持可用,除非你的组织要求 Trusted Devices;如果要求,就在它被设置的地方取消设置该变量(从 v2.1.154 到 v2.1.282,任一变量都会产生这条消息,所以要更新到 v2.1.283 或更高)。

「Remote Control is only available when using Claude via api.anthropic.com」

会话没有直接与 Anthropic API 通信,而这是 Remote Control 所要求的。这发生在 Amazon Bedrock、Google Cloud 的 Agent Platform 和 Microsoft Foundry 上;当 ANTHROPIC_BASE_URL 指向 api.anthropic.com 之外的主机(如 LLM 网关或代理)时也会发生,即使你用 claude.ai 登录。消息点名是什么把会话路由离开了 Anthropic API,如 CLAUDE_CODE_USE_BEDROCK 或自定义的 ANTHROPIC_BASE_URL。如果你有合格的 claude.ai 登录,取消设置被点名的变量(如果你在设置的 env 键里设置了它就从那里移除),然后重启会话。完整的原因列表见错误参考。

「Remote Control is disabled by your organization's policy」

某个策略阻止了 Remote Control。按顺序检查这些原因:

  • 错误提到 disableRemoteControl:你的 IT 管理员通过托管设置在这台设备上禁用了 Remote Control,与组织范围的开关以及你如何登录无关。
  • 你的 claude.ai 套餐是 Pro 或 Max:Claude Code 仍然以较早登录时的 Team 或 Enterprise 组织的身份登录着,所以它检查那个组织的 Remote Control 策略。运行 /status 查看你的登录使用哪个套餐和组织;运行 claude auth logout 再 claude auth login,在你当前的套餐下重新登录。
  • 消息没有说联系你的组织管理员:你的组织有与 Remote Control 不兼容的 HIPAA 配置,/status 在它的 Compliance 行里列出 HIPAA。在这种状态下,管理面板的 Remote Control 开关是灰色的,所以 Owner 无法在那里更改,联系 Anthropic 支持讨论选项(v2.1.267 之前,这种情况显示的是「Remote Control isn't available for your organization due to its compliance policy」)。
  • 否则,是 Owner 没有为你的组织启用它:Remote Control 在 Team 和 Enterprise 套餐上默认关闭。Owner 可以在 claude.ai/admin-settings/claude-code 打开 Remote Control 开关来启用它;这个开关是服务端的组织设置。

(v2.1.281 之前,当 Claude Code 在这台机器上还没加载你组织的策略时(例如离线启动之后)也会出现这条消息;之后的版本把这种状态报告为「Couldn't verify your organization's policy for remote control」。)

「Couldn't verify your organization's policy for remote control」

Claude Code 无法获取你组织的策略,且这台机器上没有可用的已保存副本,所以它让 Remote Control 保持关闭,直到能确认你的组织允许它。这通常发生在你离线或在 VPN 连接之前启动 Claude Code,或代理干扰了请求时;在慢速连接上,第一个请求仍在进行时它也可能出现。消息有这几种形式:从 /remote-control、claude remote-control 或 claude --remote-control:Couldn't verify your organization's policy for remote control. Check your network connection and try again.;从会话启动时的自动连接:couldn't verify your organization's policy — check your network connection and try again,通知里带 Remote Control failed 前缀,对话里带 Remote Control disconnected,会话随后让 Remote Control 保持关闭。恢复你的网络连接,然后运行 /remote-control 或再次运行该命令;每次尝试都会再次检查策略,所以你不需要重启 Claude Code。如果消息不断出现,运行 claude doctor 并阅读它的 Organization policy 一行,它会说明策略为什么没有加载。(v2.1.281 之前,这种状态显示的是 Remote Control is disabled by your organization's policy。)

「Remote credentials fetch failed」

Claude Code 无法从 Anthropic API 获得建立连接所需的短期凭据。带 --verbose 重新运行以查看完整错误:

claude remote-control --verbose

常见原因:没有登录(运行 claude 并用 /login 以你的 claude.ai 账号认证,Remote Control 不支持 API key 认证);网络或代理问题(防火墙或代理可能阻止了出站 HTTPS 请求,Remote Control 需要在 443 端口访问 Anthropic API);会话创建失败(如果你还看到 Session creation failed — see debug log,说明失败发生在设置的更早阶段,检查你的订阅是否有效)。

「Couldn't reconnect to your Remote Control session」

当你用 claude --resume 或 claude --continue 恢复对话时,Claude Code 重新连接到该对话里记录的 Remote Control 会话。这条消息表示重新连接因可能是暂时的原因(如网络中断或服务器错误)而失败,所以 Claude Code 无法确认远程会话是否仍然存在。运行 /remote-control 重试连接,或用 claude --remote-control 开始新会话来创建新的 Remote Control 会话;你的本地会话在此期间继续运行,只是没有 Remote Control。

「Previous session is unavailable — run /remote-control to start a new one」

Claude Code 无法找回之前的 Remote Control 会话,于是停了下来,而不是自己开始新的。你可能在用 claude --resume 或 claude --continue 恢复对话之后,或在 Claude Code 断开后自行重新连接之后看到这条消息。运行 /remote-control 在当前登录下开始新的 Remote Control 会话;你的本地会话在此期间继续运行,只是没有 Remote Control。相关消息 Remote Control could not verify the signed-in account — run /remote-control to reconnect 的修复方法相同。如果你在 Previous session is unavailable 之后没有先重启 Claude Code 就运行 /remote-control,Claude Code 会把对话较早的消息留在新会话之外。

「Remote Control got an unexpected server response」

Remote Control 服务器接受了一个请求,但以这个版本的 Claude Code 无法读取的形式应答,发生在创建远程会话或获取其凭据期间。在同一版本上重试会以同样方式失败;运行 claude update,然后运行 /remote-control 重新连接。

「Your organization requires Trusted Devices for Remote Control, but this device is not enrolled」

你的组织启用了 Trusted Devices,而这台机器还没注册。在 Claude Code 里运行 /login;注册是登录的一部分,没有单独的注册命令。

「session expired for trusted-device check」

你的登录已超过 18 小时。在 Claude Code 里运行 /login,或在 claude.ai 或移动应用提示你时用 Face ID、Touch ID、Windows Hello 或通行密钥确认。

相关资源

  • 在云端使用 Claude Code:在云端而不是你的机器上运行会话,通过云环境配置。
  • 跨会话消息:让 Claude 向你其他机器上的会话或你的云端会话发消息。
  • Channels:把 Telegram、Discord 或 iMessage 转发进会话,让 Claude 在你离开时对消息作出反应。
  • Dispatch:从手机发一条任务消息,它可以派生一个桌面会话来处理。
  • 认证:设置 /login 并管理 claude.ai 的凭据。
  • CLI 参考:包括 claude remote-control 在内的完整标志和命令列表。
  • 安全:Remote Control 会话如何融入 Claude Code 的安全模型。
  • 数据使用:在本地、Remote Control 和云端会话期间,哪些数据经过 Anthropic API。