GitHub Codespaces vs Upstash Box

GitHub Codespaces is a dev environment for people: a dev container built from a GitHub repository, opened in VS Code, that stops after 12 hours at most. Upstash Box is a computer for AI agents: a light container with a coding agent built in, driven from an SDK, that pauses when idle and wakes on the next request.

The companies and products

GitHub Codespaces

GitHub Codespaces is GitHub's cloud development environment: a ready-to-code Linux machine for a repository, opened in the browser, VS Code or the GitHub CLI.

Codespaces is a different kind of product from boat: a dev environment for people working on a GitHub repository, not a sandbox API for agents. Each codespace is a Docker container built from the repo's dev container config, running on its own newly built VM on Azure, with 2 to 32 cores. It is built for developers and teams who want every contributor to start from the same setup, with prebuilds, port forwarding and GitHub billing.

Upstash Box

Upstash Box is a cloud computer for AI agents from Upstash, the company known for serverless Redis, Vector and QStash.

Each box is a Docker container with its own filesystem, shell, git and an optional coding agent such as Claude Code, Codex or OpenCode, which you drive from TypeScript or Python SDKs. A box pauses when it sits idle, keeps its files, and you pay for the CPU it actually uses. Upstash built it to run its own Context7 service and opened it to everyone in March 2026.

Which use cases each one fits

For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “274th cheapest of 367” means 273 of the other 366 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.

Use case and its workloadGitHub Codespaces: price rankUpstash Box: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Codespaces runs Docker in its dev container but stops after 12 hours, and an Upstash box offers no Docker inside, so both are a compromise here, while boat gives agents full VMs with Docker.
274th of 367, with limits
$4,618 a month
61st of 367, with limits
$464 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
An always-on assistant hits the 12-hour cap on Codespaces, while an Upstash keep-alive box stays on all month as a container and boat keeps a full VM running.
309th of 366, with limits
$6,970 a month
103rd of 366, with limits
$475 a month
5th cheapest of 366
$657 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
Upstash suits short code runs: an idle box costs no CPU and a paused box wakes when work arrives, while each codespace builds a dev container on a new VM.
288th of 345, with limits
$619 a month
10th cheapest of 345
$119 a month
186th of 345, with limits
$2,000 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
Upstash and boat both fit sandboxes for your own users, while Codespaces is made for GitHub users on a repository and does not publish how many can run at once.
281st of 361, with limits
$1,964 a month
2nd cheapest of 361
$222 a month
Cheapest of 361
$209 a month
RL rollouts
1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month
282nd of 360, with limits
$9,489 a month
352nd of 360, with limits
$8,068 a month
34th of 360, with limits
$2,000 a month
Agent evals
250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month
295th of 364, with limits
$1,519 a month
52nd cheapest of 364
$1,011 a month
10th cheapest of 364
$200 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
CI jobs that build containers need Docker, which a codespace has and an Upstash box does not, but Codespaces has no fork or snapshot API to start from a warm machine.
314th of 377, with limits
$909 a month
120th cheapest of 377
$1,520 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
A flat-price Upstash keep-alive box makes a light 24/7 dev box, Codespaces is a polished VS Code setup that stops after 12 hours, and boat is a full VM that keeps running.
130th of 368, with limits
$270 a month
10th cheapest of 368
$20 a month
18th cheapest of 368
$26 a month
Computer-use agents
50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month
Computer-use agents need a screen: Codespaces has an editor but no desktop, Upstash has a headless browser, and boat streams a 60fps Linux desktop.
267th of 369, with limits
$1,367 a month
73rd of 369, with limits
$76 a month
6th cheapest of 369
$200 a month
Browser-use agents
50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month
275th of 367, with limits
$678 a month
49th of 367, with limits
$38 a month
7th cheapest of 367
$200 a month
Scraping & bots (startup scale)
50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month
310th of 346, with limits
$922 a month
37th cheapest of 346
$400 a month
6th cheapest of 346
$90 a month
Mass scraping & bots (undetectable)
1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month
280th of 338, with limits
$18,637 a month
200th of 338, with limits
$8,000 a month
71st of 338, with limits
$1,800 a month
Parallel red teaming
200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month
Upstash can start many boxes from a snapshot and boat can fork a running machine, while every codespace is created again from the repository.
267th of 360, with limits
$445 a month
225th of 360, with limits
$259 a month
2nd cheapest of 360
$200 a month
GPU eval jobs
10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month
Can't run itCan't run itCan't run it
macOS agents
5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month
Can't run itCan't run itCan't run it

Key features

