Skip to main content
Claude Code on the web 处于研究预览阶段,适用于 Pro、Max 和 Team 用户,以及拥有高级席位或 Chat + Claude Code 席位的 Enterprise 用户。
Claude Code on the web 在 claude.ai/code 的 Anthropic 管理的云基础设施上运行任务,或在路由到你的组织的自托管环境时在那里运行。会话即使在关闭浏览器后也会持续,你可以从 Claude 移动应用监控它们。
初次使用 Claude Code on the web?从入门开始,连接你的 GitHub 账户并提交你的第一个任务。
本页涵盖网络产品本身:

云环境

每个云会话都在一个云环境中运行,这是一个保存的配置,控制网络访问、环境变量和设置脚本。如果你还没有环境,入门会设置一个默认环境,具有受信任网络访问,要么为你创建它,要么要求你创建它。请参阅默认环境,了解在你的计划上会发生哪种情况,以及当你有多个环境时会话如何选择环境。 相同的环境适用于你启动云会话的任何地方:网络、终端、Claude Tagroutines 以及移动和 Desktop 应用。Claude Tag 频道会话仅使用组织级环境,要么是共享环境,要么是自托管环境 请参阅配置云环境以更改环境允许的内容、设置变量或添加设置脚本,以及已安装的工具以了解会话在没有任何配置的情况下包含的内容。

GitHub 身份验证选项

云会话需要访问你的 GitHub 存储库来克隆代码和推送分支。你可以通过两种方式授予访问权限: 在存储库上安装 Claude GitHub App 也会为其中的拉取请求启用自动修复 有关 /schedule 如何在创建 routine 之前检查存储库访问权限,请参阅存储库和分支权限。有关 /web-setup 演练(包括 /web-setup 存储的内容以及如何删除它),请参阅从终端连接 快速网络设置是一个组织设置,允许成员使用 /web-setup 连接 GitHub,在浏览器入门期间跳过 Claude GitHub App 安装提示,并让浏览器入门为他们创建默认环境,而不是显示环境表单。在 Team 和 Enterprise 计划上,默认情况下它是关闭的,这会隐藏 /web-setup所有者可以在 Admin settings > Claude Code 处使用快速网络设置切换来打开它。
启用了零数据保留的组织无法使用 /web-setup 或其他云会话功能。

在网页和终端之间移动任务

这些工作流需要 Claude Code CLI 登录到同一个 claude.ai 账户。您可以从终端启动新的云会话,或将云会话拉入终端以继续本地工作。云会话即使在您关闭笔记本电脑后也会持续存在,您可以从任何地方(包括 Claude 移动应用)监控它们。
从 CLI 来看,会话切换是单向的:您可以使用 --teleport 将云会话拉入终端,但无法将现有的终端会话推送到网页。带有任务描述的 --cloud 标志为您当前的存储库创建新的云会话;带有 -p 和会话 ID 或 claude.ai/code URL 时,它会改为 将消息排队到该现有会话Desktop 应用 提供了一个”继续在”菜单,可以将本地会话发送到网页。

从终端到网页

使用 --cloud 标志从命令行启动云会话:
这会在 claude.ai 上创建新的云会话。云 VM 会在您当前分支克隆您当前目录的 GitHub 远程,而不是您的本地检出,因此如果您有本地提交,请先推送。有关 Claude Code 上传本地存储库而不是克隆的情况,请参阅 发送没有 GitHub 的本地存储库 --cloud 一次只能与单个存储库配合使用。任务在云中运行,而您继续在本地工作。较旧的 --remote 拼写仍然可以作为 --cloud 的已弃用别名使用。 当云容器启动时,CLI 显示设置步骤的实时清单,例如克隆存储库和运行您的 设置脚本。它会将您在配置期间键入的消息排队,并在会话准备好后发送它们。
--cloud 创建云会话。--remote-control 无关:它公开本地 CLI 会话以便从网页进行监控。请参阅 Remote Control
在 claude.ai 或 Claude 移动应用上打开会话以检查进度或直接交互。从那里您可以引导 Claude、提供反馈或像在任何其他对话中一样回答问题。 如果 Claude 提出问题且会话处于空闲状态,您仍然可以在返回时回答,直到 环境过期,会话会从您的答案继续。

云任务提示

