Product·Sessions

Start anywhere.
Continue anywhere.

Mac, web, and iPhone are three equal doors into the same session. Start a run from your desk, your browser, or your phone. Steer it, approve the plan, merge the PR from whichever screen is in front of you. A Mac or an enrolled device does the compute; every surface is a full control surface, and none of them is the "main" one.

Mac
new session
continuumcode.ai/appWeb
new session
iPhone
new session
One session pool0 live
01 · Three peers

No primary screen.

The native Mac app, the web app at continuumcode.ai/app, and the iPhone app are peers, not a hub and its remotes. Each one can start a session, steer it mid-turn, approve a plan, and merge a PR.

Compute lives on a Mac or an enrolled device. Everything else is a control surface with equal reach. Open a session on one, pick it up on another - same thread, same branch, same transcript.

Macnative · hosts compute
Webany browser · zero install
iPhonein your pocket · full control
iPhonestarted here
Macidle
Webidle
São Paulo · worktree · sp-1
02 · Start on the Mac
ChatCodeUsageSettings
Continuum
São Paulo · claude fable-5worktree · sp-1

Type it at your desk.

Pick a repo, pick a model, type a prompt, send. The session spawns in a worktree on your Mac and starts streaming - plan, diff, terminal, PR, all in one thread. This is the native workbench, and it hosts the compute for the other two surfaces.

Nothing here is Mac-only. The exact same start flow - repo, model, prompt, send - is one tap away in the browser and on your phone.

03 · Start on the web

Start one in a browser tab.

Sign in at continuumcode.ai/app on any machine, click New session, pick a repo, type a prompt. The run spawns on your paired Mac or an enrolled device and streams straight into the tab. No download, no local install.

A borrowed laptop, a work desktop, a Linux box with just a browser - all of them are full session starters. The relay between the tab and the host is end-to-end encrypted and can't read a byte.

continuumcode.ai/app
+ New session pick a repo to begin
clawdmeter
defx-frontend
continuum-web
Lisbon · claude fable-5worktree · clawdmeter
04 · Start on the iPhone
9:41𝗅𝗍𝖾 ▮▮▮
Sessions
Start in
clawdmeter
defx-frontend
continuum-web
Osaka · clawdmeter

Kick one off from your pocket.

Tap , pick a repo, dictate or type the prompt, send. The session spawns on your Mac or an enrolled device and streams to the phone in real time - chat, plan, diff, terminal, PR, the whole workbench in your hand.

Start a refactor on the walk to lunch. It's a real session the instant you tap send, waiting for you on every other screen when you get back.

05 · Approve from anywhere

The decision lands where you are.

A session started on any surface keeps running while you move. When the agent needs a call, the notification finds you - a banner with the session's city name and the reason it's waiting. Tap it and the same thread opens, mid-run, wherever you are.

Approve the plan from the train. Kill a runaway turn from the elevator. The session doesn't restart, doesn't fork, doesn't care which screen answered - it's one conversation on many screens.

9:41𝗅𝗍𝖾 ▮▮▮
São Paulo worktree · sp-1
Plan ready - 4 steps to migrate the parser to actor isolation.
Migration planplan ready
Make parsers nonisolated static
Move cache writes onto the actor
Bypass mtime cache for newest file
Re-run 800+ tests
@@ UsageHistoryLoader.swift @@
- func parse(_ url: URL) {
+ nonisolated static func parse(
+ _ url: URL) async {
… 14 hunks · +212 −96
PR #214 merged
+212 −96 · checks ✓
$0.31 · 38.2k tok · live
06 · Handoff
Code
Continuum
São Paulosp-1
streaming…$0.29 · 36.1k tok
9:41𝗅𝗍𝖾 ▮▮▮
9:41
Tuesday, July 2
Continuumnow
Plan ready · São Paulo
4 steps · migrate parser to actor isolation
São Paulo worktree · sp-1
Plan ready - 4 steps.
Migration planready
Parsers → nonisolated static
Cache writes onto the actor
$0.31 · 38.2k tok · live

Pick it up where you are.

The host keeps streaming while you're away from it. When the agent needs a decision, the notification lands where you are - not just on the machine that started the run.

Tap it and the same thread opens on your phone, mid-run. Started on the web, answered on the phone, merged from the Mac - it's one conversation on many screens, and every screen has the whole thing.

07 · Questions

The honest fine print.

Short answers here, long answers in the docs.

Something has to host the compute, but it doesn't have to be a Mac you're sitting at. A Mac or any enrolled device - an old laptop, a Linux box, an EC2 instance, or a serverless burst - hosts the session; the Mac app, the web app, and the iPhone app are all full control surfaces onto whatever is hosting. Start on the phone against an enrolled device and the Mac never needs to be open at all.

Yes. New session, pick a repo, type or dictate a prompt - the full start flow lives on all three surfaces, not just the Mac. The run spawns on your paired host and streams back to whichever surface you started from, and to every other one at the same time.

Yes. Pair once by QR; traffic rides an end-to-end-encrypted relay (XChaCha20-Poly1305 - the relay sees envelope lengths, not contents) or your own Tailscale tailnet if you'd rather have zero third parties in the path. Every remote command is rate-limited and audit-logged on the host.

Yes - it's the same session, live everywhere. Type on the Mac, approve on the phone, watch it stream in the browser, all against one thread and one branch. Whichever screen you touch, you're driving the same run on the same host.

08 · Begin

One session.
Every screen you own.

Five minutes from download to your first session - started wherever you happen to be.

requires an apple silicon mac or enrolled device to host · web & iphone are first-class