a2a cloud
edit local, run cloud

Cloud dev for AI agents with a2a dev.

Local dev runs your agent on your laptop, at localhost, on a runtime that isn't production. `a2a dev` keeps the fast local inner loop — your editor, your keystrokes — but runs the agent on its scale-to-zero cloud dev box, hot-reloads it on every save, and serves it on a public URL. The same infra it deploys on, with a link you can share.

local edit · cloud run · public URL · hot reload

0
public URL per session
0s
reload time (seconds)
0
idle cost
the problem

Your dev loop and your production runtime are two different worlds.

You build the agent on your laptop — one OS, one Python, one network — then find out at deploy time what actually breaks in the cloud. Sharing a work-in-progress means standing up a tunnel and keeping it alive. Getting parity means a Dockerfile and a per-agent environment before you write a line. The inner loop is fast, but it's fast against the wrong target.

localhost-only — no URL to share a work-in-progress with a teammate or a webhook.
Different OS, Python, and network than production — parity bugs surface at deploy time.
Docker and a per-agent virtualenv to set up before the first run.
A dev VM you either babysit or forget and pay for.
the a2a way

One command: edit here, run there.

`a2a dev` is the local inner loop with a cloud runtime. It syncs your project to the agent's dev box, runs the agent's hot-reloading server there, and serves it on a public URL — while you keep editing in your own editor.

Edit locally, run in the cloudA public URL, instantlyHot reload on saveProduction parityScale-to-zero, nothing idleNothing to install

Edit locally, run in the cloud

You stay in your own editor — vim, VS Code, Cursor, whatever. `a2a dev` syncs the project to the agent's dev box and runs it there. The keystrokes are local; the runtime is the cloud.

A public URL, instantly

Every session serves the agent at https://<agent>-devbox.a2acloud.io/ — a live, shareable endpoint. Point a webhook at it, drop it in a PR, demo it to a teammate. No ngrok, no tunnel to babysit.

Hot reload on save

Save a file and the change is live in a couple of seconds. The CLI keeps files in sync; the box's own dev server watches them and reloads. The edit-refresh loop you expect, against cloud infrastructure.

Production parity

The dev box runs the same base image as your deployed agent — same Python, same runtime, real managed Postgres and egress. If it works in `a2a dev`, it works deployed. No 'works on my machine.'

Scale-to-zero, nothing idle

The box wakes on your first command and drains to zero when you disconnect. You don't provision a VM, don't leave one running, and don't pay for an idle dev environment.

Nothing to install

No Docker, no per-agent virtualenv, no toolchain setup. The box already has it. `a2a dev` and you're editing against a live cloud agent — offline fallback with `--local` when you want it.

side-by-side

Local-only dev vs. a2a dev.

dimension
localhost + tunnels
a2a dev
where it runs
On your laptop — a different OS, Python, and network than production.
On the agent's dev box: the same base image and runtime it deploys on.
public URL
Run a separate tunnel (ngrok, cloudflared) and keep it alive by hand.
A shareable https:// URL for the agent every session, over the platform ingress.
setup
Install Docker, build images, create a virtualenv per agent before you start.
`a2a dev` — the box already has the toolchain and your logged-in CLI.
reload
Restart the process, or wire up your own file watcher and sync.
Save locally; files sync and the box hot-reloads automatically.
idle cost
A dev VM you remember to stop — or forget, and pay for.
Scale-to-zero: the box drains when you disconnect. Nothing idle.
questions

Frequently asked.

What does `a2a dev` do?

It runs your agent in the cloud while you edit locally. `a2a dev` syncs your project to the agent's scale-to-zero dev box, runs the agent's hot-reloading server there, and serves it on a public URL like https://<agent>-devbox.a2acloud.io/. Save a file and the box reloads with your change in a couple of seconds — the local inner loop, cloud execution.

How is this different from running the agent locally?

Local dev runs on your machine — a different OS, Python, and network than production, reachable only at localhost. `a2a dev` runs the agent on the same base image it deploys on, with a real managed Postgres and egress, and gives it a public shareable URL. You still edit in your own editor; only the runtime moves to the cloud. Prefer local? `a2a dev --local` keeps the classic on-machine dev server.

Do I get a public URL I can share?

Yes. Every `a2a dev` session serves the agent at https://<agent>-devbox.a2acloud.io/ over the platform's HTTPS ingress. It's a real endpoint — send it a webhook, connect it to a client, share it in a review, or demo it — with no separate tunneling tool to run.

How does hot reload work in the cloud?

The CLI watches your local files and syncs each save to the box with rsync over the same secure tunnel that carries the shell. The box's own dev server watches the synced files and reloads on change, so a save becomes a live reload without any manual push. In practice the change is serving within a couple of seconds.

What does it cost to leave a dev box running?

Nothing when idle. The dev box scales to zero the moment you disconnect and wakes on your next command (a few seconds of cold start, which the CLI waits through). You never provision or babysit a VM.

Do I need to be logged in?

For cloud dev, yes — the box runs under your account with your quota and your CLI credentials injected, the same model as `a2a ssh`. If you're offline or don't want an account in the loop, `a2a dev --local` runs the agent on your machine with the same hot reload.

one command

Run `a2a dev` and share the link.

a2a cloud deploys any agent — LangGraph, OpenAI Agents SDK, CrewAI, or custom — with a managed Postgres database, an MCP server, an API, a frontend, and signed receipts. `a2a dev` gives you that same runtime as your dev environment: edit locally, run in the cloud, hot-reload on save, and a public URL every session. `pip install a2a-pack` to start.