Claude Code on the web is in research preview for Pro, Max, and Team users, and for Enterprise users with premium seats or Chat + Claude Code seats.
- Cloud environments: where sessions run, and where to configure that
- GitHub authentication options: two ways to connect GitHub
- Move tasks between web and terminal with
--cloudand--teleport - Work with sessions: reviewing, sharing, archiving, deleting
- Auto-fix pull requests: respond automatically to CI failures and review comments
- Security and isolation: how sessions are isolated
- Limitations: rate limits and platform restrictions
Cloud environments
Every cloud session runs in a cloud environment, the saved configuration that controls network access, environment variables, and setup scripts. When you onboard, Claude Code sets up a Default environment with Trusted network access. See The Default environment for how it’s created and how sessions choose an environment when you have more than one. The same environments apply wherever you start a cloud session: the web, the terminal, Claude Tag, routines, and the mobile and Desktop apps. Claude Tag channel sessions use organization-shared environments only. See Configure cloud environments to change what an environment allows, set variables, or add a setup script, and Installed tools for what sessions include without any configuration.GitHub authentication options
Cloud sessions need access to your GitHub repositories to clone code and push branches. You can grant access in two ways:With either method, a cloud session can access any repository the connecting GitHub account can see, not just the repositories the Claude GitHub App is installed on. App installation enables PR webhooks for Auto-fix; it is not a session-level access control. To restrict which repositories your team can reach from cloud sessions, restrict access on GitHub itself, for example by limiting team or repository membership for the connected GitHub accounts.
/schedule checks for either form of access and prompts you to run /web-setup if neither is configured. See Connect from your terminal for the /web-setup walkthrough.
The GitHub App is required for Auto-fix, which uses the App to receive PR webhooks. If you connect with /web-setup and later want Auto-fix, install the App on those repositories.
Team and Enterprise Owners can disable /web-setup with the Quick web setup toggle at claude.ai/admin-settings/claude-code.
Organizations with Zero Data Retention enabled can’t use
/web-setup or other cloud session features.Move tasks between web and terminal
These workflows require the Claude Code CLI signed in to the same claude.ai account. You can start new cloud sessions from your terminal, or pull cloud sessions into your terminal to continue locally. Cloud sessions persist even if you close your laptop, and you can monitor them from anywhere including the Claude mobile app. The--cloud and --teleport flags don’t appear in claude --help output, but the CLI accepts them as shown below.
From the CLI, session handoff is one-way: you can pull cloud sessions into your terminal with
--teleport, but you can’t push an existing terminal session to the web. The --cloud flag creates a new cloud session for your current repository. The Desktop app provides a Continue in menu that can send a local session to the web.From terminal to web
Start a cloud session from the command line with the--cloud flag:
--cloud works with a single repository at a time. The task runs in the cloud while you continue working locally. The older --remote spelling still works as a deprecated alias for --cloud.
As of v2.1.195, the CLI shows a live checklist of setup steps, such as cloning the repository and running your setup script, while the cloud container starts. Messages you type while the container is provisioning are queued and sent once the session is ready.
--cloud creates cloud sessions. --remote-control is unrelated: it exposes a local CLI session for monitoring from the web. See Remote Control./tasks in the Claude Code CLI to check progress, or open the session on claude.ai or the Claude mobile app to interact directly. From there you can steer Claude, provide feedback, or answer questions as in any other conversation.
If Claude asks a question and the session sits idle, you can still answer when you come back, up to environment expiry, and the session continues from your answer.
Tips for cloud tasks
Plan locally, execute remotely: for complex tasks, start Claude in plan mode to collaborate on the approach, then send work to the cloud:--cloud command creates its own cloud session that runs independently. You can start multiple tasks and they’ll all run simultaneously in separate sessions:
/tasks in the Claude Code CLI. When a session completes, you can create a PR from the web interface or teleport the session to your terminal to continue working.
Send local repositories without GitHub
When you runclaude --cloud from a repository that isn’t connected to GitHub, Claude Code bundles your local repository and uploads it directly to the cloud session. The bundle includes your full repository history across all branches, plus any uncommitted changes to tracked files.
This fallback activates automatically when GitHub access isn’t available. To force it even when GitHub is connected, set CCR_FORCE_BUNDLE=1:
- The directory must be a git repository with at least one commit
- The bundled repository must be under 100 MB. Larger repositories fall back to bundling only the current branch, then to a single squashed snapshot of the working tree, and fail only if the snapshot is still too large
- Untracked files are not included; run
git addon files you want the cloud session to see - Sessions created from a bundle can’t push back to a remote unless you also have GitHub authentication configured
From web to terminal
Pull a cloud session into your terminal using any of these:- Using
--teleport: from the command line, runclaude --teleportfor an interactive session picker, orclaude --teleport <session-id>to resume a specific session directly. If you have uncommitted changes, you’ll be prompted to stash them first. - Using
/teleport: inside an existing CLI session, run/teleportor/tpto open the same session picker without restarting Claude Code. - From
/tasks: run/tasksto see your background sessions, then presstto teleport into one. - From the web interface: select Open in CLI to copy a command you can paste into your terminal.
/remote-control in the local session.
--teleport is distinct from --resume. --resume reopens a conversation from this machine’s local history and doesn’t list cloud sessions; --teleport pulls a cloud session and its branch.
Teleport requirements
Teleport checks these requirements before resuming a session. If any requirement isn’t met, you’ll see an error or be prompted to resolve the issue.--teleport is unavailable
Teleport requires claude.ai subscription authentication. If you’re authenticated via API key, run /login to sign in with your claude.ai account instead. On Amazon Bedrock, Google Cloud’s Agent Platform, and Microsoft Foundry, --teleport stops with Cloud sessions aren't available with <provider> because cloud sessions run on Anthropic’s infrastructure and aren’t available through those providers. If you’re already signed in via claude.ai and --teleport is still unavailable, your organization may have disabled cloud sessions.
Work with sessions
Sessions appear in the sidebar at claude.ai/code. From there you can review changes, share with teammates, archive finished work, or delete sessions permanently.Manage context
Cloud sessions support built-in commands that produce text output. Commands that only run in the terminal interface, such as/plugin or /resume, aren’t available. Commands that open a picker or panel in the terminal behave differently in cloud sessions:
/model,/effort,/fast,/color, and/rename: pass the value as an argument, for example/model sonnet, instead of opening the terminal picker or slider. The argument forms require Claude Code v2.1.205 or later in the session’s environment and follow each command’s availability notes:/effortreportsNot appliedwhile a model’s launch-default effort hold is in force, and/fastworks only in a session that started with fast mode turned on./config: on the web, opens the Claude Code section of your settings instead of setting a value, and text after the command, includingkey=value, is ignored. To change settings for a cloud session, use environment variables or commit settings files to the repository.
Auto-compaction runs automatically when the context window approaches capacity. To trigger it earlier, set
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE in your environment variables. For example, CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70 compacts at 70% capacity instead of waiting until the window is nearly full. To change the effective window size for compaction calculations, use CLAUDE_CODE_AUTO_COMPACT_WINDOW.
Subagents work the same way they do locally. Claude can spawn them with the Task tool to offload research or parallel work into a separate context window, keeping the main conversation lighter. Subagents defined in your repo’s .claude/agents/ are picked up automatically.
Agent teams are off by default but can be enabled by adding CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 to your environment variables.
Review changes
Each session shows a diff indicator with lines added and removed, like+42 -18. Select it to open the diff view, leave inline comments on specific lines, and send them to Claude with your next message. See Review and iterate for the full walkthrough including PR creation. To have Claude monitor the PR for CI failures and review comments automatically, see Auto-fix pull requests.
Share sessions
To share a session, toggle its visibility according to the account types below. After that, share the session link as-is. Recipients see the latest state when they open the link, but their view doesn’t update in real time.Share from an Enterprise or Team account
For Enterprise and Team accounts, the two visibility options are Private and Team. Team visibility makes the session visible to other members of your claude.ai organization. Claude in Slack sessions are automatically shared with Team visibility. Repository access verification is enabled by default, based on the GitHub account connected to the recipient’s account. Your account’s display name is visible to all recipients with access.Share from a Max or Pro account
For Max and Pro accounts, the two visibility options are Private and Public. Public visibility makes the session visible to any user logged into claude.ai. Check your session for sensitive content before sharing. Sessions may contain code and credentials from private GitHub repositories. Repository access verification is not enabled by default. To require recipients to have repository access, or to hide your name from shared sessions, go to Settings > Claude Code > Sharing settings.Archive sessions
You can archive sessions to keep your session list organized. Archived sessions are hidden from the default session list but can be viewed by filtering for archived sessions. To archive a session, hover over the session in the sidebar and select the archive icon.Delete sessions
Deleting a session permanently removes the session and its data. This action can’t be undone. You can delete a session in two ways:- From the sidebar: filter for archived sessions, then hover over the session you want to delete and select the delete icon
- From the session menu: open a session, select the dropdown next to the session title, and select Delete
Auto-fix pull requests
Claude can watch a pull request and automatically respond to CI failures and review comments. Claude subscribes to GitHub activity on the PR, and when a check fails or a reviewer leaves a comment, Claude investigates and pushes a fix if one is clear.Auto-fix requires the Claude GitHub App to be installed on your repository. If you haven’t already, install it from the GitHub App page or when prompted during setup.
- PRs created in Claude Code on the web: open the CI status bar and select Auto-fix
- From your terminal: run
/autofix-prwhile on the PR’s branch. Claude Code detects the open PR withgh, spawns a web session, and turns on auto-fix in one step - From the mobile app: tell Claude to auto-fix the PR, for example “watch this PR and fix any CI failures or review comments”
- Any existing PR: paste the PR URL into a session and tell Claude to auto-fix it
How Claude responds to PR activity
When auto-fix is active, Claude receives GitHub events for the PR including new review comments and CI check failures. For each event, Claude investigates and decides how to proceed:- Clear fixes: if Claude is confident in a fix and it doesn’t conflict with earlier instructions, Claude makes the change, pushes it, and explains what was done in the session
- Ambiguous requests: if a reviewer’s comment could be interpreted multiple ways or involves something architecturally significant, Claude asks you before acting
- Duplicate or no-action events: if an event is a duplicate or requires no change, Claude notes it in the session and moves on
Security and isolation
Each cloud session is separated from your machine and from other sessions through several layers:- Isolated virtual machines: each session runs in an isolated, Anthropic-managed VM
- Network access controls: network access is limited by default, and can be disabled. When running with network access disabled, Claude Code can still communicate with the Anthropic API, which may allow data to exit the VM.
- Credential protection: sensitive credentials such as git credentials or signing keys are never inside the sandbox with Claude Code. Authentication is handled through a secure proxy using scoped credentials.
- Secure analysis: code is analyzed and modified within isolated VMs before creating PRs
Troubleshooting
For runtime API errors that appear in the conversation such asAPI Error: 500, 529 Overloaded, 429, or Prompt is too long, see the Error reference. Those errors and their fixes are shared with the CLI and Desktop app. The sections below cover issues specific to cloud sessions.
Session creation failed
If a new session fails to start withSession creation failed or stalls at provisioning, Claude Code could not allocate a VM for the session.
- Check status.claude.com for cloud session incidents
- Retry after a minute, as capacity is provisioned on demand
- Confirm your repository is reachable. The connecting GitHub account must have access to the repository on GitHub, either through the Claude GitHub App authorization or a
ghtoken synced via/web-setup. Installing the App on the repository isn’t required. See GitHub authentication options.
Unable to get organization UUID
claude --cloud and claude --teleport require sign-in with a claude.ai account. If you authenticate with an API key, or your stored account details are stale, these commands fail with Unable to get organization UUID or a message that API key authentication is not sufficient.
Run /login to sign in with your claude.ai account, then retry the command.
On Amazon Bedrock, Google Cloud’s Agent Platform, and Microsoft Foundry, the commands stop earlier with Cloud sessions aren't available with <provider>. Cloud sessions run on Anthropic’s infrastructure and aren’t available through those providers.
Remote Control session expired or access denied
--teleport connects through the same Remote Control session infrastructure that cloud sessions use, so authentication and session-expiry errors surface with Remote Control wording. You may see Remote Control session expired or Access denied. The connection token is short-lived and scoped to your account.
- Run
/loginlocally to refresh your credentials, then reconnect - Confirm you are signed in to the same account that owns the session
- If you see
Remote Control may not be available for this organization, an Owner has not enabled cloud sessions for your organization
Environment expired
Cloud sessions stop after a period of inactivity and the session’s VM is reclaimed. On the web, the session is marked expired in the session list. Reopen the session from claude.ai/code to provision a fresh VM with your conversation history restored.Limitations
Before relying on cloud sessions for a workflow, account for these constraints:- Rate limits: Claude Code on the web shares rate limits with all other Claude and Claude Code usage within your account. Running multiple tasks in parallel consumes more rate limits proportionately. There is no separate compute charge for the cloud VM.
- Repository authentication: you can only move sessions from web to local when you are authenticated to the same account
- Platform restrictions: repository cloning and pull request creation require GitHub. Self-hosted GitHub Enterprise Server instances are supported for Team and Enterprise plans. GitLab, Bitbucket, and other non-GitHub repositories can be sent to cloud sessions as a local bundle, but the session can’t push results back to the remote
- Organization IP allowlist: cloud sessions call the Anthropic API from Anthropic-managed infrastructure, not your network. If your organization has IP allowlisting enabled, every cloud session fails with an authentication error. The same applies to Code Review and Routines. Contact Anthropic support to exempt Anthropic-hosted services from your organization’s IP allowlist.
Related resources
- Cloud environments: configure network access, environment variables, and setup scripts for cloud sessions
- Ultraplan: draft a plan in a cloud session and review it in your browser
- Ultrareview: run a deep multi-agent code review in a cloud sandbox
- Routines: automate work on a schedule, via API call, or in response to GitHub events
- Hooks configuration: run scripts at session lifecycle events
- Settings reference: all configuration options
- Security: isolation guarantees and data handling
- Data usage: what Anthropic retains from cloud sessions
- Claude Tag: an organization-managed @Claude in Slack that runs on the same cloud infrastructure