SpyBara
Go Premium

claude-code-on-the-web.md 2026-07-27 21:02 UTC to 2026-07-28 23:57 UTC

21 added, 577 removed.

2026
Wed 29 07:01 Tue 28 23:57 Mon 27 21:02 Sun 26 19:02 Sat 25 21:59 Fri 24 23:01 Thu 23 23:57 Wed 22 23:59 Tue 21 23:00 Mon 20 23:01 Sat 18 16:02 Fri 17 22:57 Thu 16 22:59 Wed 15 22:00 Tue 14 23:01 Mon 13 23:57 Sat 11 19:03 Fri 10 17:00 Thu 9 23:58 Wed 8 16:02 Tue 7 16:02 Mon 6 23:57 Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01

Use Claude Code on the web

Move sessions between web and terminal with --cloud and --teleport, manage and share sessions, and auto-fix pull requests from Anthropic's cloud infrastructure.

Claude Code on the web runs tasks on Anthropic-managed cloud infrastructure at claude.ai/code. Sessions persist even if you close your browser, and you can monitor them from the Claude mobile app.

This page covers the web product itself:

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:

Method How it works Best for
GitHub App Authorize the Claude GitHub App during web onboarding. Browser onboarding; teams that want Auto-fix
/web-setup Run /web-setup in your terminal to sync your local gh CLI token to your Claude account. Individual developers who already use gh

Either method works. /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.

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 terminal to web

Start a cloud session from the command line with the --cloud flag:

claude --cloud "Fix the authentication bug in src/auth/login.ts"

This creates a new cloud session on claude.ai. The session clones your current directory's GitHub remote at your current branch, so push first if you have local commits, since the VM clones from GitHub rather than your machine. --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.

{/* min-version: 2.1.195 */}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.

Use /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:

claude --permission-mode plan

In plan mode, Claude reads files, runs commands to explore, and proposes a plan without editing source code. Once you're satisfied, save the plan to the repo, commit, and push so the cloud VM can clone it. Then start a cloud session for autonomous execution:

claude --cloud "Execute the migration plan in docs/migration-plan.md"

This pattern gives you control over the strategy while letting Claude execute autonomously in the cloud.

Plan in the cloud with ultraplan: to draft and review the plan itself in a web session, use ultraplan. Claude generates the plan on Claude Code on the web while you keep working, then you comment on sections in your browser and choose to execute remotely or send the plan back to your terminal.

Run tasks in parallel: each --cloud command creates its own cloud session that runs independently. You can start multiple tasks and they'll all run simultaneously in separate sessions:

claude --cloud "Fix the flaky test in auth.spec.ts"
claude --cloud "Update the API documentation"
claude --cloud "Refactor the logger to use structured output"

Monitor all sessions with /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 run claude --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:

CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"

Bundled repositories must meet these limits:

  • 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 add on 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, run claude --teleport for an interactive session picker, or claude --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 /teleport or /tp to open the same session picker without restarting Claude Code.
  • From /tasks: run /tasks to see your background sessions, then press t to teleport into one.
  • From the web interface: select Open in CLI to copy a command you can paste into your terminal.

When you teleport a session, Claude verifies you're in the correct repository, fetches and checks out the branch from the cloud session, and loads the full conversation history into your terminal. The terminal gets its own copy of the session: new work there stays local and doesn't appear in the cloud session on claude.ai or the Claude mobile app. To keep steering from your phone after teleporting, start /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.

Requirement Details
Clean git state Your working directory must have no uncommitted changes. Teleport prompts you to stash changes if needed.
Correct repository You must run --teleport from a checkout of the same repository, not a fork. {/* min-version: 2.1.199 */}As of v2.1.199, Claude Code accepts a checkout even when it can't parse the remote into a hostname, such as an SSH host alias like git@work:owner/repo.git or an insteadOf-rewritten short form. It shows a confirmation prompt first, and only when the remote's owner and repository name match the session's repository.
Branch available The branch from the cloud session must have been pushed to the remote. Teleport automatically fetches and checks it out.
Same account You must be authenticated to the same claude.ai account used in the cloud session.

--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:

  • {/* min-version: 2.1.205 */}/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: /effort reports Not applied while a model's launch-default effort hold is in force, and /fast works 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, including key=value, is ignored. To change settings for a cloud session, use environment variables or commit settings files to the repository.

For context management specifically:

Command Works in cloud sessions Notes
/compact Yes Summarizes the conversation to free up context. Accepts optional focus instructions like /compact keep the test output
/context Yes Shows what's currently in the context window
/clear No Start a new session from the sidebar instead

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

You will be asked to confirm before a session is deleted.

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.

There are a few ways to turn on auto-fix depending on where the PR came from and what device you're using:

  • PRs created in Claude Code on the web: open the CI status bar and select Auto-fix
  • From your terminal: run /autofix-pr while on the PR's branch. Claude Code detects the open PR with gh, 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

Auto-fix is a per-PR toggle. To stop monitoring, open the CI status bar in the web session and clear the Auto-fix toggle, or tell Claude to stop watching the PR.

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

GitHub does not emit a webhook when the base branch advances and creates a merge conflict, so auto-fix can't react to conflicts on its own. To resolve a conflict, open the session and ask Claude to rebase.

Claude may reply to review comment threads on GitHub as part of resolving them. These replies are posted using your GitHub account, so they appear under your username, but each reply is labeled as coming from Claude Code so reviewers know it was written by the agent and not by you directly.

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 as API 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 with Session 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 gh token 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 /login locally 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.
  • 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