Skip to content

Web runs: drive claude.ai sessions through the browser extension instead of claude --cloud #1328

Description

@suleimansh

Maintainer direction (chat, 2026-07-28): invest in the extension, not --cloud. Rationale: --cloud is a CLI flag that could be removed at any time, while Claude web itself is a stable product surface. And --cloud is currently broken outright on at least one account: every session it creates is a bundle upload that can never push (#1320, filed upstream as anthropics/claude-code#81776).

The decisive technical fact from the #1320 investigation: sessions created through the claude.ai UI with the repo picker are repo-bound and CAN push and open PRs - that is the working path. The extension already operates on claude.ai pages (v0.7.1: mirrors transcripts, delivers bridge answers by filling the composer and clicking send, #1237). Extending it to CREATE sessions rides the working path end to end.

Sketch

  • Daemon queues a session request on the bridge (sibling of the answer queue): repo, branch, prompt.
  • Extension opens a pinned claude.ai/code tab, drives the new-session flow (repo + branch chips, paste prompt, submit), reports the session URL back through the bridge.
  • CloudDriver gains an extension-backed mode: hand-off resolves when the bridge reports the session, exactly like the --cloud path resolves on the printed URL. Mirror/answers machinery already exists.
  • --cloud stays as the no-extension fallback (it may also simply work on machines the upstream bug does not hit - maintainer's own test still pending).

Open questions

  1. The Drive Claude Code on the web instead of the CLI (MVP shortcut: free worktrees + PR, 0% local CPU) #610 decision reversed: driver/cloud.ts's header explicitly ruled out driving the claude.ai UI (browser/extension/scraping) on Usage Policy grounds when --cloud was chosen. Adopting this direction is a conscious reversal and the policy angle should be re-read deliberately: the extension is user-installed, acts inside the user's own logged-in browser, and automates exactly the clicks the user would make - but the decision should be on the record, not incidental.
  2. UI-selector fragility: the v0.7 lessons apply (composer render races, tab revival, claude.ai DOM changes). The bridge's report-status plumbing gives observability the --cloud path never had.
  3. Concurrency: 10 parallel sessions = 10 tabs the extension owns. Feasibility and resource behavior need a spike before Goal: fire 10 Spike & plan agents concurrently #1327's 10-agent goal rides on this.

Refs: #1320 (why --cloud is a dead end today), #1327 (the 10-agent goal this serves), #1237/#1225 (existing extension bridge).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions