GitHub Codespaces vs Beam
GitHub Codespaces is a dev environment for people: a Linux dev container for a GitHub repository, opened in VS Code or the browser, that stops after 12 hours at most. Beam is a serverless cloud you drive from a Python or TypeScript SDK, with quick gVisor sandboxes, persistent CPU VMs and GPUs.
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.
Beam
Beam is a serverless cloud for GPU inference, sandboxes and background jobs, built on its open-source runtime Beta9.
Beam runs functions, REST endpoints, task queues, pods, sandboxes and VMs on CPUs and GPUs, all from a Python or TypeScript SDK. A sandbox is a container isolated with gVisor that starts in a second or two, lives until you terminate it or its time to live runs out, and can be saved as a filesystem image or a memory snapshot. Beam VMs are a separate CPU product: a microVM with its own kernel, systemd and a root disk that stays when it stops. Much of Beam is a GPU serverless platform for AI teams.
- Bring your own cloud
- Management fee per vCPU and GB of RAM, on top of your own cloud bill
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 workload | GitHub Codespaces: price rank | Beam: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs Docker, systemd and a disk that lasts; Codespaces stops every 12 hours, Beam sandboxes end with their time to live, and neither documents /dev/kvm, which boat has on every machine. | 274th of 367, with limits $4,618 a month | 69th of 367, with limits $551 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on one machine all month does not fit Codespaces, which stops after 12 hours at most; a Beam VM or a boat sandbox keeps its disk and keeps running. | 309th of 366, with limits $6,970 a month | 115th of 366, with limits $651 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 Beam fits short code runs well: its sandboxes start in a second or two, bill per second and go away when the timer ends, while each codespace builds a dev container on a new VM. | 288th of 345, with limits $619 a month | 8th cheapest of 345 $117 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 Codespaces are made for GitHub users on a repository and GitHub does not publish how many can run at once, while Beam and boat both hand out machines to your own users from code. | 281st of 361, with limits $1,964 a month | 3rd cheapest of 361 $290 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 | 341st of 360, with limits $939 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 | 13th cheapest of 364 $251 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 Codespaces has no fork or snapshot API, so each run starts from a repo or a prebuild; Beam can restore memory snapshots, and boat forks a running VM that also has /dev/kvm for Android and VM builds. | 314th of 377, with limits $909 a month | 12th cheapest of 377 $171 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Codespaces is a polished VS Code box per repo but stops after 12 hours at most, while a Beam VM and a boat sandbox both keep running and keep their disk when stopped. | 130th of 368, with limits $270 a month | 13th cheapest of 368 $21 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 Neither Codespaces nor Beam has a graphical desktop, while boat streams a 60fps Linux desktop with Chromium for computer use. | 267th of 369, with limits $1,367 a month | 111th of 369, with limits $237 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 | 195th of 367, with limits $176 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 | 200th of 346, with limits $131 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 | 42nd of 338, with limits $923 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 | 267th of 360, with limits $445 a month | 175th of 360, with limits $155 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 Beam has GPUs from RTX 4090 up to H100, H200 and B200; current Codespaces machines have no GPU, and boat is CPU only. | Can't run it | Cheapest of 98 $458 a month | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month | Can't run it | Can't run it | Can't run it |
Key features
| Feature | GitHub Codespaces | Beam | boat |
|---|---|---|---|
| Isolation | A Docker container on its own newly built VM, with its own virtual network | gVisor container by default for sandboxes; separate Beam VMs are CPU microVMs with their own kernel | Every sandbox is a full VM with its own kernel, on dedicated AMD Ryzen 9 9950X hosts |
| How long it runs | Stops after 30 idle minutes by default (up to 240) and after 12 hours at most, even while in use | Sandbox time to live is 10 minutes by default; set -1 to run until you terminate it | Runs until you stop it; no session cap on paid plans |
| Files after a stop | Files are kept and storage is billed; stopped codespaces are deleted after 30 days by default | A sandbox ends with its time to live unless you save an image or use a volume; a Beam VM keeps a 50 GiB root disk while stopped | Disk saved every minute and on stop; a stopped sandbox keeps it and costs nothing |
| Docker and systemd | Docker and sudo inside the dev container | Docker inside sandboxes with docker_enabled; systemd only in Beam VMs, not in sandboxes | Docker, systemd and root, like a normal Ubuntu server |
| Nested virtualization | /dev/kvm is not documented | /dev/kvm is not documented | Yes, /dev/kvm for Android emulators and VMs |
| Fork and snapshots | No copy or snapshot endpoint; new codespaces start from a repo, branch, pull request or prebuild | Memory snapshot of a running sandbox with its processes, restored into new sandboxes | Fork a running sandbox with its disk; named snapshots as templates |
| Starting point | Dev container config in the repository, with prebuilds built by GitHub Actions | A container image you choose, or a saved filesystem image or memory snapshot | Named snapshots (templates), shareable by code; no Dockerfile builds |
| GPUs | No GPU machine types in current docs | GPU sandboxes and serverless GPUs up to H100, H200 and B200 | No, CPU only |
| Desktop and computer use | VS Code in the browser or on your machine, JupyterLab and a terminal; no graphical desktop | No desktop or browser product | 60fps Linux desktop with Chromium, computer use and browser control |
| Reaching the machine | A URL per forwarded port, private, organization or public; SSH and CLI tunnels; no public IP | A public HTTPS URL per exposed port with no built-in auth; no raw TCP or dedicated IP | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6 |
| Outbound internet | Open internet; GitHub says there is no way to restrict it | Block all outbound traffic, or allow up to 10 CIDR ranges, changeable while running | Open internet on every plan; no provider-side allowlist |
| Coding agents | GitHub Copilot as a VS Code extension; other agents you install and run yourself | None preinstalled; you install and run them through process exec | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Keeping keys out of the machine | Secrets are copied into the codespace as environment variables | Secrets are exposed as environment variables inside the sandbox | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Regions | US East, US West, Europe West and Southeast Asia | US only; no other region is listed | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | GitHub Codespaces | Beam | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | No | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | No | Yes |
| Automatic snapshots | No | No | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | Yes | Yes |
| Memory fork | No | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | No | Yes | Yes |
| Idle auto-stop | Yes | No | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | Yes | No |
| GPU | No | Yes | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | No | Yes | No |
| BYOC | No | Yes | No |
| Open source | No | Yes | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | No | Yes | No |
| EU data residency | Yes | Not published | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for GitHub Codespaces or Beam: neither has a result on the StarSling hpc-sandbox-benchmarks test, so we cannot say which is faster at CPU work. boat did 26.69 Node.js build-and-test runs per second on that test at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. Beam's own guide says its sandboxes cold-boot in 1 to 3 seconds.
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 Beam 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.
| Scenario | GitHub Codespaces, a month | Beam, a month | boat, 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 | $5 · Developer | $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 | $22 · Developer | $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 | $410 · Team | $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 | $191 · Team | $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 | $259 · Team | $2,000 · $2000/mo · with limits |
GitHub Codespaces: Codespaces bills $0.09 per core-hour for the whole time a codespace is active, plus $0.07 per GB-month for storage while it exists, stopped too. There is no 4-core machine with 8 GB, so 4 vCPU jobs are priced on the 4-core 16 GB machine; personal accounts get a free monthly quota and organizations do not.
Beam: Beam sandboxes bill per second for each CPU core (two vCPU) and each GiB of RAM you request, until you terminate them or their time to live ends, so an idle tail is billed too. Developer has no fee, Team costs $89 a month plus usage with no usage credit, and there are no egress fees.
Beam: Plans start at $20 a month, and the whole fee becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Every codespace stops after 12 hours at most, so the always-on price for Codespaces assumes a script that restarts it, and running processes end at each stop. GitHub does not publish how many codespaces can run at once, so 300 user sandboxes and 1,000 short jobs are not confirmed. Beam's Developer plan allows 30 CPU containers at once, so 50 agents need the Team plan, and Beam publishes no price for extra disk, so the scenarios count none. boat's start limits queue the 1,000-job burst, which Beam's Team plan fits.
| Scenario | GitHub Codespaces | Beam | boat |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
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. For teams on GitHub: open a ready VS Code setup from any repo, branch or pull request, with prebuilds from GitHub Actions.
- Free hours for personal accounts. For occasional personal work: a GitHub Free account includes 120 core-hours and 15 GB-month of storage each month.
- Regions in the US, EU and Asia. For developers spread around the world: codespaces run in US East, US West, Europe West and Southeast Asia.
Use Beam when
you need GPUs, many short sandboxes that start in seconds, US hosting with outbound rules, or a runtime you can self-host.
- GPUs in the same platform. For work that needs a GPU: Beam offers GPU sandboxes and serverless GPUs from RTX 4090 up to H100, H200 and B200.
- Quick sandboxes for short jobs. For many short code runs: sandboxes start in a second or two, bill per second and end on their own timer.
- Open source and your own cloud. For teams that must self-host: the Beta9 runtime is AGPL-3.0, and Beam can also run in your own cloud for a fee.
Where boat fits
Codespaces is built for people editing a repo, and Beam is built around serverless jobs and GPUs. If what you are really running is coding agents that work for hours, install tools, run Docker and need a screen, boat gives each one a full VM built for that. Pick Beam instead when you need GPUs, and Codespaces when your developers want a VS Code box per repo.
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 loses its processes. A Beam sandbox ends with its time to live unless you save an image. boat runs until you stop it and saves the disk every minute.
A full VM with systemd and /dev/kvm
A codespace is a dev container and a Beam sandbox is a gVisor container without systemd; neither documents /dev/kvm, so Android emulators and nested VMs have nothing to start on. Every boat sandbox has its own kernel, systemd, Docker and /dev/kvm.
Agents, desktop and keys built in
On both, you install and drive each agent yourself, there is no desktop for computer use, and API keys sit in environment variables any code can read. boat ships agents with a prompt API, a 60fps desktop, and keeps keys outside in a proxy.
Use boat when your code starts and drives agents that work for hours or days: full VMs with systemd and /dev/kvm, a desktop and open ports, built-in coding agents with keys kept outside, and a disk that is still there the next time it starts. Compare it one to one: boat vs GitHub Codespaces and boat vs Beam.
Questions people ask
Is GitHub Codespaces cheaper than Beam?
No, Beam costs less in all five scenarios we priced. One coding agent on workdays is $51 a month on Codespaces against $5 on Beam, and 50 agents in parallel come to $3,019 against $410. Beam publishes no price for extra disk, so its figures count none, and boat sits close to Beam, at $20 and $317 for those two.
Which is faster, Codespaces or Beam?
We cannot say for CPU work: neither has a result on the StarSling benchmark we use. Beam's guide says its sandboxes cold-boot in 1 to 3 seconds, while a codespace builds a dev container on a new VM, which prebuilds speed up. boat did 26.69 runs per second on that benchmark.
Can I run an AI agent 24/7 on Codespaces or Beam?
Not on Codespaces without restarts: a codespace stops after 12 hours at most, even while in use. On Beam you can set a sandbox's time to live to -1 so it runs until you terminate it, or use a Beam VM that keeps its disk. A boat sandbox runs until you stop it, with no session cap on paid plans.
Can Codespaces and Beam run Docker?
Yes. Docker works inside a codespace's dev container with sudo, and Beam supports Docker inside a sandbox with docker_enabled. Neither documents /dev/kvm, which every boat machine has along with Docker and systemd.
Do Codespaces or Beam have GPUs?
Beam does, with GPU sandboxes and serverless GPUs up to H100, H200 and B200. Current Codespaces docs list no GPU machine types, and boat is CPU only, so pick Beam for GPU work.
Where do Codespaces and Beam run?
Codespaces runs in US East, US West, Europe West and Southeast Asia, and you pick the region when you create one. Beam runs on AWS and Google Cloud in the United States, with no other region listed. boat runs only in the EU, in Germany, Finland and France.
Try boat
Install the CLI, then run boat new.
7-day free trial
More comparisons
- boat vs GitHub Codespaces
- boat vs Beam
- E2B vs GitHub Codespaces
- Daytona vs GitHub Codespaces
- Modal vs GitHub Codespaces
- Vercel Sandbox vs GitHub Codespaces
- Cloudflare Sandbox vs GitHub Codespaces
- Blaxel vs GitHub Codespaces
- Runloop vs GitHub Codespaces
- Tensorlake vs GitHub Codespaces
- Morph Cloud vs GitHub Codespaces
- CodeSandbox SDK vs GitHub Codespaces