在本地规划,远程执行:对于复杂任务,启动 Claude 处于规划模式以协作制定方法,然后将工作发送到云:
在规划模式下,Claude 读取文件、运行命令进行探索,并提出计划而不编辑源代码。一旦您满意,将计划保存到存储库、提交并推送,以便云 VM 可以克隆它。然后启动云会话以进行自主执行:
并行运行任务:每个 --cloud 命令创建自己的云会话,独立运行。您可以启动多个任务,它们都会在单独的会话中同时运行:
当会话完成时,您可以从网页界面创建 PR,或 teleport 会话到您的终端以继续工作。

发送没有 GitHub 的本地存储库

当您从没有 git 远程的存储库运行 claude --cloud 时,或从 Claude GitHub App 未安装的 github.com 存储库运行时,Claude Code 会捆绑您的本地存储库并直接上传到云会话。即使您使用 /web-setup 连接了 GitHub,这也适用。该捆绑包包括您在所有分支上的完整存储库历史记录,加上对跟踪文件的未提交更改。 在 macOS、Linux 和 WSL 上,Claude Code 将未提交的更改排除在上传之外,这些更改涉及名称类似于凭据或密钥的文件,并命名它排除的文件。这涵盖 .env 文件、Terraform *.tfvars 文件和密钥文件,例如 id_rsa*.pem。会话以每个文件的已提交版本启动,或如果未提交任何内容,则不包含该文件。在链接的 worktree、子模块或类似布局中,Claude Code 会与其余部分一起上传这些更改并命名它上传的文件。 要在 Claude Code 会克隆远程时上传捆绑包,请设置 CCR_FORCE_BUNDLE=1
捆绑的存储库必须满足这些限制:
  • 目录必须是具有至少一个提交的 git 存储库
  • 捆绑的存储库必须小于 100 MB。较大的存储库会回退到仅捆绑当前分支,然后回退到工作树的单个压缩快照,如果快照仍然太大则失败
  • 未跟踪的文件不包括在内;对您希望云会话看到的文件运行 git add
  • 从捆绑创建的会话只有在您的 GitHub 连接 对该存储库具有推送访问权限时,才能推送回 GitHub 远程

从 CLI 发送后续消息

一旦云会话运行,无论它在哪里执行,都可以从任何您使用 claude auth login 登录的机器上的 claude CLI 向它发送后续消息。CLI 使用您的 Anthropic 账户凭据进行身份验证,不发送任何本地会话状态,因此该命令不需要从启动会话的机器运行,并且在每个 shell 中都是相同的,包括 PowerShell。 该命令发布一条消息并退出:
CLI 将消息排队到会话中并退出,无需等待回复。使用它来引导长时间运行的会话、在当前步骤仍在完成时排队下一步,或从 CI 脚本 发送后续消息。您也可以在 stdin 上管道消息,而不是将其作为参数传递:echo "your message" | claude -p --cloud <session-id> 对于 <session-id>,传递裸 ID,例如 session_...cse_...,或会话的 claude.ai/code/<id> URL,带或不带方案或查询字符串。在 claude.ai/code 的会话列表中找到 ID。
--cloud 需要 Anthropic 账户。当 Claude Code 为 Amazon Bedrock、Google Cloud 的 Agent Platform 或其他第三方提供商配置时,它不可用。仅通过 ANTHROPIC_BASE_URL 配置的 LLM 网关 不算作此检查的第三方提供商,但您仍需要使用 claude auth login 登录。您组织的 allow_remote_sessions 策略也必须启用。所有者可以在 claude.ai/admin-settings/claude-code 的 Claude Code 管理设置中打开它。

输出和错误

成功时,该命令打印会话 ID 和查看会话的链接:
传递 --output-format json 以获得机器可读的结果:成功时为 {ok, session_id, url},或发送失败时为 {ok: false, session_id, error},例如当会话缺失或已存档时。配置错误(例如不支持的提供商或禁用的组织策略)打印到 stderr,不带 JSON。--output-format stream-json 不支持 --cloud <session-id> CLI 在错误前加上 Error: 前缀。失败的传递被包装为 failed to send message to cloud session <id>: <reason>

从网页到终端

使用以下任何方法将云会话拉入您的终端:
  • 使用 --teleport:从命令行运行 claude --teleport 以获得交互式会话选择器,或 claude --teleport <session-id> 以直接恢复特定会话。如果您有未提交的更改,系统会提示您先隐藏它们。
  • 使用 /teleport:在现有 CLI 会话内,运行 /teleport/tp 以打开相同的会话选择器,无需重启 Claude Code。
  • /tasks:运行 /tasks 以查看您的后台会话,然后按 t 以 teleport 到其中一个。
  • 从网页界面:从会话菜单中选择 Open in > Terminal 以复制可以粘贴到终端的命令。
  • 从云会话内部:键入 /teleport,Claude Code 会回复该会话的确切 claude --teleport <session-id> 命令,准备从存储库的检出运行。需要会话环境中的 Claude Code v2.1.223 或更高版本。
