Claude Code Web 版适合在浏览器或手机上把 GitHub 仓库交给 Anthropic 云端 VM 执行任务,提交后会自动克隆、修改并推送分支供你审查。连接 GitHub、创建环境、配置网络访问和运行 /web-setup 的关键限制都在这里,便于排查仓库不显示、环境创建失败或会话卡在 setup 的问题。
Claude Code Web 版怎么连接 GitHub 和开始任务
Claude Code on the web 让你在浏览器或手机上提交开发任务,代码在 Anthropic 托管的云端基础设施里运行,不需要在本地机器上搭环境。你需要先连接 GitHub,然后创建云端环境,Claude 才能在隔离 VM 中克隆仓库、运行脚本、修改代码并推送分支。
它适合这些场景:
- 并行任务:同时跑多个互不依赖的任务,每个任务有自己的会话和分支
- 本地没有检出的仓库:Claude 每次都会重新克隆仓库,不要求你本地有 checkout
- 不需要频繁干预的任务:把任务交出去,完成后再回来审查结果
- 代码问答和探索:不用本地检出也能理解代码库或追踪功能实现
如果任务需要本地配置、本地工具或本地环境,Claude Code 本地运行或者 Remote Control 更合适。
会话是如何运行的
当你提交任务时:
- 克隆和准备:仓库会被克隆到 Anthropic 托管的 VM,如果你配置了 setup script 就会先运行
- 配置网络:网络访问按环境的 access level 设置
- 工作:Claude 分析代码、修改文件、运行测试并检查结果。你可以一直盯着,也可以先离开
- 推送分支:到达停止点后,Claude 会把分支推送到 GitHub。你可以查看 diff、加行内评论、创建 PR,或者继续发消息让它接着做
分支推送后,会话不会结束。PR 创建和后续修改仍在同一个对话里完成。
比较不同运行方式
Claude Code 在各处的行为一致,差别在于代码在哪里执行,以及能不能用到你的本地配置。Desktop app 同时支持本地和云端会话,所以表格里的结果取决于你选哪种会话。
| On the web | Remote Control | Terminal CLI | Desktop app | |
|---|---|---|---|---|
| Code runs on | Anthropic cloud VM | Your machine | Your machine | Your machine or cloud VM |
| You chat from | claude.ai or mobile app | claude.ai or mobile app | Your terminal | The Desktop UI |
| Uses your local config | No, repo only | Yes | Yes | Yes for local, no for cloud |
| Requires GitHub | Yes, or bundle a local repo via --remote |
No | No | Only for cloud sessions |
| Keeps running if you disconnect | Yes | While terminal stays open | No | Depends on session type |
| Permission modes | Auto accept edits, Plan | Ask, Auto accept edits, Plan | All modes | Depends on session type |
| Network access | Configurable per environment | Your machine’s network | Your machine’s network | Depends on session type |
如果你要配置其他运行方式,可以看 terminal quickstart、Desktop app 或 Remote Control。
连接 GitHub 并创建环境
设置只需要做一次。如果你已经在用 GitHub CLI,也可以直接从终端完成,不用开浏览器。
- 打开 claude.ai/code,用 Anthropic 账号登录。
- 登录后,页面会提示你连接 GitHub。按提示安装 Claude GitHub App,并授权访问你的仓库。云端会话支持现有 GitHub 仓库;如果你要从零开始建项目,先在 GitHub 上创建一个空仓库:https://github.com/new
- 连接 GitHub 后,会要求你创建云端环境。环境决定了会话能访问哪些网络、以及新会话创建时会运行什么。
表单字段如下:
- Name:显示名称。适合你为不同项目或不同访问级别创建多个环境时使用
- Network access:控制会话能访问哪些互联网资源。默认值
Trusted允许连接 common package registries,例如 npm、PyPI 和 RubyGems,但会阻止一般互联网访问 - Environment variables:可选变量,每个会话都能用,格式是
.env。值不要加引号,因为引号会被当成值的一部分保存。任何能编辑这个环境的人都能看到这些变量 - Setup script:可选的 Bash 脚本,在 Claude Code 启动前运行。用它安装云端 VM 默认没有的系统工具,比如
apt install -y gh。脚本结果会被 cached,所以不会每次会话都重跑。更多示例和排错技巧见 Setup scripts
第一次使用时,直接保留默认值,点 Create environment 就行。后面可以再编辑环境,或者为不同项目新建更多环境。
从终端连接
如果你已经在使用 GitHub CLI(gh),可以不用打开浏览器完成 Claude Code Web 版设置。这需要先安装 Claude Code CLI。/web-setup 会读取你本地的 gh token,把它绑定到 Claude 账号;如果你还没有云端环境,它还会创建一个默认环境。
已启用 Zero Data Retention 的组织不能使用
/web-setup或其他云端会话功能。如果没有安装或登录 GitHub CLI,/web-setup会改为打开浏览器里的 onboarding 流程。
-
在 shell 里先登录 GitHub CLI,如果还没登录:
gh auth login -
在 Claude Code CLI 里运行
/login登录你的 claude.ai 账号。如果你已经登录过,可以跳过这一步。 -
在 Claude Code CLI 里运行:
/web-setup
这会把你的 gh token 同步到 Claude 账号。如果你还没有云端环境,/web-setup 会创建一个默认环境,使用 Trusted 网络访问且不带 setup script。之后你可以再编辑环境或添加变量。完成后,你就能在终端里用 --remote 启动云端会话,或者用 /schedule 配置周期任务。
启动任务
GitHub 连接好、环境也建好后,就可以提交任务了。
-
从 claude.ai/code 或 Claude mobile app 的 Code 标签页里,点击输入框下方的仓库选择器,挑一个 Claude 要工作的仓库。每个仓库旁边都有分支选择器,你可以改成从某个 feature branch 开始。一个会话里也可以添加多个仓库,在它们之间一起工作。
-
输入框旁边的模式下拉菜单默认是 Auto accept edits,这种模式下 Claude 会直接修改并推送分支,不会停下来逐步确认。如果你想让 Claude 先给方案、等你点头再改文件,切到 Plan mode。云端会话不提供 Ask permissions、Auto mode 或 Bypass permissions。完整列表见 Permission modes。
-
输入你要做的事,然后按 Enter。描述要具体:
- 写明文件名或函数名:
Add a README with setup instructions、Fix the failing auth test in tests/test_auth.py比单纯写fix tests更好 - 如果有错误输出,直接贴出来
- 描述你期望的行为,不要只写症状
- 写明文件名或函数名:
Claude 会克隆仓库、在需要时运行 setup script,然后开始处理。每个任务都有自己的会话和分支,所以你不需要等一个任务结束再开下一个。
预填充会话
你可以在 claude.ai/code 的 URL 后面加查询参数,预先填好新会话的提示语、仓库和环境。这个方式适合做集成,比如在工单系统里放一个按钮,点一下就用工单内容打开 Claude Code。
| Parameter | Description |
|---|---|
prompt |
Prompt text to prefill in the input box. The alias q is also accepted. |
prompt_url |
URL to fetch the prompt text from, for prompts too long to embed in a query string. The URL must allow cross-origin requests. Ignored when prompt is also set. |
repositories |
Comma-separated list of owner/repo slugs to preselect. The alias repo is also accepted. |
environment |
Name or ID of the environment to preselect. |
每个值都要做 URL 编码。下面的示例会打开一个已经填好提示语并选好仓库的表单:
https://claude.ai/code?prompt=Fix%20the%20login%20bug&repositories=acme/webapp
审查和迭代
Claude 完成后,查看改动,在具体代码行上给反馈,然后继续迭代,直到 diff 符合预期。
- diff 指示器会显示这次会话里新增和删除的行数,比如
+42 -18。点它可以打开 diff 视图,左边是文件列表,右边是改动内容 - 在 diff 里选中任意一行,输入你的反馈,然后按 Enter。评论会先排队,等你下一次发消息时一起发送。Claude 会把“在
src/auth.ts:47这里不要捕获这个错误”这类行内评论和你的主指令一起看到,不用你再重复说明位置 - 当 diff 看起来没问题时,点击 diff 视图顶部的 Create PR。你可以直接创建完整 PR、草稿 PR,或者跳转到 GitHub 的 compose 页面,并自动带上标题和描述
- PR 创建后,会话还会保持在线。你可以把 CI 失败输出或 reviewer 评论贴到聊天里,让 Claude 继续处理。想让 Claude 自动监控 PR,见 Auto-fix pull requests
排查设置问题
连接 GitHub 后没有出现仓库
云端会话可以使用连接到的 GitHub 账号能看到的任何仓库,不要求 Claude GitHub App 安装在那个仓库上。如果仓库没出现,先确认你连接的 GitHub 账号本身就有这个仓库的访问权限。若你还想对某个仓库启用 Auto-fix,还需要把 App 安装到该仓库:在 github.com 打开 Settings → Applications → Claude → Configure,确认 Repository access 里列出了该仓库。私有仓库需要和公开仓库一样的授权。
页面只显示 GitHub 登录按钮
云端会话需要先连接 GitHub 账号。你可以按上面的浏览器流程连接,或者如果你在用 GitHub CLI,就从终端运行 /web-setup。如果你不想连接 GitHub,也可以看 Remote Control,在自己的机器上运行 Claude Code,再从网页监控它。
“Not available for the selected organization”
Enterprise 组织可能需要管理员先启用 Claude Code on the web。联系你的 Anthropic 客户团队。
/web-setup 返回 “Unknown command”
/web-setup 是在 Claude Code CLI 里运行的,不是在你的 shell 里。先启动 claude,然后在提示符里输入 /web-setup。
如果你是在 Claude Code 里输入的,还是看到这个错误,那通常是因为你的 CLI 版本低于 v2.1.80,或者你登录的是 API key / 第三方 provider,而不是 claude.ai subscription。先运行 claude update,再用 /login 登录你的 claude.ai 账号。
使用 --remote 或 ultraplan 时提示 “Could not create a cloud environment” 或 “No cloud environment available”
Remote-session 功能会在你没有云端环境时自动创建一个默认环境。如果看到 “Could not create a cloud environment”,说明自动创建失败了。{/* max-version: 2.1.100 */}如果看到 “No cloud environment available”,说明你的 CLI 版本还不支持自动创建。无论哪种情况,都可以在 Claude Code CLI 里运行 /web-setup 手动创建,或者访问 claude.ai/code 按上面的 Create your environment 步骤操作。
Setup script 失败
setup script 返回了非零退出码,会阻止会话启动。常见原因有:
- 安装包失败,因为对应 registry 不在你的 network access level 里。
Trusted覆盖大多数包管理器,None会全部阻止 - 脚本引用了 fresh clone 中不存在的文件或路径
- 某个本地可用命令在 Ubuntu 上需要不同写法
排错时,可以在脚本顶部加 set -x 来看是哪条命令失败。对于非关键命令,可以在后面加 || true,避免它阻塞会话启动。
新会话在 setup 阶段卡住或超时
如果新会话卡在 setup script 步骤,或者在脚本执行完之前就报通用容器错误,通常是 setup script 超过了大约五分钟的环境缓存构建时间。像拉取大体积 Docker 镜像、同步完整依赖树、下载模型权重这类重任务,尤其是串行执行时,很容易超时。
解决办法是把脚本压缩到能稳定在五分钟内完成:
- 用
&并行执行独立安装,再用最后一个wait收尾,而不是串行执行 - 把最大的下载移出 setup script,放到会后台启动的 SessionStart hook 里,这样会话可以先可用,下载随后再完成
- 去掉 setup script 里的长时间重试睡眠,因为卡住的重试循环也会计入这五分钟预算
关闭标签页后会话还在运行
这是正常设计。关闭标签页或跳转页面不会停止会话。它会继续在后台运行,直到 Claude 完成当前任务,然后进入空闲状态。你可以在侧边栏里归档会话把它从列表里隐藏,或者删除会话永久移除。
下一步
现在你已经能提交和审查任务了,接下来可以了解如何从终端启动云端会话、设置周期任务,以及给 Claude 添加长期指令。
- Use Claude Code on the web:完整参考,包括把会话“传送”到终端、setup script、环境变量和网络配置
- Routines:按计划、通过 API 调用,或在 GitHub 事件触发时自动执行工作
- CLAUDE.md:给 Claude 提供会话开始时加载的持久指令与上下文
- 在 Claude Code CLI 里运行
/mobile可以显示二维码,安装 Claude mobile app 后可在手机上监控会话
常见问题
Claude Code Web 版和本地 CLI 有什么区别?
Web 版在浏览器里运行,不需要本地安装,适合快速开始、临时排查和不方便打开终端的场景。本地 CLI 更适合需要本地文件、钩子、MCP 服务器或本地环境的工作流。两者使用的是同一套 Claude 能力,差别主要在执行位置和可用上下文。
Web 版 Claude Code 可以和本地项目共享同一个仓库吗?
可以。只要两边连接的是同一个 GitHub 仓库,本地和 Web 版就能访问同一份代码。但本地配置文件,比如 settings、hooks,不会自动同步到 Web 版。
Web 版 Claude Code 需要什么浏览器?
支持主流现代浏览器,包括 Chrome、Firefox、Safari 和 Edge。为了体验更稳定,推荐使用 Chrome 或基于 Chromium 的浏览器。需要稳定的网络连接,不支持离线使用。