在 Web 上使用 Claude Code¶
从浏览器或手机在云端运行 Claude Code。连接 GitHub 仓库,提交任务,审查 PR,无需本地环境。
[!NOTE]
Claude Code on the web 处于研究预览阶段,面向 Pro、Max 和 Team 用户开放,Enterprise 用户需要 premium 席位或 Chat + Claude Code 席位。
Claude Code on the web 运行在 Anthropic 管理的云基础设施上,而非你的本地机器。 从 claude.ai/code 或 Claude 移动端提交任务。
你需要一个 GitHub 仓库来开始。Claude 将其克隆到隔离的虚拟机中,进行修改,然后推送分支供你审查。会话跨设备持久化,在笔记本上启动的任务可以稍后在手机上审查。
Claude Code on the web 适合以下场景:
| 场景 | 说明 |
|---|---|
| 并行任务 | 同时运行多个独立任务,每个有自己的会话和分支,无需管理多个 worktree |
| 本地没有的仓库 | Claude 每次会话都全新克隆,你不需要在本地检出 |
| 不需要频繁指导的任务 | 提交明确的任务后去做别的事,完成后再审查结果 |
| 代码探索和提问 | 了解代码库或追踪功能实现,无需本地检出 |
如果需要本地配置、工具或环境,本地运行 Claude Code 或使用 Remote Control 更合适。
会话如何运行¶
当你提交任务时:
- 克隆和准备:仓库被克隆到 Anthropic 管理的 VM,如果配置了 setup script 则运行。
- 配置网络:根据环境的访问级别设置网络访问。
- 工作:Claude 分析代码、修改文件、运行测试、检查工作。你可以全程观看和引导,也可以离开等完成后再回来。
- 推送分支:当 Claude 到达停止点时推送分支到 GitHub。你审查 diff、留行内评论、创建 PR,或继续发消息。
分支推送后会话不会关闭。PR 创建和后续编辑都在同一个对话中进行。
运行方式对比¶
Claude Code 在所有平台上行为一致,区别在于代码执行位置和本地配置是否可用。 Desktop app 同时支持本地和云端会话,下表中其答案取决于你选择的模式:
| Web | Remote Control | 终端 CLI | Desktop app | |
|---|---|---|---|---|
| 代码运行在 | Anthropic 云端 VM | 你的机器 | 你的机器 | 你的机器或云端 VM |
| 聊天界面 | claude.ai 或移动端 | claude.ai 或移动端 | 终端 | Desktop UI |
| 使用本地配置 | 否,仅仓库 | 是 | 是 | 本地是/云端否 |
| 需要 GitHub | 是,或通过 --cloud 打包本地仓库 |
否 | 否 | 仅云端会话需要 |
| 断开后继续运行 | 是 | 终端保持打开时 | 否 | 取决于会话类型 |
| 权限模式 | Accept edits, Plan, Auto | Manual, Accept edits, Plan | 所有模式 | 取决于会话类型 |
| 网络访问 | 按环境配置 | 你机器的网络 | 你机器的网络 | 取决于会话类型 |
参见终端快速开始、Desktop app 或 Remote Control 文档进行各平台设置。
连接 GitHub¶
这是一次性设置流程。 如果你已经使用 GitHub CLI,也可以从终端完成。
浏览器设置步骤¶
- 访问 claude.ai/code:打开 claude.ai/code 并使用 Anthropic 账号登录。
- 安装 Claude GitHub App:登录后会提示连接 GitHub,按提示安装 Claude GitHub App 并授权访问仓库。云端会话使用已有的 GitHub 仓库,如需新项目请先在 GitHub 上创建空仓库。
- 确认 Default 环境:完成 GitHub 连接后,引导流程会自动创建一个名为 Default 的云端环境;如果引导流程显示环境表单,保持默认值创建同样的 Default 环境即可。环境控制 Claude 在会话期间的网络访问权限和创建会话时运行的内容。Default 使用
Trusted网络访问:会话可以连接常见包注册表和其他允许列表中的域名,其余网络请求会被阻止。参见已安装工具了解无需配置即可使用的内容。
首次项目使用 Default 环境即可。如需更改网络访问、添加环境变量或在会话启动前运行 setup script,可以编辑或创建额外环境。
从终端连接¶
如果你已使用 GitHub CLI (gh),可以不开浏览器完成设置。需要 Claude Code CLI。/web-setup 读取本地 gh token,关联到你的 Claude 账号,并在没有云端环境时自动创建一个。
[!NOTE]
启用了 Zero Data Retention 的组织无法使用/web-setup或其他云端会话功能。如果 GitHub CLI 未安装或未认证,/web-setup会打开浏览器引导流程。
- 认证 GitHub CLI:在 shell 中运行
gh auth login - 登录 Claude:在 Claude Code CLI 中运行
/login,使用 claude.ai 账号登录。如果已经用 claude.ai 账号登录则跳过。API key 认证不算。运行/status确认 Login method 行显示的是 claude.ai 账号。 - 运行 /web-setup:在 Claude Code CLI 中运行
/web-setup
这会将你的 gh token 同步到 Claude 账号。成功后 Claude Code 会输出 Connected as <your-github-username> 并在浏览器中打开 claude.ai/code。如果没有云端环境,/web-setup 会创建一个带 Trusted 网络访问的默认环境。之后可以编辑环境或添加变量。完成后可以从终端用 --cloud 启动云端会话或用 /schedule 设置定期任务。
开始任务¶
GitHub 已连接且环境已创建后,就可以提交任务了。
- 选择仓库和分支:从 claude.ai/code 或 Claude 移动端的 Code 标签,点击输入框下方的仓库选择器选择仓库。每个仓库显示分支选择器,可选择从特性分支而非默认分支开始。可以添加多个仓库在一个会话中跨仓库工作。
- 选择权限模式:模式下拉默认为 Accept edits,Claude 直接修改并推送分支。切换到 Plan 让 Claude 先提出方案等你同意再编辑文件。云端会话不提供 Manual 或 Bypass 权限。参见完整权限模式列表了解各模式的区别。
- 描述任务并提交:输入你想要的内容然后按 Enter。要具体:
- 指明文件或函数:"Add a README with setup instructions" 或 "Fix the failing auth test intests/test_auth.py" 比 "fix tests" 好
- 如果有错误输出就粘贴进来
- 描述预期行为,而非仅描述症状
Claude 克隆仓库、运行 setup script,然后开始工作。每个任务有自己的会话和分支,不需要等一个完成再开始下一个。
预填充会话¶
你可以通过 URL 参数预填充 prompt、仓库和环境。 可用于构建集成,比如在 issue tracker 中添加按钮直接打开 Claude Code 并带上 issue 描述。
| 参数 | 说明 |
|---|---|
prompt |
预填充到输入框的文本。别名 q 也可用 |
prompt_url |
获取 prompt 文本的 URL,用于太长无法嵌入 query string 的 prompt。URL 必须允许跨域请求。设置了 prompt 时忽略 |
repositories |
逗号分隔的 owner/repo slug 列表。别名 repo 也可用 |
environment |
要预选的环境名称或 ID |
示例:
https://claude.ai/code?prompt=Fix%20the%20login%20bug&repositories=acme/webapp
审查和迭代¶
Claude 完成后,审查修改、对特定行留反馈,持续迭代直到 diff 看起来正确。
- 打开 diff 视图:diff 指示器显示整个会话中添加和删除的行数(如
+42 -18),点击打开 diff 视图。 - 留行内评论:在 diff 中选择任意行,输入反馈然后按 Enter。评论会随下一条消息一起发送。Claude 看到的是 "at
src/auth.ts:47, don't catch the error here" 和你的主要指令,你不需要描述问题位置。 - 创建 PR:diff 看起来正确时,点击 diff 视图顶部的 Create PR。可以创建正式 PR、draft PR,或跳转到 GitHub 的编辑页面(带生成的标题和描述)。
- PR 后继续迭代:PR 创建后会话保持活跃。将 CI 失败输出或 reviewer 评论粘贴到聊天中让 Claude 处理。如需 Claude 自动监控 PR,参见 Auto-fix pull requests。
常见问题排查¶
连接 GitHub 后看不到仓库¶
云端会话可以使用已连接 GitHub 账号能看到的任何仓库,不受 Claude GitHub App 安装范围限制。如果仓库缺失,确认已连接的 GitHub 账号在 GitHub 上有该仓库的访问权限。如果你还需要对某个仓库启用 Auto-fix,需要在该仓库上安装 App:在 github.com 打开 Settings → Applications → Claude → Configure,确认仓库列在 Repository access 下。私有仓库需要和公开仓库相同的授权。
页面只显示 GitHub 登录按钮¶
云端会话需要已连接的 GitHub 账号。通过浏览器流程连接,或使用 GitHub CLI 从终端运行 /web-setup。如果你不想连接 GitHub,可以使用 Remote Control 在自己的机器上运行 Claude Code 并从 Web 监控。
"Not available for the selected organization"¶
Enterprise 组织可能需要 Owner 启用 Claude Code on the web。联系 Anthropic 客户团队。
/web-setup 显示 "Not signed in to Claude"¶
如果 /web-setup 提示 "Not signed in to Claude. Run /login first.",说明 CLI 没有有效的 claude.ai 登录。之前的登录过期也会触发此问题。运行 /login,使用 claude.ai 账号登录,然后重新运行 /web-setup。
/web-setup 显示 "No commands match" 或 "Unknown command"¶
/web-setup 在 Claude Code CLI 内运行,不是在 shell 中。先启动 claude,然后在提示符中输入 /web-setup。
如果在 Claude Code 内输入后命令菜单显示 No commands match "/web-setup" 或提交后返回 Unknown command: /web-setup,说明命令因未满足前置条件而被隐藏。通常是因为使用了 API key 或第三方提供商认证而非 claude.ai 订阅。运行 /login 使用 claude.ai 账号登录。Team 和 Enterprise Owner 也可以为其组织禁用 /web-setup,此时该命令会被隐藏,请改用浏览器流程。
在 Team 和 Enterprise 计划中,以下情况也会隐藏该命令:
- 管理员已为你的组织禁用 Claude Code on the web
- 管理员已禁用 Quick web setup 开关
- 你的 Enterprise 组织启用了 Zero Data Retention,导致 Claude Code on the web 不可用
使用 --cloud 或 ultraplan 时提示 "Could not create a cloud environment" 或 "No cloud environment available"¶
远程会话功能在你没有云端环境时会自动创建一个默认环境。如果看到 "Could not create a cloud environment",说明自动创建失败。如果看到 "No cloud environment available",说明你的 CLI 版本早于自动创建功能。两种情况下都可以在 Claude Code CLI 中运行 /web-setup,或从 claude.ai/code 的环境选择器中添加环境。
Setup script 失败¶
setup script 以非零状态退出会阻止会话启动。常见原因:
- 包安装失败,因为注册表不在网络访问级别范围内。
Trusted覆盖大多数包管理器;None阻止所有网络访问 - 脚本引用了全新克隆中不存在的文件或路径
- 本地可用的命令在 Ubuntu 上需要不同调用方式
调试方法:在脚本顶部添加 set -x 查看哪个命令失败。非关键命令添加 || true 以免阻止会话启动。
新会话在 setup 阶段卡住或超时¶
如果新会话卡在 setup script 步骤,或在脚本完成前出现通用容器错误,脚本可能超过了约五分钟的环境缓存构建时间预算。拉取大型 Docker 镜像、同步完整依赖树或下载模型权重等重型步骤容易超出限制,尤其是串行执行时。
修复方法:精简脚本使其在五分钟内可靠完成:
- 用 & 和最终的 wait 并行运行独立安装,而非串行执行
- 将最大的下载移到 SessionStart hook 中后台运行,让会话在下载完成前即可使用
- 移除 setup script 中的长时间重试 sleep,因为停滞的重试循环会计入时间预算
关闭标签页后会话继续运行¶
这是设计如此。 关闭标签页或导航离开不会停止会话。它在后台继续运行直到 Claude 完成当前任务,然后进入空闲状态。从侧边栏可以归档会话从列表中隐藏,或删除会话永久移除。
后续步骤¶
设置完成后可以提交和审查任务。以下页面涵盖后续进阶内容:从终端启动云端会话、调度定期任务、为 Claude 设置持久化指令。