当您 teleport 会话时,Claude 验证您在正确的存储库中,从云会话获取并检出分支,并将完整的对话历史记录加载到您的终端。终端获得会话的自己的副本:那里的新工作保持本地,不会出现在 claude.ai 上的云会话或 Claude 移动应用中。在 teleport 后继续从您的手机引导,在本地会话中启动 /remote-control --teleport--resume 不同。--resume 从此机器的本地历史记录重新打开对话,不列出云会话;--teleport 拉取云会话及其分支。

Teleport 要求

Teleport 在恢复会话前检查这些要求。如果任何要求未满足,您会看到错误或被提示解决问题。

--teleport 不可用

Teleport 需要 claude.ai 订阅身份验证。如果您通过 API 密钥进行身份验证,请运行 /login 以改为使用您的 claude.ai 账户登录。如果错误命名您的提供商,云会话不可通过第三方提供商获得;请参阅 错误表。如果您已通过 claude.ai 登录且 --teleport 仍不可用,您的组织可能已禁用云会话。

处理会话

会话出现在 claude.ai/code 的侧边栏中。从那里你可以审查更改、与队友共享、归档完成的工作或永久删除会话。

管理上下文

云会话支持产生文本输出的内置命令。仅在终端界面中运行的命令,如 /plugin/resume,不可用。在云会话中打开选择器或面板的命令表现不同:
  • /model/effort/fast/color/rename:将值作为参数传递,例如 /model sonnet,而不是打开终端选择器或滑块。参数形式需要会话环境中的 Claude Code v2.1.205 或更高版本,并遵循每个命令的可用性说明:当模型的启动默认工作量保持生效时,/effort 报告 Not applied,而 /fast 仅在以快速模式启动的会话中工作。
  • /config:在网络上,打开你的设置的 Claude Code 部分,而不是设置值,命令后的文本(包括 key=value)被忽略。要更改云会话的设置,请使用环境变量或将设置文件提交到存储库。
对于上下文管理特别是: 自动压缩在上下文窗口接近容量时自动运行。Claude Code on the web 在云会话中自己设置 CLAUDE_AUTOCOMPACT_PCT_OVERRIDE,所以压缩在自动压缩窗口的中途触发,而不是当窗口填满时。该值覆盖你在环境变量中添加的值,所以在那里添加变量不会改变压缩何时触发。 要改为更改自动压缩窗口,请在你的环境变量中设置 CLAUDE_CODE_AUTO_COMPACT_WINDOW,或在变量未设置的会话中运行带有令牌计数的 /autocompact Subagents 的工作方式与本地相同。Claude 可以使用 Agent 工具生成它们,以将研究或并行工作卸载到单独的上下文窗口中,保持主对话更轻。在你的存储库的 .claude/agents/ 中定义的 Subagents 会自动被拾取。 Agent teams 默认关闭,但可以通过将 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 添加到你的环境变量来启用。

云会话中的权限模式

你从模式下拉菜单为云会话选择权限模式,既在你创建任务时,也在会话运行时。当你重新打开其 Anthropic 托管环境已过期的会话,或向自托管运行程序在空闲时释放的会话发送消息时,Claude Code 在它所在的权限模式中恢复会话。

审查更改

每个会话显示一个 diff 指示器,显示添加和删除的行数,如 +42 -18。选择它以打开 diff 视图,在特定行上留下内联评论,并使用你的下一条消息将它们发送给 Claude。 Claude Code 从原始 git blob 内容计算这些 diffs,包括 Claude 编辑时显示的每个文件 diffs,所以存储库中配置的 diff 驱动程序和 textconv 过滤器不适用。对于不是会话自己的检出之一的存储库中的文件,如在会话期间克隆到工作区内的文件,每个文件 diff 显示 Claude 的编辑本身,而不是 git 比较。 有关完整演练(包括 PR 创建),请参阅审查和迭代。要让 Claude 自动监控 PR 以查找 CI 失败和审查评论,请参阅自动修复拉取请求

共享会话

要共享会话,请根据下面的账户类型切换其可见性。之后,按原样共享会话链接。打开链接时,收件人会看到最新状态,但他们的视图不会实时更新。

从 Enterprise 或 Team 账户共享

