Skip to content
CROSS-DEVICE

Run the same agent session from any device

Phone, browser, VS Code, SSH, API, and n8n all return to the same cloud session.

12.4k GitHub stars1.7k forks

The session lives in the cloud environment

Devices connect to the same container instead of syncing copies. Each surface is another way back into the running session.

Nothing syncs, because nothing is copied

The repo, agent context, terminal state, and MCP setup live in one container. Open it from a phone browser, VS Code, or SSH and you are attached to the same running process, not a mirror of it.

The agent keeps working when you close the tab

Whether zero or three devices are looking at it, the session keeps running. Close the phone mid-refactor and the diff is waiting when you open the laptop.

No machine to keep awake

The usual workaround is tmux over SSH, with Tailscale and Termux on the phone, and it still depends on a laptop that never sleeps. The container runs in the cloud, so there is no host to babysit.

Choose the surface for the task

The session, files, agent context, terminal state, and MCP setup live in the container. Pick the surface that fits where you are.

Open the browser, create an environment

Pick a repo and an agent, and CloudCLI starts a container with the repo cloned, the agent installed, and a shell ready. Nothing to install locally. The browser is the full workspace: agent chat, an integrated shell, a file explorer with live editing, and Git status.

Pick it up on your phone

The web UI is responsive, so a phone browser gets the full session: the conversation, the shell, the file tree, and Git state. Add it to your home screen and it opens full-screen like an installed app. Reply to the agent from the train, then open the same running session at your desk. There is no sync step, because it is the same session.

Keep it in the menu bar

The desktop companion is a menu bar app for macOS and Windows. It opens your cloud environments and switches between local and remote workspaces without a browser tab, so the session you left running is one click away.

SSH in, or bring your IDE

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

Drive it from a script, with no screen at all

POST an environment, a project, and a message to the REST API, and the agent runs. Pick the provider per call: Claude Code, Cursor, Codex, Gemini, or OpenCode. Output streams back as it happens, so a pipeline sees the work land. Authenticate with an API key in the X-API-KEY header.

Or let a workflow open the session for you

Drop the CloudCLI node into an n8n workflow and a Jira ticket or a GitHub event can create the environment, run the agent, and stop it again. The node covers create, start, stop, delete, and execute agent. The run lands in a real environment, so you can open it on any of the surfaces above and take over.

Layout changes. 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.

Open the same session from your next device

One cloud session, every surface you use.

No pitch, just answers →