Sub-200ms cold starts, everywhere

Fleet overview

New sandbox

Sandboxes running

12,408

1H1D1W1MAll

Agents

scout

3s ago

harvest

4m ago

triage

2h ago

playground

9h ago

Recent calls

AgentActionms
scoutexec1,204
harvestbrowse882
triagerestore310
scoutwrite44

Harbor is somewhere for your agents to run. Sandboxes. Snapshots. Browsers. Volumes. Egress. Replay. The whole machine, on demand

Speed

Fast enough to be a tool call

174ms
1.4s
6.2s

Boots before the model finishes thinking

A Harbor sandbox is live in under 200ms — fast enough to sit inside a single tool call instead of around it.

exec
read
fetch
write
exec

Every keystroke is on the record

Processes, files, and outbound requests are captured as a replayable timeline you can scrub through after the fact.

MCP
CLI
SDK
API

One API, four ways in

The same primitives are reachable over MCP, the CLI, typed SDKs, and plain HTTP. Nothing is exclusive to one surface.

Primitives

Four pieces cover almost every agent workload

harbor.sandboxes.create({
  runtime: "node24",
  ttl: "15m",
})

Run

Spin up an isolated machine with a filesystem, a shell, and a headless browser. It lives as long as the task does.

const snap = await box.snapshot()
await snap.fork({ count: 1000 })

Snapshot

Freeze a sandbox mid-task — memory, disk, and open processes — then fork it a thousand times to explore branches in parallel.

egress: {
  allow: ["api.stripe.com"],
  log: "full",
}

Reach

Give an agent the open internet, an allowlist of five domains, or nothing at all. Every request is logged with its response.

volumes: [
  { id: "vol_ws", at: "/workspace" },
]

Persist

Mount a durable volume so work survives the sandbox. Reattach it to the next run, or to a different agent entirely.

Control

Isolation, limits, and total replay

  • Every sandbox is a hardware-isolated guest, not a shared namespace
  • Agents inherit scoped credentials that expire with the run
  • Outbound requests are allowlisted, logged, and replayable
  • Session recordings retain for 30 days, or export to your own bucket

scout

running · 4m 12s

Open replay
Sandbox ID
sbx_9f4c…12ab
Egress
3 domains allowed
Owner
Priya Raman

Developers

Start a sandbox from MCP, the CLI, an SDK, or curl

{
  "mcpServers": {
    "harbor": {
      "command": "npx",
      "args": ["-y", "@harbor/mcp"],
      "env": { "HARBOR_KEY": "hb_live_..." }
    }
  }
}

Scale

Boring where it counts

SOC 2 Type II

Independently audited, with hardware isolation between every tenant and every run.

40M sandboxes / day

Capacity scales with your fleet. No pre-warming, no reserved pools, no queue.

99.99% uptime

Across nine regions, with automatic placement near whatever your agent is talking to.

Teams

Built with the people running agents in production

We were spending more engineering time babysitting containers than building the agent. Harbor made that whole layer stop existing.
Dana Okonkwo · Founder, Fieldnote
Forking a snapshot a hundred ways and keeping the branch that worked changed how we think about planning entirely.
Marco Lind · Head of Engineering, Overtone
The replay timeline is the first thing our support team opens. It ended a whole category of unanswerable questions.
Sasha Meyer · CTO, Portage AI
Our security review took two weeks instead of two quarters, mostly because the isolation story was already written down.
Iris Tanaka · Platform lead, Cadence Health

Journal

Notes from the runtime

Give your agents somewhere to run. Free until they scale