Depot vs Buildkite
Depot plugs into GitHub Actions: you change one runs-on label and each job runs on a fresh Depot machine with a shared fast cache. Buildkite is its own CI platform, where you write Buildkite pipelines and its hosted agents run each job on a VM that is destroyed afterwards.
The companies and products
Depot
Depot is a build and CI platform: faster Docker builds, drop-in GitHub Actions runners, its own Depot CI, and newer sandboxes for coding agents.
Depot's main product is GitHub Actions runners: you change one runs-on label and each job runs on a fresh AWS EC2 instance that is thrown away when the job ends, with Linux, Arm, Windows and macOS sizes and a shared fast cache. It also sells remote agent sandboxes that run Claude Code in a container, and a Sandbox SDK in public beta whose sandboxes live at most 24 hours. It is built for engineering teams that want CI and builds to finish sooner, so it is a different kind of product than an agent sandbox, and this page compares where the two overlap.
Buildkite
Buildkite is a CI and software delivery platform, and hosted agents are the build machines it runs for you.
You write Buildkite pipelines, and each job runs on a fresh virtual machine that Buildkite starts for that job and destroys when it ends; only cache volumes carry files to the next job. Hosted agents come in Linux and macOS on Apple M4, with Windows in private preview, and you can also run Buildkite's agent on your own machines. It is a CI service, not an agent sandbox, so this page compares the part where they overlap: a machine where an agent or a job does its work.
- Where it runs
- Hosted agents run only in US East Coast data centers
- Compliance
- Maintains a SOC 2 Type II report
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. “125th cheapest of 377” means 124 of the other 376 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 | Depot: price rank | Buildkite: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month An agent that builds an app over days loses its machine on both: a Depot runner ends with the job and a Buildkite job VM is destroyed, so boat, where the disk stays, fits better. | 331st of 367, with limits $8,688 a month | 43rd of 367, with limits $11,648 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 does not fit either: Depot's Sandbox SDK caps a sandbox at 24 hours and a Buildkite job stops after 8 hours on Linux. | 86th of 366, with limits $13,148 a month | 351st of 366, with limits $17,564 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 | 311th of 345, with limits $1,188 a month | 315th of 345, with limits $1,587 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 Your users' sandboxes need a URL to reach them; neither Depot nor Buildkite exposes ports, while boat serves HTTPS on up to 50 ports and raw TCP. | 318th of 361, with limits $3,713 a month | 326th of 361, with limits $4,984 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 | 311th of 360, with limits $17,908 a month | 316th of 360, with limits $23,881 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 | 319th of 364, with limits $2,888 a month | 324th of 364, with limits $3,884 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 Depot is a full fit for CI as a one-line GitHub Actions change, Buildkite fits if you move to its pipelines, and boat gives you a full VM to run your own runner on. | 125th cheapest of 377 $1,736 a month | 203rd of 377, with limits $2,318 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Both reset the machine after each job, keeping only cache paths, so a dev box that keeps its packages all month fits boat. | 199th of 368, with limits $534 a month | 354th of 368, with limits $715 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 Buildkite's macOS desktop access is for a person debugging a job and Depot has no desktop product; boat streams a 60fps Linux desktop with computer use. | 321st of 369, with limits $2,600 a month | 70th of 369, with limits $3,500 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 | 139th of 367, with limits $1,304 a month | 142nd of 367, with limits $1,772 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 | 139th of 346, with limits $1,763 a month | 142nd of 346, with limits $2,354 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 | 312th of 338, with limits $35,108 a month | 317th of 338, with limits $46,814 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 | 81st of 360, with limits $863 a month | 85th of 360, with limits $1,184 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 Neither Buildkite's hosted shapes nor boat's have GPUs; Depot lists GPU runners only on its custom Business plan. | Can't run it | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month Both rent macOS by the minute: Depot ranks 10th of 36 here and Buildkite ranks 35th, while boat runs Linux only. | 10th of 36, with limits $248 a month | 35th of 36, with limits $2,310 a month | Can't run it |
Key features
| Feature | Depot | Buildkite | boat |
|---|---|---|---|
| What it is | Drop-in GitHub Actions runners, Depot CI, fast Docker builds, plus agent sandboxes and a beta Sandbox SDK | A CI platform with its own pipelines; hosted agents are the build machines it runs for you | VMs for AI agents that you keep, stop, fork and host from |
| Isolation | A fresh AWS EC2 instance per job, destroyed after the job | A virtual machine per job, destroyed after the job; Apple Virtualization framework on macOS | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| How long a machine lives | Runners end with the job; Sandbox SDK default 120 minutes, at most 24 hours | Up to 8 hours per job on Linux and 4 on macOS, longer on request | No session cap on paid plans; runs until you stop it |
| Files between runs | Runners are never reused; a shared cache up to 1000 MiB/s, 25 GB on Developer | Cache volumes keep chosen paths after successful jobs, best effort, up to 14 days, Pro and up | The whole disk is saved every minute and on stop; a stopped sandbox costs nothing |
| Docker and nested virtualization | Docker on Linux runners; /dev/kvm only on Depot CI sandboxes; no Hyper-V on Windows | Docker on Linux; macOS has the Docker CLI but no daemon; /dev/kvm not documented | Docker, root, systemd and /dev/kvm on every machine |
| macOS | macOS 26, 15 and 14 runners at 8 CPU / 24 GB | macOS on Apple M4 with Xcode, up to 12 vCPU / 56 GB | Linux only |
| Windows | Windows Server 2025 and 2022 runners | Windows Server 2022 in private preview | Linux only; Wine for Windows apps |
| Arm and GPU | x64 and Graviton4 Arm runners; GPU runners on the Business plan | ARM64 Linux on Enterprise only; CPU only | x64 only; CPU only |
| Regions | United States, or the European Union if a project chooses it | US East Coast only | EU only (Germany, Finland, France), with EU data residency |
| Machines at once | Says its runners have no concurrency limits | Pro: 128 concurrent jobs and a shared pool of 256 Linux vCPU | A sandbox count per plan, with starts capped per minute, hour and day |
| Reaching the machine | SSH into a running Depot CI job for debugging; no documented inbound ports | A terminal into a running job through Buildkite's UI or bk job ssh; no exposed ports | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6 |
| Desktop and computer use | No desktop or computer-use product | Browser-based desktop access to debug a running macOS job; no computer-use API | 60fps Linux desktop with Chromium, computer use and browser control |
| Coding agents | Remote sandboxes that run Claude Code, started and resumed with depot claude | You install Claude Code in your image or step and run it as a pipeline job | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Keeping API keys out | Secrets are passed into the job or sandbox as environment variables | Anthropic proxy: jobs call it with the job token and Buildkite sets the API key header | Credentials proxy for model providers and any HTTPS API; real keys never enter the sandbox |
Every feature Battleships tracks (43)
| Feature | Depot | Buildkite | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Yes | No | Yes |
| Root | Yes | Not published | Yes |
| Systemd | No | No | Yes |
| Desktop GUI | No | Yes | Yes |
| Browser | Yes | Yes | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | No | No | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | No | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | No | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | No | No | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | No | No |
| Secret proxy | No | Yes | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | Yes | No | Yes |
| Agent harness API | Yes | No | Yes |
| MCP server | No | Yes | No |
| GPU | Yes | No | No |
| Windows | Yes | Yes | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | No | Yes | No |
| BYOC | Yes | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Not published | No | No |
| EU data residency | Yes | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable measurement for Depot or Buildkite hosted agents: neither was part of the StarSling hpc-sandbox-benchmarks run. On that Node.js build-and-test benchmark at 4 vCPU / 8 GB, boat did 26.69 runs per second on dedicated AMD Ryzen 9 9950X hosts, so we do not compare CPU speed here.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Depot and Buildkite 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 | Depot, a month | Buildkite, 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 | $122 · Developer · with limits | $166 · Pro · with limits | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $534 · Developer · with limits | $715 · Pro · with limits | $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 | $5,710 · Developer · with limits | $7,677 · Pro · 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 | $1,628 · Developer · with limits | $2,204 · Pro · with limits | $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 | $3,588 · Developer · with limits | $4,787 · Pro · with limits | $2,000 · $2000/mo · with limits |
Depot: Depot plans cost $20 or $200 a month and include GitHub Actions, Depot CI and Docker build minutes; after that a 2-CPU Linux runner costs $0.006 a minute and bigger sizes multiply it.
Buildkite: Buildkite Pro costs $30 per active user a month and includes 4,000 Linux vCPU minutes; after that Linux is $0.004 per vCPU minute and macOS $0.02, metered to the second.
Buildkite: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Both are CI runners, so in every agent scenario the shape of the product bites first: Depot's Sandbox SDK ends a sandbox after 24 hours, and a Buildkite job stops after 8 hours with only cache volume paths kept. Buildkite Pro shares 256 Linux vCPU across all running jobs, so 300 user sandboxes need 600 vCPU and 1,000 short jobs need 2,000, and the rest wait in the queue. Depot says it has no concurrency limits, but we could not confirm 300 or 1,000 machines at once. On boat the 1,000 short jobs burst is the hard one too: starts are capped per minute, hour and day.
| Scenario | Depot | Buildkite | boat |
|---|---|---|---|
| One coding agent, workdays |
|
| 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 Depot when
you want faster GitHub Actions and Docker builds without moving off GitHub, or need Windows, Arm, GPU runners or an EU region.
- Faster GitHub Actions with one line. Useful if you stay on GitHub Actions: change one runs-on label and jobs use Depot's runners and fast shared cache.
- Windows, Arm, GPU and two regions. Useful if you need Windows Server runners, Graviton4 Arm, GPU runners on Business, or jobs that run in the EU.
- No concurrency cap. Useful for big CI fan-outs: Depot says its runners have no concurrency limits on any plan.
Use Buildkite when
you want a full CI platform with its own pipelines, macOS on Apple M4 for iOS builds, or hosted and self-hosted agents side by side.
- A whole CI platform. Useful if you want managed CI beyond GitHub Actions: pipelines, test tooling, and hosted agents mixed with your own.
- macOS on Apple M4. Useful for iOS and Mac builds: Buildkite runs macOS with Xcode on Apple M4, up to 12 vCPU and 56 GB.
- Model keys kept out of jobs. Useful if CI steps call Claude: Buildkite's Anthropic proxy sets the API key, so the job only holds its job token.
Where boat fits
Depot and Buildkite are both CI services: they start a machine for one job and throw it away. If what you are really running is agents that work for hours or days, serve what they build and take new instructions while they run, boat gives each one a full Linux VM that stays. For CI itself, either of them is the more direct tool.
A machine that stays
A Depot runner ends with the job and its Sandbox SDK stops at 24 hours; a Buildkite job stops after 8 hours on Linux. On both, everything outside cache paths is gone, so the agent rebuilds its setup each run.
Apps you can reach from outside
Neither exposes ports: Depot and Buildkite only offer SSH or a terminal for debugging a job. boat serves HTTPS on up to 50 ports plus raw TCP; on the others you add a tunnel to each short-lived machine yourself.
Agents you drive, keys kept out
Depot runs only Claude Code and passes secrets as environment variables; Buildkite's key proxy covers Anthropic only and a pipeline step cannot take new instructions mid-run. boat lets you steer agents inside from outside and proxies keys for any HTTPS API.
Use boat when the work is agents rather than CI jobs: a full Linux VM that keeps its disk, runs Docker and /dev/kvm, serves apps on HTTPS ports and comes with coding agents you drive from outside. Compare it one to one: boat vs Depot and boat vs Buildkite.
Questions people ask
Is Depot cheaper than Buildkite?
In every scenario we priced, yes. One coding agent on workdays comes to $122 on Depot and $166 on Buildkite, one agent running all month to $534 against $715, and 50 agents in parallel to $5,710 against $7,677. For CI runners the monthly estimate is $1,736 on Depot and $2,318 on Buildkite.
Which is faster, Depot or Buildkite?
We have no comparable CPU measurement for either, so we cannot say. Depot's pitch is speed for GitHub Actions through its shared cache of up to 1000 MiB/s and fast Docker builds; Buildkite's is a whole CI platform with cache volumes.
Can Depot and Buildkite run Docker?
Yes on Linux for both. On macOS, Buildkite has the Docker CLI but no daemon, and /dev/kvm is only on Depot CI sandboxes, not on Depot's GitHub Actions runners. boat has Docker, systemd and /dev/kvm on every machine.
Which one has macOS and Windows?
Both rent macOS: Depot runs macOS 26, 15 and 14 at 8 CPU / 24 GB, and Buildkite runs macOS on Apple M4 up to 12 vCPU / 56 GB. For Windows, Depot has Windows Server 2025 and 2022 runners, while Buildkite's Windows is in private preview. boat runs Linux only.
Where do Depot and Buildkite run?
Depot runs in the United States, or in the European Union if a project chooses it. Buildkite hosted agents run only in US East Coast data centers. boat runs only in the EU, in Germany, Finland and France.
Can I run AI coding agents on Depot or Buildkite?
Depot sells remote sandboxes that run Claude Code, and on Buildkite you run Claude Code as a pipeline step with its Anthropic proxy. Both end when the job or session ends. boat ships Claude Code, Codex and more in a VM that stays, and you steer them through an API.
Try boat
Install the CLI, then run boat new.
7-day free trial