Claude Code on the Web: How Cloud Sessions Work
October 5, 2026

You hand Claude Code a task, close the laptop, and go to lunch. When you come back, there's a branch waiting for review. That is Claude Code on the web, and it works because the session never ran on your laptop in the first place.
Anthropic's documentation now calls these cloud sessions and describes the browser version at claude.ai/code as "also called Claude Code on the web." Same thing, newer name. If you searched for "Claude Code in the cloud" or "Claude Code cloud sessions," you're in the right place.
This post covers what a cloud session is, the four ways to start one, how GitHub and pull requests fit in, and how work moves between the cloud and your terminal. Everything below comes from Anthropic's docs as of October 2026. Plan availability changes, so check Anthropic's own pages for yours.
What Claude Code on the web is
Anthropic's docs define it plainly: a cloud session is a Claude Code session that runs on cloud infrastructure instead of on your machine. By default that infrastructure is managed by Anthropic. Organizations can route sessions to their own self-hosted environment instead.
Per the cloud quickstart, cloud sessions are available on Pro, Max, and Team plans, and for Enterprise users with premium seats or Chat + Claude Code seats.
The simplest way to see the difference is a side-by-side:
| Cloud session | Local session | Local session with Remote Control | |
|---|---|---|---|
| Code runs on | A cloud VM, Anthropic-managed by default | Your machine | Your machine |
| Uses your local config | No, only what's in the repo | Yes | Yes |
| Keeps running if you disconnect | Yes | No | Only while the session stays open on your machine |
| Needs GitHub | Yes, or a local repo uploaded with --cloud | No | No |
Remote Control is the one people confuse with cloud sessions. It lets you drive a session on your own computer from your phone or browser. The code still runs locally, so your machine has to stay on. A cloud session doesn't have that constraint.
Four ways to start one
The docs list the surfaces where you can start a cloud session:
- Browser. Go to claude.ai/code and sign in with your claude.ai account.
- Mobile. Open the Code tab in the Claude app. Anthropic's mobile page says the app is "a client for Claude Code sessions rather than a place where code runs." Your phone steers; the cloud does the work.
- Desktop app. Pick Cloud instead of Local when you start a session in the Code tab.
- Terminal. Run
claude --cloudwith a task description.
Routines, which run on a schedule or in response to events, also run as cloud sessions.
The first three need no terminal at all. If avoiding the command line is your goal, we covered which surfaces skip the CLI in a separate post. The fourth obviously needs the CLI, and so does the optional /web-setup shortcut described next.
Setup: GitHub, an environment, and network rules
Two pieces have to exist before your first task runs.
Connect GitHub
Cloud sessions clone your code from GitHub and push branches back. The docs describe two ways to connect:
- The Claude GitHub App, authorized during browser onboarding. A session can clone any public repository, but can work in a private one only if the Claude GitHub App is installed on it.
/web-setup, run inside the CLI. It sends your localghtoken to your Claude account, so sessions can reach any repository that token can reach, no app install needed.
Your credentials don't sit inside the session. In Anthropic-hosted environments, the docs say GitHub credentials stay encrypted on Anthropic's servers and never enter the VM; a proxy attaches them to GitHub requests on the server side. The proxy also rejects branch deletions and pushes of anything other than a branch.
Not on GitHub? The docs say repository cloning and pull request creation require GitHub. A GitLab or Bitbucket repo can be uploaded as a local bundle with CCR_FORCE_BUNDLE=1, but the session can't push results back to that remote.
The environment
Every session runs in a cloud environment: a saved configuration for network access, environment variables, and an optional setup script. If you don't have one, onboarding creates a Default environment with Trusted network access.
Network access comes in four levels, per the environment docs:
| Level | What sessions can reach |
|---|---|
| None | No outbound access through the session's network |
| Trusted | An allowlist: package registries, GitHub, cloud SDKs |
| Full | Any domain |
| Custom | Your own allowlist, optionally plus the defaults |
Even at None, a few paths stay open: GitHub through its proxy, MCP connectors you've enabled, and the Anthropic API for Claude Code's own requests. The docs also warn that with network access disabled, Claude Code can still talk to the Anthropic API, which may allow data to leave the VM. Don't treat None as an air gap.
Each session gets a fresh Ubuntu 24.04 x86_64 VM with your repo cloned and common toolchains pre-installed. Anything you only configured on your own machine isn't there. Your repo's CLAUDE.md, .claude/settings.json hooks, and .mcp.json come along because they're part of the clone, but your user-level ~/.claude/CLAUDE.md and MCP servers added with claude mcp add at the default scope don't. The docs' advice is to commit the configuration you want the cloud to have.
What happens when you submit a task
Per the quickstart, the sequence is:
- The repo is cloned to a VM and your setup script runs, if you configured one.
- Network access is set from the environment's level.
- Claude reads code, makes changes, runs tests, and checks its work. You can watch and steer, or leave.
- At a stopping point, Claude pushes its branch to GitHub.
You then review. Each session shows a diff indicator such as +42 -18. Open it, leave inline comments on specific lines, and they're bundled into your next message. When the diff looks right, Create PR at the top of the diff view opens a full PR, a draft, or GitHub's compose page with a generated title and description.
The session doesn't end there. The docs say PR creation and further edits happen in the same conversation. You can also turn on auto-fix, where Claude watches the PR and responds to CI failures and review comments. That requires the Claude GitHub App on the repository, and the docs warn that Claude's replies post under your GitHub account, which can trigger comment-based automation like Atlantis or custom issue_comment workflows.
Permission modes are narrower than locally. Cloud sessions offer Accept edits and Plan, plus Auto where your organization and model allow it. Manual and Bypass permissions aren't offered.
What keeps running when you close the tab
The quickstart is explicit: closing the tab or navigating away doesn't stop the session. It keeps working until Claude finishes the current task, then idles. If Claude asks a question while you're away, you can answer when you return, up until the environment expires.
There's a limit. The environment docs say that after a few minutes of inactivity a session's VM pauses with its files saved, and a paused VM can later be reclaimed. Reopen the session from claude.ai/code and a fresh VM is provisioned. Your conversation history is restored; background work still running when the VM was reclaimed, such as subagents and shell commands, is not.
You can also run several tasks at once. Each task gets its own session and its own branch, so three bug fixes don't need three worktrees on your laptop.
Moving sessions between the cloud and your terminal
This is where people blur directions, so here they are exactly as the docs state them.
| You want to | Do this | Direction |
|---|---|---|
| Start new work in the cloud from a terminal | claude --cloud "task" | Terminal to a new cloud session |
| Continue a cloud session in your terminal | claude --teleport | Cloud session pulled down to your terminal |
| Send a session you started on the Desktop app up to the cloud | Session menu, Open in, then Cloud | Local Desktop session pushed up |
Three details from the docs matter here.
--cloud doesn't upload your running session. It creates a new one. The VM clones your GitHub remote at your current branch, not your local checkout, so push your commits first. The docs' own summary: "From the CLI, session handoff is one-way." You can pull a cloud session into your terminal, but you can't push an existing terminal session to the cloud. (There's a separate form, claude -p "message" --cloud <session-id>, that queues a follow-up message into a cloud session that already exists.)
--teleport makes a copy. Claude checks you're in the right repository, fetches the cloud session's branch, and loads the conversation history. New work in your terminal stays local and doesn't appear in the cloud session. It needs a clean git state (it offers to stash), a checkout of the same repository rather than a fork, a pushed branch, and the same claude.ai account. Inside a terminal session, /teleport opens the same picker.
The upward move lives in Desktop. The app's Continue in another surface section says selecting Cloud under Open in continues the session as a cloud session, with your conversation carried over as a summary. SSH and WSL sessions can't be moved this way.
One more requirement for both flags: they need a claude.ai account. The docs say --cloud isn't available when Claude Code runs through Amazon Bedrock, Google Cloud's Agent Platform, or another third-party provider, and --teleport doesn't work with API key authentication.
Where cloud sessions fall short
- Local-only work. If the task needs your local files, tools, or environment, the quickstart points you to a local session or Remote Control instead.
- Heavy workloads. The VM has approximate resource ceilings that the docs say may change, and it may stop tasks that need significantly more memory, such as large builds.
- Shared rate limits. Cloud sessions share limits with the rest of your Claude and Claude Code usage, so parallel tasks consume them faster. The docs say there's no separate compute charge for the VM.
- No interactive login. Anything needing browser-based sign-in, like AWS SSO, can't run in a cloud session.
- IP allowlists. If your organization enforces one, Anthropic-hosted cloud sessions fail with an authentication error until Anthropic support exempts them.
Where Taku fits
Cloud sessions are strongest when you have a GitHub repository and a well-defined task: fix this test, trace this feature, update this dependency. Taku isn't built around that workflow.
Taku is an AI-native desktop workspace for a different problem: you saw an AI setup someone already got working, such as an app, a skill, or a workflow, and you want it running on your machine without rebuilding their environment first. You mirror it, run it, remix it, and keep it. The free app library is a good place to look. Taku is in Beta, and the Mac app is available now.
Use cloud sessions for code changes you want reviewed as PRs. Use Taku when the thing you want is the working setup itself.
FAQ
Is Claude Code on the web the same as claude.ai/code?
Yes. Anthropic's docs treat the two names as one product and group it with the mobile app, the Desktop app's Cloud option, and claude --cloud under the single name "cloud sessions."
Do I need GitHub to use it?
For the normal flow, yes. Cloning and PR creation require GitHub. Running claude --cloud in a repo with no remote, or one the Claude GitHub App isn't installed on, uploads a bundle of the local repository instead, but a non-GitHub remote can't be pushed back to.
What happens when I close the browser tab?
Nothing stops. The session keeps running until Claude finishes the current task, then idles. After a stretch of inactivity the VM pauses and can later be reclaimed; reopening the session provisions a fresh one with your conversation history restored.
Can I move a terminal session to the cloud?
Not from the CLI. claude --cloud starts a new cloud session, and --teleport only pulls cloud sessions down. The Desktop app's Open in menu is the documented way to send an existing local session up.
Does a cloud session see my local CLAUDE.md and MCP servers?
Only what's in the repo. A CLAUDE.md and .mcp.json committed to the repository load; your user-level ~/.claude/CLAUDE.md and MCP servers added locally with claude mcp add don't.
Is it a different tool from the Claude Code CLI?
No. The quickstart says Claude Code behaves the same everywhere; what changes is where the session runs and whether your local configuration is available. If you're deciding between Claude's chat app and Claude Code, our Claude Code vs Claude Desktop comparison covers the tabs.