Claude Code on the web runs tasks on Anthropic-managed cloud infrastructure at claude.ai/code. It is in research preview for Pro, Max and Team users, and for Enterprise users with premium or Chat plus Claude Code seats, as of August 2026. Each session runs in an isolated virtual machine that clones your repository from GitHub, persists when you close the browser, and can be monitored from the Claude mobile app. Start one from the terminal with claude --cloud and pull it back down with claude --teleport. Cloud sessions share your account rate limits and carry no separate compute charge.
- Cloud sessions live at claude.ai/code and run in Anthropic-managed VMs, not on your machine.
claude --cloud "task"starts one from your terminal;claude --teleportpulls one back.- They clone from GitHub. Without a GitHub remote, the CLI bundles and uploads the repo instead.
- They cannot reach your local database, your environment, or your untracked files.
- Rate limits are shared with the rest of your Claude usage. No separate compute charge.
- To drive a session on your machine from a browser, that is Remote Control, not this.
Three different wishes
What people mean by "Claude Code in the browser".
| You want | The answer | Where the agent runs |
|---|---|---|
| To run agents without installing anything | Claude Code on the web, at claude.ai/code | An Anthropic-managed VM |
| To steer a session already running on my machine | Remote Control | Your machine |
| A better view than a terminal, locally | The VS Code extension or a desktop workbench | Your machine |
Starting a cloud session
Connect GitHub
Cloud sessions clone code and push branches, so they need repository access. There are two ways to grant it, and either is enough.
| Method | How | Best for |
|---|---|---|
| Claude GitHub App | Authorize it during web onboarding | Teams, and anyone who wants auto-fix on pull requests |
/web-setup | Run it in your terminal to sync your local gh token | Developers who already use the GitHub CLI |
A cloud session can reach any repository the connected GitHub account can see, not only the repositories the App is installed on. Installing the App enables pull-request webhooks; it is not a per-session access control. Restrict access on GitHub itself if you need a narrower boundary.
Submit a task
Pick a repository and describe the work. Onboarding creates a Default cloud environment, the saved configuration that controls network access, environment variables and setup scripts. The same environments apply wherever a cloud session starts: the web, the terminal, the mobile app, and scheduled routines.
Review and iterate
Each session shows a diff indicator such as +42 -18. Open it, leave inline comments on specific lines, and send them with your next message. Create the pull request from the session when the change is right.
Diffs are computed from raw git blob content, so any textconv filters or custom diff drivers configured in your repository do not apply here.
The terminal handoff
This is the part most people miss, and it is the reason the web surface is worth learning even if you live in a terminal. The two directions are not symmetrical.
# start a cloud session for the current repo
claude --cloud "Fix the flaky test in auth.spec.ts"
# three at once, each independent
claude --cloud "Update the API documentation"
claude --cloud "Refactor the logger to use structured output"
# check on them from the CLI
/tasks
# pull one down into this terminal
claude --teleport # interactive picker
claude --teleport <session-id>
--cloudclones from GitHub, not from your disk. Push first if you have local commits, or the VM starts from what the remote has.- Teleport is one-way from the CLI. You can pull a cloud session down; you cannot push an existing terminal session up.
- Teleport gives the terminal its own copy. New work stays local and does not appear back in the cloud session. To keep steering from your phone afterwards, start
/remote-controlin the local session. --teleportis not--resume. Resume reopens a conversation from this machine local history; teleport pulls a cloud session and checks out its branch.
What teleport checks before it resumes a session.
| Requirement | Detail |
|---|---|
| Clean git state | No uncommitted changes; you are prompted to stash |
| Correct repository | A checkout of the same repository, not a fork |
| Branch pushed | The cloud branch must exist on the remote; teleport fetches it |
| Same account | The same claude.ai account that owns the session |
What a cloud session can and cannot reach
| Capability | Cloud session | Local CLI |
|---|---|---|
| Read committed code | Yes | Yes |
| See uncommitted work in progress | Only via the bundle fallback, below | Yes |
| See untracked files | No | Yes |
| Run your test suite | If the environment provisions it | Yes |
| Reach a local database or service | No | Yes |
| Use your local environment variables | Only what the environment defines | Yes |
| Open a pull request | Yes | Yes, via gh |
| Work while your laptop is closed | Yes | No |
| Need any local install | No | Yes |
The bundle fallback, for repositories with no GitHub remote
When you run claude --cloud in a repository that is not connected to GitHub, the CLI bundles the repository and uploads it to the session instead of cloning. Force it with CCR_FORCE_BUNDLE=1 even when GitHub is connected.
- The bundle includes full history across all branches plus uncommitted changes to tracked files.
- Untracked files are not included.
git addanything the session needs to see. - The bundle must be under 100 MB. Larger repositories fall back to the current branch only, then to a single squashed snapshot, and fail only if that is still too big.
- A session created from a bundle cannot push back to a remote unless GitHub authentication is also configured.
Isolation, network, and what it costs
- Isolated VMs. Each session runs in its own Anthropic-managed virtual machine, separated from your machine and from other sessions. Organizations can route sessions to a self-hosted environment instead, where isolation becomes your deployment responsibility.
- Network access is limited by default and can be disabled, per cloud environment. Even with network access off, the session still talks to the Anthropic API, which is a path data can take out of the VM.
- Credentials stay outside the sandbox. In Anthropic-hosted environments, git credentials and signing keys are not inside the container with the agent; authentication goes through a proxy using scoped credentials.
- Billing. Cloud sessions share rate limits with all other Claude and Claude Code usage on your account, and running several in parallel consumes them proportionately. There is no separate compute charge for the VM.
Constraints worth knowing before you build a workflow on this.
| Constraint | What it means |
|---|---|
| GitHub is required for clone and PR | GitLab and Bitbucket repos can be sent as a bundle, but the session cannot push back |
| IP allowlisting | If your organization allowlists IPs, Anthropic-hosted sessions fail to authenticate; ask support for an exemption |
| Zero Data Retention | Organizations with ZDR cannot use /web-setup or other cloud session features |
| Some commands are terminal-only | /plugin and /resume do not run in a cloud session; /clear is replaced by starting a new session |
| Environment expiry | Sessions stop after inactivity and the VM is reclaimed; reopening restores the conversation |
One workflow deserves a mention because it is the strongest argument for the web surface. With the GitHub App installed, Claude can watch a pull request and respond automatically to CI failures and review comments, pushing a fix when one is clear and asking you when a comment is ambiguous. Turn it on from the CI status bar in a web session, or run /autofix-pr from your terminal while on the branch. If your repository has comment-triggered automation such as Atlantis or custom Actions on issue_comment, read that twice before enabling it: replies are posted with your GitHub account.
Driving a local session from a browser
If what you actually want is your own machine doing the work while you watch from a laptop in another room or a phone on a train, that is a different architecture and it has its own name.
claude --remote-control "api migration"
# or from inside a running session
/remote-control
The session keeps running on your machine, so your filesystem, your MCP servers, your tools and your project configuration stay available, and typing @ autocompletes paths from your local project. It makes outbound HTTPS requests only and opens no inbound ports. It needs a claude.ai login: API keys and setup-token credentials are refused. The transcript is stored on Anthropic servers while connected so the conversation stays in sync across devices.
The three architectures, compared honestly.
| Cloud session | Remote Control | Local only | |
|---|---|---|---|
| Local install needed | No | Yes | Yes |
| Sees untracked local files | No | Yes | Yes |
| Reaches local services | No | Yes | Yes |
| Works with the laptop closed | Yes | No | No |
| Code leaves your machine | Yes | Transcript only | No |
| Runs several tasks in parallel | Yes | Server mode | One per terminal |
Questions people ask
Yes. Claude Code on the web runs at claude.ai/code on Anthropic-managed cloud infrastructure. As of August 2026 it is in research preview for Pro, Max and Team users, and for Enterprise users with premium or Chat plus Claude Code seats.
On the normal GitHub path, no: it clones what the remote has. When the repository has no GitHub remote, the CLI bundles and uploads it instead, and that bundle does include uncommitted changes to tracked files. Untracked files are never included, so git add anything new first.
Run claude --cloud "your task" in the repository. It creates a session on claude.ai that clones your current branch from GitHub, so push local commits first. Monitor progress with /tasks.
Run claude --teleport for an interactive picker, or pass the session id to resume one directly. Your working directory must be clean, you must be in the same repository rather than a fork, the branch must be pushed, and you must be on the same claude.ai account.
There is no separate compute charge for the cloud VM. Cloud sessions consume the same rate limits as the rest of your Claude and Claude Code usage, so running several in parallel uses them proportionately.
Either run a cloud session and open it in the Claude mobile app, or start a local session with claude --remote-control and steer it from the app. The first runs in a VM against your GitHub remote; the second runs on your own machine.
Yes. Remote Control connects claude.ai/code and the Claude mobile apps to a session running on your machine. Execution and filesystem access stay local; the browser is a window onto it.
Partly. Repository cloning and pull-request creation require GitHub. A non-GitHub repository can be sent to a cloud session as a local bundle, but the session cannot push results back to your remote.
Sources
Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.