Run heavy jobs remotely.
Keep agents local.
Offload tests, browsers, typechecks and builds with sx or an agent hook so parallel worktrees never bog down your Mac. Extra compute spins up automatically when your agents need muscle, tears itself down when they finish, and brings changed files back to your worktree.
Zero commitment: no servers to start or stop, no monthly minimums, and no spotexec account. Run free on hardware you already own, or burst onto AWS Spot from $0.0056 an hour and drop right back to $0.00/hr when idle.
brew install daintreehq/tap/spotexecmacOS via Homebrew. For Linux or source builds, see the install guide.
$ sx pnpm vitest run -u
Test Files 184 passed (184)
Tests 2316 passed (2316)
Snapshots 2 updated
38.4s on aws#3 · synced 4 files (18 KB) · pulled 2 modified files
$ sx pnpm prettier --write src/
src/auth.ts 42ms
src/session.ts 19ms
0.9s on homelab#1 · pulled 2 modified filesSame local worktree, zero server setup. The test suite burst onto an on-demand Spot VM, the formatter ran on a box at home, both wrote modified files back safely, and the Spot VM shuts itself down once idle.
Nothing to start or tear down
You never boot servers before coding or remember to shut them down after. Spot VMs launch automatically when agents need extra CPU and RAM, then terminate themselves once idle.
Flexible workloads, zero commitment
Run one quick check a week or twenty parallel agents all afternoon. There are no subscriptions, monthly minimums or warm pools burning money between bursts.
Your local workflow stays intact
Agents, Git worktrees, your editor and localhost dev servers stay on your Mac. Only heavy processes leave the machine, and modified files come right back.
Offload the heavy jobs, not your workspace.
One coding agent is light; four or eight checking their work at once will push a 32 GB Mac into swap. Concurrent Vitest pools, headless Playwright browsers, benchmarks and compilers eat memory, spin up the fans and stall your editor.
spotexec sends only those heavy commands to remote slots. Because your agents, Git worktrees and editor never leave your machine, everything local stays instant, and a reclaimed Spot VM costs one automatic rerun rather than a lost session.
- wt/auth Claude Code sx vitest
- wt/checkout Claude Code sx playwright
- wt/api Codex sx tsc
- wt/worker Claude Code sx go test
Stays local: the agents, your editor, git, rg and dev servers on localhost.
- vitest run --coverage slot 1
- playwright test slot 2
- tsc --noEmit slot 3
- go test -race ./... slot 4
Runs remotely: tests, formatters, benchmarks, browsers, typechecks and builds. Spins up on demand and terminates when idle.
Hands-free for coding agents
spotexec hook install --claude (or --codex) offloads heavy test, lint and build commands automatically, or only when local CPU load is high. Agent setup
Automatic fleet lifecycle
When agents spike, sx boots AWS Spot VMs on its own, packs concurrent runs onto warm slots, and tears idle instances down with zero manual cleanup. Scaling
Repeat runs move almost nothing
Clean files reuse Git blob IDs without reading disk, so repeat runs sync 0 bytes. Dependencies hydrate from a lockfile-keyed cache. Caching
Raw Spot prices when busy. $0.00 when you stop.
Live AWS Spot price ·
A 2 vCPU / 8 GB m6a.large Spot worker, the size we usually recommend, in the cheapest region right now.
- Region
- ap-south-2 · Hyderabad · opt-in
- Saving
- 90% off On-Demand ($0.0556/hr)
- 4 vCPU / 16 GB
- m6a.xlarge $0.0111/hr in ap-south-2, 90% off
Spot pricing is dynamic. These are live AWS Spot rates in your own account with zero spotexec markup, refreshed hourly. Run one burst or a hundred with no subscription and no commitment: idle workers terminate themselves, so quiet hours and quiet weeks cost $0.00.
| Instance | On-Demand | Spot | Saving |
|---|---|---|---|
| c6a.large ap-south-2 · Hyderabad · opt-in | $0.0467 | $0.0047 | 90% |
| c6a.xlarge ap-south-2 · Hyderabad · opt-in | $0.0935 | $0.0094 | 90% |
| c6a.2xlarge ap-south-2 · Hyderabad · opt-in | $0.1870 | $0.0187 | 90% |
| m6a.large ap-south-2 · Hyderabad · opt-in | $0.0556 | $0.0056 | 90% |
| m6a.xlarge ap-south-2 · Hyderabad · opt-in | $0.1111 | $0.0111 | 90% |
| m6a.2xlarge ap-south-2 · Hyderabad · opt-in | $0.2222 | $0.0222 | 90% |
Per worker, per hour, Linux, in each type's cheapest region and zone right now. Current AWS Spot prices as of , refreshed hourly and subject to change. Opt-in regions must be enabled in your AWS account first.
Elastic compute, handled end to end
You never start servers before working or tear them down afterward. Hardware you already own takes jobs first for free. The moment agents outgrow it, sx boots Spot VMs automatically for the overflow, packs new runs onto the oldest instance, and lets drained VMs power themselves off. Everything coordinates locally with no cloud control plane.
- homelabssh · priority 104 of 4 busy
- aws/i-04a1spot · c7a.xlarge · oldest2 of 2 busy
- aws/i-08f2spot · c7a.xlarge · newest2 of 2 busy
Eight agents verify at once. Your homelab fills, and two Spot VMs boot automatically to absorb the spike.
Live, updated hourly ·
Where Spot is cheapest right now
AWS sells m6a.large as Spot in 16 regions. Each price is the cheapest Availability Zone in that region, refreshed hourly from AWS.
The cheapest region isn't always the best one. A region near you keeps SSH round-trips fast, opt-in regions have to be enabled in your account first, and Spot quotas are per region. See the AWS Spot fleet guide.
- 1 ap-south-2Hyderabad · opt-in region · interrupted <5%$0.005690% off
- 2 us-east-2Ohio · interrupted 10-15%$0.021875% off
- 3 ap-south-1Mumbai · interrupted <5%$0.026752% off
- 4 us-west-2Oregon · interrupted 5-10%$0.031264% off
- 5 us-east-1N. Virginia · interrupted 10-15%$0.031364% off
- 6 sa-east-1Sao Paulo · interrupted 15-20%$0.033176% off
Linux, per hour. Current AWS Spot prices as of , refreshed hourly and subject to change. Interruption rates from the AWS Spot Instance Advisor.
Pool the heavy work, not the agents.
Cloud sandbox providers like boat.dev, E2B, Daytona, Modal, and Vercel Sandbox rent you one remote VM or container per coding agent, often on shared host CPU with monthly minimums or platform markups. Every sandbox stays allocated while the agent thinks or waits on LLM responses, locking each agent into a fixed slice.
spotexec is free, open source, and asks for zero commitment. Your 20 agents and files stay on your machine at zero cloud cost, while remote compute spins up in your own AWS account only when heavy commands actually need it. Run one quick check all week or hit a stampeding herd of 20 agents testing together: sx boots Spot capacity automatically to run them in parallel, packs jobs oldest-first as demand clears, and tears everything back down to $0.00/hr.
All 20 sandboxes stay awake through LLM waits. On shared-CPU hosts (like boat.dev or Modal), heavy bursts compete on the host; on dedicated slices, you pay for 16 idle VMs anyway.
Average concurrency across 20 agents is ~4 jobs. Oldest-first bin-packing keeps the core pool warm while overflow VMs drain and self-terminate.
Monthly cost for 20 parallel agents (40 hrs/mo)
4 vCPU / 8 GiB eq. (20% heavy CPU)- spotexec (4 x c6a.xlarge) $7.38
- Agent 37 $10.40
- boat.dev $28.80
- Cloudflare Sandbox $108.68
- Tensorlake $140.80
- Vercel Sandbox $217.60
- E2B $264.96
- Modal Sandbox $380.64
- Runloop $506.88
20 local agents share 4 Spot workers (5:1 pooling at a 20% heavy-job duty cycle). us-east-2 is enabled by default in AWS accounts; opt-in regions can be cheaper.
Zero minimum vs. $20/mo floor
0 to 100 hrs/moNo subscriptions, credit floors or warm pools to babysit. Light months cost pennies; idle weeks cost $0.00.
Top 5 competitors (20 parallel agents, 40 hrs/mo)
Spot prices as of
| Platform | Billing & minimum | Per sandbox / worker | Active /hr | Monthly (40h) | Notes |
|---|---|---|---|---|---|
spotexec (4 x c6a.xlarge) Local agents, shared Spot pool | Raw AWS Spot, $0 min | $0.0461/hr | $0.184/hr | $7.38 | 16 dedicated vCPU / 32 GiB pool in us-east-2. 5:1 pooling. |
boat.dev Full Ubuntu VM per agent | Per-sec, $20/mo min | $0.0360/hr | $0.720/hr | $28.80 | Shared host CPU; $20/mo credit floor; 60 starts/hr & 200/day cap on $20 plan. |
Cloudflare Sandbox Container per agent | Active CPU + wall-clock RAM, $5/mo | $0.1296/hr | $2.592/hr | $108.68 | Workers Paid ($5/mo) plus RAM/disk billing continuously while awake. |
Vercel Sandbox Sandbox per agent | Active CPU + wall-clock RAM | $0.2720/hr | $5.440/hr | $217.60 | CPU pauses on LLM wait, but 8 GiB RAM bills 100% wall-clock. |
E2B Firecracker microVM per agent | Wall-clock/sec, $0 Hobby | $0.3312/hr | $6.624/hr | $264.96 | Dedicated vCPU slice, wall-clock billing during LLM waits; Hobby caps at 1 hr. |
Modal Sandbox Serverless container per agent | 3x base (non-preemptible), $0 min | $0.4758/hr | $9.516/hr | $380.64 | Shared multi-tenant nodes; bills max(requested, actual)/sec; region pinning adds 1.15x to 1.75x. |
Competitor columns model 20 concurrent 4 vCPU / 8 GiB sandboxes (1 per agent) at a 20% active CPU duty cycle from published list rates. spotexec columns model 4 shared AWS Spot workers absorbing the same 20-agent workload while agents stay local. Add a homelab/SSH runner at priority = 10 and steady-state cloud cost drops to $0.00/hr.
Local edits survive the return trip.
Formatters, lint fixes and snapshot updates come back as files. Before writing one, sx checks your local copy against the exact git blob SHA-1 it synced.
If you or an agent edited the file during the run, your copy stays put and the remote version is saved next to it.
$ sx pnpm prettier --write src/
src/auth.ts 42ms
src/session.ts 19ms
! SYNC_CONFLICT src/auth.ts was edited locally during the run
kept your copy · remote version in .git/spotexec/conflicts/<run-id>/
0.9s on homelab#1 · pulled 1 modified file · 1 conflictYou edit a file during the run
Your copy stays put. The remote version goes into .git/spotexec/conflicts/ so you can compare.
You close the laptop
The remote job stops after 45 seconds without a heartbeat, and each VM's watchdog terminates the instance after idle_timeout. Nothing bills all weekend.
AWS reclaims the instance
The helper catches the two-minute Spot notice and lets the run finish if it can. Otherwise sx acquires another slot and replays it once automatically, never writing partial files back.
What a runner can't do
Repos and VMs are treated as untrusted. Security model
- Runner VMs hold no AWS credentials. Caches move over short-lived presigned URLs.
- A cloned
.spotexec.tomlcannot change hosts, profiles, regions or buckets. - Write-back rejects symlinks,
..paths and anything inside.git. - Each machine gets its own
spotexec-<hostname>IAM user, so you can revoke one on its own.
Run your first remote command.
Configure once in a couple of minutes. From then on, servers spin up automatically when agents need extra power and tear themselves down when they finish.
brew install daintreehq/tap/spotexecmacOS via Homebrew. For Linux or source builds, see the install guide.
- 1
Set up this machine
$spotexec setupWrites
config.toml, creates a scoped IAM key and checks your Spot quota. Sign in withaws loginfirst if you're using AWS, and see the Spot quotas guide to raise your limit. - 2
Initialise the repo
$spotexec init && spotexec doctorDetects lockfiles, dependency caches and tasks, then checks SSH and the remote helper end to end.
- 3
Run a job, or let agents do it
$sx pnpm testOr run
spotexec hook install --claudeonce so your agents burst heavy commands out automatically whenever local load rises.