VS Code agent development on the real runtime.
Your agent is already deployed. Open its cloud dev box directly in VS Code over Remote-SSH — full editor, your extensions, an integrated terminal — running against the actual agent runtime and its pre-cloned repo. No local clone, no version-matching, no VM to provision, no open port. Connect to Host, and you're editing what's running.
a2a ssh <agent> · connect to host · open folder ~/<agent>
Local agent dev drifts from what actually runs.
Developing a cloud agent on your laptop means cloning the repo, installing Node and Python, matching the versions the platform runs, and wiring in whatever tokens and secrets the code expects. Even done perfectly, your local toolchain is subtly different from the runtime the agent deploys on — so 'works on my machine' and 'works in production' diverge. Standing up your own remote VM instead just moves the setup: now you're provisioning a box, opening an SSH port or bastion, and paying for it while it sits idle.
Open the agent's dev box in VS Code.
a2a ssh <agent> wakes a per-agent cloud dev box and writes a ~/.ssh/config entry. VS Code Remote-SSH connects to that alias — the editor, your extensions, and the integrated terminal all run on the box, against the pre-cloned repo and the same runtime the agent deploys on. One command, no local setup, no exposed port.
Connect to Host, done
a2a ssh <agent> writes a ~/.ssh/config entry named <agent>.a2a. In VS Code, Remote-SSH → Connect to Host → pick that alias. The editor opens directly on the dev box — full remote workspace, no local clone, no VM to provision.
Your extensions, remote
VS Code installs your extensions on the box, not on a local mirror. Python, ESLint, Prettier, GitLens, the debugger — they run against the actual code and interpreter on the dev box, so IntelliSense and lint reflect the real environment.
Integrated terminal on the runtime
The VS Code terminal is a shell on the box, with Node 20, Python 3.11, and a2a-pack already logged in as you. Run a2a dev, run your tests, tail logs — the same environment the agent deploys on, one panel away from the editor.
The repo is already there
The agent's git repo is pre-cloned at ~/<agent> with a fresh read-scoped token. Open Folder → ~/<agent> and you're editing the deployed agent's actual source — no clone URL to find, no credentials to wire, no drift from what's running.
No open port, no bastion
The connection tunnels SSH over a WebSocket through the same HTTPS ingress your agents already use. There's no exposed SSH port, no bastion, no firewall rule to request. VS Code speaks to <agent>.a2a through the ProxyCommand the CLI installed.
Cursor and JetBrains too
The alias is a plain SSH config entry, so Cursor's Remote-SSH and JetBrains Gateway connect the same way — same host, zero extra setup. Any editor that speaks Remote-SSH gets a full remote workspace on the agent's runtime.
Local clone (or a hand-rolled VM) vs. Connect to Host.
Frequently asked.
How do I use VS Code Remote-SSH with an a2a agent?
Run a2a ssh <agent> once — it wakes the agent's cloud dev box and writes a ~/.ssh/config entry named <agent>.a2a. Then in VS Code open the Remote Explorer (or the command palette → Remote-SSH: Connect to Host) and pick <agent>.a2a. VS Code opens a remote window on the box; use Open Folder → ~/<agent> to edit the agent's pre-cloned repo. Your extensions install remotely and the integrated terminal is a shell on the box.
Do I need to install or configure anything for VS Code?
Only the Remote-SSH extension in VS Code, which most installs already have. a2a ssh writes the SSH config entry and installs the ProxyCommand that tunnels the connection, so there's no host, port, key, or bastion to configure by hand. On the box, Node 20, Python 3.11, a2a-pack, and the agent repo are already there.
Is my code running locally or on the dev box?
On the dev box. Remote-SSH makes VS Code a thin client — the editor UI is local, but the files, the language servers, your extensions, and the integrated terminal all run on the box. That means IntelliSense, linting, and the debugger reflect the real interpreter and dependencies the agent deploys with, not your laptop's.
Can I run the agent while I edit it in VS Code?
Yes. Open the integrated terminal and run a2a dev — it starts the hot-reloading dev server on the box and gives you a public preview URL, so you can edit in the editor and watch changes reload against the real runtime. See /cloud-dev for the dev-server workflow.
Does the dev box stay running and cost money while VS Code is open?
It runs while you're connected and scales to zero about five minutes after you disconnect, with an 8-hour maximum session. So an open-but-idle editor won't keep it alive indefinitely, and the next connect wakes it in a few seconds. There's no long-lived VM accumulating cost between sessions.
Related guides.
All guides live in the guides index.
Bring VS Code to the agent, not the agent to your laptop.
a2a ssh <agent> opens a scale-to-zero cloud dev box — Node 20, Python 3.11, a2a-pack logged in as you, and the agent's repo pre-cloned — reachable over SSH-over-WebSocket through your existing ingress with an ephemeral Ed25519 key. VS Code Remote-SSH, Cursor, and JetBrains Gateway all connect to <agent>.a2a for a full remote workspace on the real runtime. Run a2a dev for a hot-reloading preview. No local clone, no bastion, no idle VM.