对于 Enterprise 和 Team 账户,两个可见性选项是私有团队。团队可见性使会话对你的 claude.ai 组织的其他成员可见。Claude in Slack 会话会自动以团队可见性共享。 默认情况下启用存储库访问验证,基于连接到收件人账户的 GitHub 账户。你的账户显示名称对所有有访问权限的收件人可见。

从 Max 或 Pro 账户共享

对于 Max 和 Pro 账户,两个可见性选项是私有公开。公开可见性使会话对任何登录到 claude.ai 的用户可见。 在共享之前检查你的会话是否包含敏感内容。会话可能包含来自私有 GitHub 存储库的代码和凭证。默认情况下不启用存储库访问验证。 要要求收件人拥有存储库访问权限,或从共享会话中隐藏你的名称,请转到 Settings > Claude Code > Sharing settings

归档会话

你可以归档会话以保持你的会话列表有序。归档的会话从默认会话列表中隐藏,但可以通过筛选已归档会话来查看。 要归档会话,请在侧边栏中悬停在会话上并选择归档图标。

删除会话

删除会话会永久删除会话及其数据。此操作无法撤销。你可以通过两种方式删除会话:
  • 从侧边栏:筛选已归档会话,然后悬停在你想删除的会话上并选择删除图标
  • 从会话菜单:打开会话,选择会话标题旁的下拉菜单,然后选择删除
删除会话前会要求你确认。

自动修复拉取请求

Claude 可以监视拉取请求并自动响应 CI 失败和审查评论。Claude 订阅 PR 上的 GitHub 活动,当检查失败或审查者留下评论时,Claude 会调查并推送修复(如果有明确的修复)。
自动修复需要在你的存储库上安装 Claude GitHub App。如果你还没有,请从 GitHub App 页面 安装它。
根据 PR 来自何处以及你使用的设备,有几种方法可以打开自动修复:
  • 在 Claude Code on the web 中创建的 PR:打开 CI 状态栏并选择自动修复
  • 从终端:在 PR 的分支上运行 /autofix-pr。Claude Code 使用 gh 检测打开的 PR,生成网络会话,并一步启用自动修复
  • 从移动应用:告诉 Claude 自动修复 PR,例如”watch this PR and fix any CI failures or review comments”
  • 任何现有 PR:将 PR URL 粘贴到会话中并告诉 Claude 自动修复它
自动修复是按 PR 的切换开关。要停止监视,请在网络会话中打开 CI 状态栏并清除自动修复切换,或告诉 Claude 停止监视 PR。

Claude 如何响应 PR 活动

当自动修复处于活动状态时,Claude 接收 PR 的 GitHub 事件,包括新的审查评论和 CI 检查失败。对于每个事件,Claude 调查并决定如何进行:
  • 明确的修复:如果 Claude 对修复有信心且不与早期指令冲突,Claude 会进行更改、推送它,并在会话中解释所做的工作
  • 模糊的请求:如果审查者的评论可以以多种方式解释或涉及架构上重要的内容,Claude 会在采取行动前询问你
  • 重复或无操作事件:如果事件是重复的或不需要更改,Claude 会在会话中记录它并继续
GitHub 不会在基础分支推进并创建合并冲突时发出 webhook,因此自动修复无法自行对冲突做出反应。要解决冲突,请打开会话并要求 Claude 进行变基。 Claude 可能会作为解决审查评论线程的一部分在 GitHub 上回复它们。这些回复使用你的 GitHub 账户发布,所以它们出现在你的用户名下,但每个回复都标记为来自 Claude Code,以便审查者知道它是由代理编写的,而不是由你直接编写的。
如果你的存储库使用注释触发的自动化,例如 Atlantis、Terraform Cloud 或在 issue_comment 事件上运行的自定义 GitHub Actions,请注意 Claude 可以代表你回复,这可能会触发这些工作流。在启用自动修复之前审查你的存储库的自动化,并考虑为可能部署基础设施或运行特权操作的 PR 注释的存储库禁用自动修复。

安全和隔离