FeatureGitHub CodespacesUpstash Boxboat
IsolationA Docker container on its own newly built VM on AzureOne Docker container per box on AWSFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
How long it runsStops after 30 idle minutes by default and after 12 hours at most, even while in useNo session cap; a standard box pauses when idle, and a keep-alive box stays onRuns until you stop it; no session cap on paid plans
Docker insideYes, Docker and sudo inside the dev containerNot documented; the box is itself a Docker containerYes, Docker, root and systemd as on any Linux server
Nested virtualization/dev/kvm is not documentedNo; boxes are containers with no VM support documentedYes, /dev/kvm for Android emulators and VMs
Machine sizes2, 4, 8, 16 or 32 cores, with 4 GB of memory per coreSmall 2 vCPU / 4 GB, Medium 4 vCPU / 8 GB, Large 8 vCPU / 16 GBUp to 16 vCPU / 32 GB on the $100 plan and above
Files after a stopFiles are kept and storage is billed; stopped codespaces are deleted after 30 days by defaultA paused box keeps its files; storage keeps billing while pausedDisk saved every minute and on stop; a stopped sandbox costs nothing
Wake on requestNo; you start a stopped codespace from the editor, CLI or REST APIYes; a request to a public URL resumes a paused boxNo; a stopped sandbox is started by API
Fork and templatesNo copy or snapshot endpoint; new codespaces start from a repo or a prebuild built by GitHub ActionsSnapshot a running box and start many new boxes from it; custom images listed as coming soonFork a running sandbox with its disk; named snapshots as templates
Coding agentsGitHub Copilot as a VS Code extension; other agents you install yourselfClaude Code, Codex and OpenCode built in, with run and stream APIs, webhooks and scheduled promptsClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping API keys out of the sandboxSecrets are copied in as environment variablesHost proxy injects headers into outbound HTTPS on port 443, set when the box is createdCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out
Desktop and browserVS Code in the browser or on your machine, JupyterLab and a terminal; no graphical desktopManaged headless Chromium with AI page actions and CDP; no desktopLinux desktop streamed at 60fps, Chromium and computer-use tools
Inbound accessA URL per forwarded port, private, organization or public; SSH; no public IPHTTPS URL per port, public unless you add a token or basic auth; SSH through a gateway; no raw TCPHTTPS URLs for up to 50 ports, token-protected by default; raw TCP
Outbound rulesOpen internet; GitHub says there is no way to restrict itAllow all, deny all, or allow and deny by domain and CIDR, changeable on a running boxOpen internet, no provider-side allowlist
RegionsUS East, US West, Europe West and Southeast AsiaUS only (AWS us-east-1)EU only (Germany, Finland, France)
Every feature Battleships tracks (43)
FeatureGitHub CodespacesUpstash Boxboat
Full VM (own kernel)YesNoYes
Docker insideYesNoYes
Nested virtualizationNoNoYes
RootYesNot publishedYes
SystemdNot publishedNot publishedYes
Desktop GUINoNoYes
BrowserNoYesYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoNoYes
Fork/cloneNoYesYes
Live fork (no pause)NoYesYes
Memory forkNoNoNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsNoYesYes
Idle auto-stopYesYesNo
Wake on requestNoYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistNoYesNo
Secret proxyNoYesYes
Secret proxy for any APINoYesYes
Preinstalled agentsNoYesYes
Agent harness APINoYesYes
MCP serverNoYesNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoYesNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsYesNot publishedYes
Usage per sandbox (API)NoYesYes
Audit logsYesNot publishedNo
SSOYesNoNo
SOC 2YesYesNo
HIPAANoNoNo
EU data residencyYesNoYes
Zero data retentionNot publishedNot publishedYes

Performance

GitHub CodespacesNot measured
Upstash BoxNot measured
boat26.69 runs/s

There is no comparable CPU measurement for GitHub Codespaces or Upstash Box: neither was in the public benchmark runs we use. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's run of 2026-09-29, on dedicated AMD Ryzen 9 9950X hosts.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. GitHub Codespaces and Upstash Box have no published run in this suite yet, so there is no like-for-like number to compare.

Pricing in five scenarios

Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.

ScenarioGitHub Codespaces, a monthUpstash Box, a monthboat, a month
One coding agent, workdays
4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days
$51 · Personal account: GitHub Free$21 · Pay as You Go$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$270 · Personal account: GitHub Free · with limits$21 · Pay as You Go$26 · $20/mo
50 agents in parallel
50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside
$3,019 · Personal account: GitHub Free$900 · Pay as You Go · with limits$317 · $20/mo × 3 seats
Sandboxes for your users
2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once
$850 · Personal account: GitHub Free · with limits$306 · Pay as You Go$200 · $100/mo × 2 seats
1,000 short jobs at once
2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month
$1,889 · Personal account: GitHub Free · with limits$1,822 · Pay as You Go$2,000 · $2000/mo · with limits

GitHub Codespaces: Codespaces bills $0.09 per core-hour for the whole time a codespace is active, used or not, plus $0.07 per GB-month of storage while it exists. There is no 4-core machine with 8 GB, so 4 vCPU / 8 GB work is priced on the 4-core 16 GB machine; personal accounts get a free monthly quota and organizations do not.

Upstash Box: A standard box is billed for the CPU it actually uses, at $0.10, $0.20 or $0.40 per active CPU hour by size, plus $0.10 per GB-month of storage, and RAM is free. A keep-alive box costs a flat $8, $16 or $32 a month whether busy or not.

Upstash Box: Plans start at $20 a month, and the whole fee is usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

