# Moving off Runloop

> Runloop is winding down, with transition support ending on 13 November 2026. boxd keeps what Runloop devboxes did and adds memory: a machine wakes on a request with your processes still running.

Checked 2026-10-30. Every Runloop claim links to Runloop's own docs or pricing. Web page: https://boxd.sh/compare/runloop/

**Runloop is shutting down.** Its docs: "Runloop is winding down its services. Transition support for existing customers continues through November 13, 2026 at 11:59 PM PT." ([source](https://docs.runloop.ai/docs/transitions/overview))

## At a glance

|  | boxd | Runloop |
| --- | --- | --- |
| **Where boxd is ahead** |  |  |
| Sleeps with processes kept | Yes, standby and hibernate | No; disk only |
| Starts from a snapshot, app running | Yes · app answers in 1.19 s | Disk only |
| Coding agents installed | Claude Code, Codex, OpenCode | Mounted via Agents API |
| SSH | Native, own port per machine | CLI tunnel |
| vCPU-hour | $0.047, CPU used | $0.108 + $250/mo Pro |
| **Where Runloop is ahead** |  |  |
| Largest, self-serve | 8 vCPU · 32 GiB | 16 vCPU · 64 GiB (custom) |

## Move to boxd when

- You need a new home for devboxes before 13 November
- You want suspend to keep memory, not only disk
- You want agents installed rather than mounted

## Where boxd stands out

### Memory survives a suspend

Runloop's suspend and snapshots keep the disk. boxd keeps memory too, so a woken machine has your processes running: the app answered an HTTPS request in 156 ms.

### A new machine, app already up, in 1.19 s

Snapshot a machine with your stack running and every machine you create from it starts with that stack running: 1.19 s median from the create command to the app's first response. No boot script, no warm-up.

### Claude Code, Codex and OpenCode are already there

Every machine boots with all three installed, plus headless Chrome, a desktop you can open in the browser, Docker and the boxd CLI. Your API keys stay outside the machine: the guest holds a placeholder and our proxy swaps in the real value.

### No plan fee

Runloop's suspend and resume sat on its $250 a month Pro plan. boxd has no plan fee: $0.047 per vCPU-hour of CPU used, RAM on what's in use, and a hibernated machine pays only for disk.

boxd's timings were measured on its production cluster on 2026-10-29, ten runs each, from a client in the same datacenter: a hibernated machine's app answered an HTTPS request in 156 ms median; a new machine from a snapshot answered 1.19 s after the create command.

## What a devbox becomes

| Runloop | boxd |
| --- | --- |
| Devbox | Machine |
| Blueprint (from a Dockerfile) | Snapshot of a machine you set up once |
| Snapshot (disk) | Snapshot or checkpoint (memory and disk) |
| Suspend / resume | Standby / hibernate, processes kept |
| wake_on_http tunnel | Every machine wakes on HTTPS or SSH |
| Tunnel URL per port | HTTPS URL per port, custom domains |
| rli devbox ssh | ssh my-machine.boxd |
| Agents API mounts | Claude Code, Codex, OpenCode installed |
| Agent Gateway | Secrets proxy (placeholder in the guest) |

## Side by side

|  | boxd | Runloop |
| --- | --- | --- |
| **The machine** |  |  |
| Full VM, own kernel | Yes, every machine | Yes, microVM ([source](https://runloop.ai)) |
| Default size | 2 vCPU · 8 GiB · 100 GB | Not published |
| Largest, self-serve | 8 vCPU · 32 GiB | 16 vCPU · 64 GiB (custom) ([source](https://docs.runloop.ai/docs/devboxes/configuration/sizes)) |
| Root, systemd, Docker | Yes, plus nested virtualization | Docker via dedicated blueprints ([source](https://docs.runloop.ai/docs/devboxes/capabilities/docker-in-docker)) |
| CPU test (runs/s) | 12.6 (our run) | 8.93 ([source](https://github.com/starslingdev/hpc-sandbox-benchmarks/blob/main/LEADERBOARD.md)) |
| **Ready when you are** |  |  |
| Sleeps with processes kept | Yes, standby and hibernate | No; disk only ([source](https://docs.runloop.ai/docs/devboxes/snapshots)) |
| Wakes on a request | Yes, HTTPS or SSH · app answers in 156 ms | Yes, wake_on_http ([source](https://docs.runloop.ai/docs/devboxes/tunnels)) |
| Starts from a snapshot, app running | Yes · app answers in 1.19 s | Disk only ([source](https://docs.runloop.ai/docs/devboxes/snapshots)) |
| Session limit | None | 1 h default, configurable ([source](https://docs.runloop.ai/docs/devboxes/start-stop)) |
| **Built for agents** |  |  |
| Coding agents installed | Claude Code, Codex, OpenCode | Mounted via Agents API ([source](https://docs.runloop.ai/docs/devboxes/agents/using-agents-api)) |
| SSH | Native, own port per machine | CLI tunnel ([source](https://docs.runloop.ai/docs/devboxes/ssh)) |
| HTTPS URL per port | Yes, plus custom domains | Yes ([source](https://docs.runloop.ai/docs/devboxes/tunnels)) |
| Raw TCP inbound | Yes, 3 ports per machine | Not published ([source](https://docs.runloop.ai/docs/devboxes/tunnels)) |
| Secrets kept out | Yes, swapped in at the proxy | Agent Gateways ([source](https://docs.runloop.ai/docs/devboxes/agents/using-agents-api)) |
| **Price** |  |  |
| vCPU-hour | $0.047, CPU used | $0.108 + $250/mo Pro ([source](https://runloop.ai/pricing)) |
| RAM GiB-hour | $0.014, memory in use | $0.0252 ([source](https://runloop.ai/pricing)) |
| While asleep | Hibernated: disk only | Suspended: storage only ([source](https://runloop.ai/pricing)) |
| **Also worth knowing** |  |  |
| GPUs | No | Not published |
| Regions | Frankfurt (US waitlist) | Not published |
| SOC 2 | SOC 2 in progress | Not published |
| SAML SSO | No | Not published |
| Egress allowlist | Yes | Not published |
| Self-host | Yes, free to 16 vCPUs | Deploy to your VPC |

## What Runloop did that boxd doesn't

- **arm64.** Runloop offered arm64 devboxes. boxd is x86-64 only.
- **Hostname egress rules.** Runloop could lock a devbox to an allowlist of hostnames.
- **Deploy to your VPC.** Runloop deployed into AWS, GCP or Azure accounts. boxd self-hosts on Google Cloud or AWS.

## Questions

### Is Runloop shutting down?

Runloop's own docs say it is winding down its services, with transition support for existing customers through 13 November 2026 at 11:59 PM PT.

### How do I move a devbox to boxd?

Create a machine, run your blueprint's setup steps on it (the Dockerfile's RUN lines are a good start), start your services, and save it as a snapshot. Every machine created from that snapshot starts with them running. If your team needs help moving before the deadline, talk to us.

## How we measured

### Wake from hibernation

A small Python HTTP server on a default 2 vCPU machine, published on its HTTPS URL. Ten times: hibernate the machine, confirm it reports hibernated, then send one HTTPS request on a new connection from a client machine in the same datacenter. Median 156 ms until the app answered (104–213 ms); a warm request takes about 73 ms, so waking adds about 80 ms. The app's process ID was the same after every wake.

### New machine from a snapshot

A snapshot of that machine with the server running. Ten times: run `boxd new --from-snapshot`, then request the new machine's HTTPS URL until the app answers. Median 1.19 s from the create command to the app's first response (1.14–1.24 s). The first request succeeded every time; nothing was started after boot.

### CPU

The Node.js web tooling test from StarSling's open sandbox benchmark (Phoronix Test Suite 10.8.4, pts/node-web-tooling-1.0.1, Node 22.23.1, two passes per run), on a 4 vCPU machine. Three runs: 12.65, 12.86 and 12.19 runs/s. The other providers' numbers are from StarSling's own published leaderboard, which runs 4 vCPU / 8 GiB; boxd's 4 vCPU size has 16 GiB, which this test doesn't use.

### What these numbers don't include

Your own network distance. Every timing was taken from a client in the same Frankfurt datacenter; from the US, add your round trip on top. A larger app has more memory to bring back, so it takes longer than a small server.

## More comparisons

- [boxd vs E2B](https://boxd.sh/compare/e2b/index.md)
- [boxd vs Daytona](https://boxd.sh/compare/daytona/index.md)
- [boxd vs Modal](https://boxd.sh/compare/modal/index.md)
- [boxd vs Vercel Sandbox](https://boxd.sh/compare/vercel-sandbox/index.md)
- [boxd vs Blaxel](https://boxd.sh/compare/blaxel/index.md)
- [boxd vs Cloudflare Sandbox](https://boxd.sh/compare/cloudflare-sandbox/index.md)
- [boxd vs exe.dev](https://boxd.sh/blog/boxd-vs-exe-dev/)
- [boxd vs sprites.dev](https://boxd.sh/blog/boxd-vs-sprites/)
- [All comparisons](https://boxd.sh/compare/index.md)
