Skip to content
CROSS-DEVICE

Same agent session, every screen

Run AI coding agents from any device. Start on your phone, continue in VS Code or over SSH. The session lives in the cloud, not on the device.

12.4k GitHub stars1.7k forks

Every device is a window into the same container

The session does not live on the device that started it. It lives in the environment. Every surface is a way back in.

The browser is the full workspace

Agent chat, an integrated shell, a file explorer with live editing, and Git status. Nothing to install.

Your phone, the same session

The responsive web UI installs as a PWA. A way in, not a status monitor.

SSH and your IDE

ssh into the environment, or open it directly in VS Code and Cursor from the dashboard.

Menu bar, API, and n8n

A desktop companion for macOS and Windows, plus the REST API and n8n for screenless runs.

One session. Every screen you own.

The session, files, agent context, terminal state, and MCP setup live in the container. Every device is a window into it.

SSH in, or bring your IDE

Every environment gets its own SSH subdomain. ssh routes through a bastion straight into your container, no VPN and no tunnel setup. From the dashboard, VS Code and Cursor open the environment directly, and anything else that speaks SSH connects the same way.

Start on the phone, pick it up on any screen

The web UI is responsive, so a phone browser gets the full session: the conversation, the shell, the file tree, and Git state. Reply to the agent from the train, then open the same running session at your desk. No sync step, no handoff, because it is the same session, not a copy.

Layout adapts. State does not.

Parity means you never lose work by picking the wrong screen, not that every screen is the same size.

State lives in the container

The session, files, agent context, and terminal state are not duplicated on any device.

The layout is device-first

The phone gets a composition built for a phone, not a shrunken desktop screenshot.

No handoff, no sync

Close one device and open another. The agent keeps working mid-task in between.

FAQ

Yes. The session runs in a cloud environment, not on either device. Start it from the phone, then open the same environment in VS Code, a desktop browser, or over SSH. You reconnect to the running session, with the same conversation, files, and terminal state.

There is nothing to sync. The session, files, and terminal state live in the cloud environment, not on any device. Open the environment from your phone, from VS Code over SSH, or in the browser and you are in the same session, mid-task, with no handoff or copy step.

Open your environment in the phone browser, or install the web UI as a PWA. You get agent chat, a real terminal, the file explorer, and Git in a phone-first layout, not a status monitor. See Claude Code on mobile for the walkthrough.

The full session. A phone opens the same environment as a desktop: agent chat, shell, file tree, and Git state, through the responsive web UI. Add it to your home screen and it runs full-screen as a PWA. The layout is phone-first, but nothing is read-only.

Yes. Each environment has its own SSH subdomain, so ssh gives you a shell in the container. VS Code and Cursor open the environment directly from the dashboard, and any SSH-capable IDE, including JetBrains Gateway, connects through the same route.

Anything with a browser: phone, tablet, laptop, or a borrowed machine, with the phone browser installable as a PWA. Beyond the browser: a desktop menu bar companion for macOS and Windows, SSH from any terminal, VS Code and Cursor, and a REST API plus an n8n integration for scripts and workflows.

Remote-control tools connect you to a session running on your own machine, which has to stay awake with an active terminal. A CloudCLI session runs in a cloud environment instead, so there is no machine to keep alive and every device is a way in rather than a remote for a session living elsewhere.

Start it on the train, finish it at your desk

One session, every screen you own. Try it from the device in your pocket.

No pitch, just answers →