Claude Code on the web 处于研究预览阶段,适用于 Pro、Max 和 Team 用户,以及拥有高级席位或 Chat + Claude Code 席位的 Enterprise 用户。
- 云环境:会话运行的位置,以及在哪里配置
- GitHub 身份验证选项:两种连接 GitHub 的方式
- 在网络和终端之间移动任务,使用
--cloud和--teleport - 处理会话:权限模式、审查、共享、归档、删除
- 自动修复拉取请求:自动响应 CI 失败和审查评论
- 安全和隔离:会话如何隔离
- 限制:速率限制和平台限制
云环境
每个云会话都在一个云环境中运行,这是一个保存的配置,控制网络访问、环境变量和设置脚本。如果你还没有环境,入门会设置一个默认环境,具有受信任网络访问,要么为你创建它,要么要求你创建它。请参阅默认环境,了解在你的计划上会发生哪种情况,以及当你有多个环境时会话如何选择环境。 相同的环境适用于你启动云会话的任何地方:网络、终端、Claude Tag、routines 以及移动和 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 标志从命令行启动云会话:
--cloud 一次只能与单个存储库配合使用。任务在云中运行,而您继续在本地工作。较旧的 --remote 拼写仍然可以作为 --cloud 的已弃用别名使用。
当云容器启动时,CLI 显示设置步骤的实时清单,例如克隆存储库和运行您的 设置脚本。它会将您在配置期间键入的消息排队,并在会话准备好后发送它们。
--cloud 创建云会话。--remote-control 无关:它公开本地 CLI 会话以便从网页进行监控。请参阅 Remote Control。云任务提示
在本地规划,远程执行:对于复杂任务,启动 Claude 处于规划模式以协作制定方法,然后将工作发送到云:--cloud 命令创建自己的云会话,独立运行。您可以启动多个任务,它们都会在单独的会话中同时运行:
发送没有 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。
该命令发布一条消息并退出:
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 或更高版本。
/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 页面 安装它。
- 在 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 自动修复它
Claude 如何响应 PR 活动
当自动修复处于活动状态时,Claude 接收 PR 的 GitHub 事件,包括新的审查评论和 CI 检查失败。对于每个事件,Claude 调查并决定如何进行:- 明确的修复:如果 Claude 对修复有信心且不与早期指令冲突,Claude 会进行更改、推送它,并在会话中解释所做的工作
- 模糊的请求:如果审查者的评论可以以多种方式解释或涉及架构上重要的内容,Claude 会在采取行动前询问你
- 重复或无操作事件:如果事件是重复的或不需要更改,Claude 会在会话中记录它并继续
安全和隔离
每个云会话通过多个层与你的机器和其他会话分离:- 隔离的虚拟机:每个会话在隔离的、Anthropic 管理的 VM 中运行。你的组织路由到自托管环境的会话改为在你自己的基础设施上运行,其中隔离是你的部署的责任
- 网络访问控制:在 Anthropic 托管的环境中,网络访问默认受限,可以禁用。请参阅网络访问了解访问级别、默认允许的域和不通过允许列表的流量。在自托管环境中,你在自己的网络边界处限制会话出口。当在禁用网络访问的情况下运行时,Claude Code 仍然可以与 Anthropic API 通信,这可能允许数据从 VM 中退出。
- 凭证保护:在 Anthropic 托管的环境中,git 凭证和签名密钥保持在沙箱外,代理使用作用域凭证代表会话进行身份验证。在自托管环境中,你的部署提供 git 凭证;请参阅配置 git
- API 凭证:在 Pro 和 Max 计划的 Anthropic 托管环境中,你添加到云环境的密钥保持在沙箱外,以相同的方式,在它们离开会话后附加到匹配的请求。自托管环境没有 API 凭证,Team 和 Enterprise 计划还没有
- 安全分析:代码在会话的隔离环境内分析和修改,然后创建 PR
故障排除
对于出现在对话中的运行时 API 错误,如API Error: 500、529 Overloaded、429 或 Prompt is too long,请参阅错误参考。这些错误及其修复与 CLI 和 Desktop 应用共享。下面的部分涵盖特定于云会话的问题。
会话创建失败
如果新会话无法启动,显示Session creation failed 或在配置时停滞,Claude Code 无法为会话分配 VM。
- 检查 status.claude.com 以了解云会话事件
- 一分钟后重试,因为容量是按需配置的
- 通过遵循连接 GitHub 后没有存储库出现来确认你的 GitHub 连接可以访问存储库
无法获取组织 UUID
claude --cloud 和 claude --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 expired 或 Access 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,运行在相同的云基础设施上