Codespaces stops every codespace after 12 hours, so it does not fit the always-on scenario, and GitHub does not publish how many can run at once, so 300 user sandboxes and 1,000 short jobs are not confirmed there. Upstash runs no Docker inside a box, so the 50-agent scenario does not fit, its egress price is not published, and keep-alive boxes bill every month whether used or not. boat's limit is start rate: for 1,000 short jobs at once, even the $2,000 plan starts at most 90 a minute and 2,400 a day, so the burst is queued.

ScenarioGitHub CodespacesUpstash Boxboat
One coding agent, workdaysNone that bite
  • flat pool: the tier is billed whether used or not
  • egress price not published
None that bite
One agent that never stops
  • Personal account: GitHub Free: sessions capped at 12 h
  • flat pool: the tier is billed whether used or not
  • egress price not published
None that bite
50 agents in parallel
  • how many machines can run at once: limit not published, probably fine at 50 (the typical published limit is 50)
  • missing Docker inside
  • flat pool: the tier is billed whether used or not
  • egress price not published
None that bite
Sandboxes for your users
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
  • egress price not published
None that bite
1,000 short jobs at once
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
  • egress price not published
  • max 2,400 starts/day (needs ~6,667)
  • max 600 starts/hour (needs ~1,000)
  • bursts above 90 starts/min are queued (a burst of 333 takes ~4 min to start)

Which one should you use?

Use GitHub Codespaces when

your developers want a ready VS Code environment for a GitHub repository, opened from a branch or pull request, in the US, EU or Asia.

  • Built into GitHub. Useful if your team lives on GitHub: open a ready dev container from any repo, branch or pull request in VS Code.
  • Free hours for personal accounts. Useful for occasional personal work: a GitHub Free account includes 120 core-hours and 15 GB-month of storage each month.
  • Big machines in more regions. Useful for heavy builds or teams outside the US: up to 32 cores, in US East, US West, Europe West and Southeast Asia.

Use Upstash Box when

your agents mostly wait, need to wake on an incoming request, must stay inside a strict outbound allowlist, or must run in the US, and do not need Docker.

  • Idle costs no CPU, and a request wakes the box. Good for agents that wait a lot: you pay only for CPU used, and a request to its URL wakes a paused box.
  • Outbound network rules. Useful when an agent may only reach a short list of domains or IP ranges, changeable on a running box.
  • Agents and big bursts built in. Claude Code, Codex and OpenCode come built in, and Pay as You Go runs 1,000 boxes at once by default.

Where boat fits

If what you are really running is coding agents that build, test and keep working for hours, neither fits cleanly: Codespaces is a dev environment that stops at 12 hours, and an Upstash box is a container with no Docker inside. boat gives each agent a full VM that keeps running, with Docker, a desktop and agents you drive from outside.

A whole Linux machine with Docker and /dev/kvm

An Upstash box offers no Docker inside, so the 50-agent scenario does not fit there. A codespace runs Docker in a dev container but documents no /dev/kvm, so emulators and microVMs are out. boat has Docker, systemd and /dev/kvm on every machine.

Machines that keep running and keep their work

A codespace stops at 12 hours even while in use, so a long agent task needs a restart script and its processes end. Upstash disks stop at 10 GB on the 4 vCPU size. boat has no session cap on paid plans, saves the disk every minute and forks running machines.

A desktop the agent can see, and keys kept outside

Codespaces has no desktop and copies secrets in as environment variables. Upstash has only a headless browser, and its header proxy is set when the box is created. boat streams a 60fps desktop and its credentials proxy can switch accounts when credits run out.

Use boat when your agents need a real machine: Docker, emulators, a desktop, a big disk and services that keep running for as long as the work takes. Compare it one to one: boat vs GitHub Codespaces and boat vs Upstash Box.

Questions people ask

Is GitHub Codespaces cheaper than Upstash Box?

In the scenarios we priced, Upstash costs less: one coding agent on workdays is $21 a month against $51, and one agent running all month is $21 against $270, where Codespaces also needs a restart every 12 hours. 50 agents come to $3,019 on Codespaces, and $900 on Upstash, which does not fit because it has no Docker inside. boat is $20, $26 and $317 for the same three.

Which is faster, Codespaces or Upstash Box?

We cannot say: neither has a result in the public CPU benchmark we use. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB on dedicated AMD Ryzen 9 9950X hosts.

Can GitHub Codespaces or Upstash Box run Docker?

Codespaces can: Docker works inside the dev container and you have sudo, though /dev/kvm is not documented. Upstash Box does not offer Docker inside, since each box is itself a Docker container. Every boat machine has Docker, systemd and /dev/kvm.

Can I run an AI agent 24/7 on Codespaces or Upstash Box?

Not on Codespaces without restarts: a codespace stops after 12 hours at most, even while in use. On Upstash a keep-alive box stays on all month for a flat price. boat has no session cap on paid plans and keeps the disk across stops.

Where do Codespaces and Upstash Box run?

Codespaces runs in US East, US West, Europe West and Southeast Asia. Upstash Box runs only in AWS us-east-1, with more regions planned. boat runs in the EU, in Germany, Finland and France.

Is boat SOC 2 compliant?

SOC 2 is in progress. We're open about where we stand: live status at status.ascii.dev and our data retention policy at docs.boat.dev/data-retention.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons