Use cases
Where agents run on runner.
Four jobs we built it for, and what each one gets.
Background coding agents
Give each task its own machine, with git, Docker and a desktop. Publish a port to get a preview URL at <subdomain>-<port>.on.runner.so, or SSH in. Fork a sandbox before a risky step and keep the branch that worked.
- Snapshots every minute while it runs
- List the package registries and the git host it may reach, and drop the rest
Computer-use and desktop agents
Every sandbox starts from the same desktop image, so an agent that drives a browser or a screen gets a full Linux desktop, not a bare container.
- One image, so there is nothing to template or version
Tools behind MCP
runner-mcp gives an assistant sandboxes as tools, over stdio. It keeps no state. The API key it starts with decides what the assistant may do, so give it a narrow key.
- Typed errors, each with a code and a fix
- A "no env" sandbox for tools that must not see your account secrets
GitHub Actions jobs
Link the runner GitHub App with runner ci connect, then point a job at runs-on: runner. A CI page in the dashboard lists jobs, including the ones we refused.
- A fresh VM for every job
Where it does not fit
GPU workloads, Windows, macOS or Android guests, jobs that need KVM inside the guest, and bursts of 10,000 or more sandboxes at once. We do not ship Python or TypeScript SDKs yet.