每个云会话通过多个层与你的机器和其他会话分离:
  • 隔离的虚拟机:每个会话在隔离的、Anthropic 管理的 VM 中运行。你的组织路由到自托管环境的会话改为在你自己的基础设施上运行,其中隔离是你的部署的责任
  • 网络访问控制:在 Anthropic 托管的环境中,网络访问默认受限,可以禁用。请参阅网络访问了解访问级别、默认允许的域和不通过允许列表的流量。在自托管环境中,你在自己的网络边界处限制会话出口。当在禁用网络访问的情况下运行时,Claude Code 仍然可以与 Anthropic API 通信,这可能允许数据从 VM 中退出。
  • 凭证保护:在 Anthropic 托管的环境中,git 凭证和签名密钥保持在沙箱外,代理使用作用域凭证代表会话进行身份验证。在自托管环境中,你的部署提供 git 凭证;请参阅配置 git
  • API 凭证:在 Pro 和 Max 计划的 Anthropic 托管环境中,你添加到云环境的密钥保持在沙箱外,以相同的方式,在它们离开会话后附加到匹配的请求。自托管环境没有 API 凭证,Team 和 Enterprise 计划还没有
  • 安全分析:代码在会话的隔离环境内分析和修改,然后创建 PR

故障排除

对于出现在对话中的运行时 API 错误,如 API Error: 500529 Overloaded429Prompt is too long,请参阅错误参考。这些错误及其修复与 CLI 和 Desktop 应用共享。下面的部分涵盖特定于云会话的问题。

会话创建失败

如果新会话无法启动,显示 Session creation failed 或在配置时停滞,Claude Code 无法为会话分配 VM。

无法获取组织 UUID

claude --cloudclaude --teleport 需要使用 claude.ai 账户登录。如果你使用 API 密钥进行身份验证,或你的存储账户详情已过期,这些命令会失败,显示 Unable to get organization UUID 或消息 API 密钥身份验证不足。使用 API 密钥身份验证或过期账户详情,运行不带会话 ID 的 claude --teleport 会在会话选择器中显示 Error loading Claude Code sessions,而不是任一消息,相同的修复适用。 运行 /login 以使用你的 claude.ai 账户登录,然后重试命令。如果错误命名你的提供商,请参阅错误表:云会话不通过第三方提供商可用。

Remote Control 会话已过期或访问被拒绝

--teleport 通过与云会话使用的相同 Remote Control 会话基础设施连接,所以身份验证和会话过期错误会显示 Remote Control 措辞。你可能会看到 Remote Control session expiredAccess denied。连接令牌是短期的,并限定于你的账户。
  • 在本地运行 /login 以刷新你的凭证,然后重新连接
  • 确认你已登录到拥有会话的相同账户
  • 如果你看到 Remote Control may not be available for this organization,所有者尚未为你的组织启用云会话

环境已过期

云会话在不活动一段时间后停止,会话的 VM 被回收。会话在等待你批准MCP 连接器工具调用或登录到 MCP 服务器时计为不活动,它可以在该等待期间过期。在网络上,会话在会话列表中标记为已过期。 claude.ai/code 重新打开会话以配置新 VM,并恢复你的对话历史。在 VM 被回收时仍在运行的后台工作,如 subagents 和 shell 命令,不会被恢复。

限制

在依赖云会话进行工作流之前,请考虑这些约束:
  • 速率限制:Claude Code on the web 与你账户内所有其他 Claude 和 Claude Code 使用共享速率限制。并行运行多个任务会按比例消耗更多速率限制。云 VM 没有单独的计算费用。
  • 存储库身份验证:你只能在认证到相同账户时将会话从网络移动到本地
  • 平台限制:存储库克隆和拉取请求创建需要 GitHub。自托管GitHub Enterprise Server 实例支持 Team 和 Enterprise 计划。你可以通过设置 CCR_FORCE_BUNDLE=1 将 GitLab、Bitbucket 或其他非 GitHub 存储库作为本地捆绑发送到云会话,但会话无法将结果推送回该远程
  • 组织 IP 允许列表:云会话从 Anthropic 管理的基础设施而不是你的网络调用 Anthropic API,而自托管环境中的会话从你自己的网络调用它。如果你的组织启用了 IP 允许列表,每个 Anthropic 托管的云会话都会失败,显示身份验证错误。这同样适用于代码审查routines在 Anthropic 托管的环境中运行;路由到自托管环境的 routine 从你自己的网络调用 API。联系 Anthropic 支持以从你的组织的 IP 允许列表中豁免 Anthropic 托管的服务。
  • 云环境:为云会话配置网络访问、环境变量和设置脚本
  • Ultrareview:在云沙箱中运行深度多代理代码审查
  • Routines:按计划、通过 API 调用或响应 GitHub 事件自动化工作
  • Hooks 配置:在会话生命周期事件处运行脚本
  • 所有设置:所有配置选项
  • 安全:隔离保证和数据处理
  • 数据使用:Anthropic 从云会话保留的内容
  • Claude Tag:在 Slack 中由组织管理的 @Claude,运行在相同的云基础设施上