Open-source sandbox cloud

Run untrusted code in a microVM of its own.

OmniRun gives every AI agent, code playground or CI job its own Firecracker VM, restored from a snapshot in under a second. Install it on one Linux box you already own, or use the managed service in the EU.

$sudo omnictl install --single-node --loop-size 50G
Firecracker microVMManaged in FinlandApache-2.0
import { Sandbox } from "@omnirun/sdk"

const sbx = await Sandbox.create({ template: "python-3.11" })
const out = await sbx.commands.run("python -c 'print(6*7)'")
console.log(out.stdout)  // 42
await sbx.kill()
Run trace, sbx_7f3a9c0.71 s total
API 41 msRestore 438 msCommand 172 msTeardown 59 ms
stdout 42 · exit 0 · VM, disk and netns removed
How it works

Create, run, tear down. That is the whole lifecycle.

A sandbox is a short-lived virtual machine. You ask for one, use it like a small Linux computer, and throw it away when the job is done.

What runs in every sandbox

A Firecracker microVM under KVM, with its own kernel, disk and network namespace. Not a container.

sbx_7f3a9c
01  Create

Restored from a memory snapshot

Pick a template such as python-3.11, node-20 or claude-code. OmniRun restores a warm VM and clones the disk copy-on-write, typically in under a second.

02  Run

Commands, code and files

Run shell commands, execute code, read and write files, and expose a port as a preview URL. An e2b-style REST API, with SDKs for TypeScript and Python.

03  Tear down

Nothing left behind

Killing a sandbox stops the VM, deletes its disk snapshot and removes its network namespace. Sandboxes also stop when their timeout runs out.

Network on or offBase templates start offline. HTTPS allowlists are opt-in
Encrypted to the workerOptional, for commands and files, AES-256-GCM
Accounts and tokensSign-in, tokens, previews, audit log; set in node config
TemplatesReady-made, or build one from a Docker image
The same in managed and self-hosted.See the API
Where it runs

Same product, two places to run it.

The API and SDKs are identical. The only choice is who operates the hardware.

Self-hosted

You run it on your own box

Install on a single x86_64 Linux machine with KVM. One command sets up storage, networking, the API and the default template.

  • Apache-2.0. The server, in-VM agent, gateway, CLI and SDKs.
  • One Linux box. x86_64 with KVM. Bare metal is the reliable choice.
  • Optional gateway. A single node runs with an admin API key; add the gateway for per-user quotas, metering and more than one node.
Managed

We run it in Finland

Tell us what you run, then create an API token and call the API. We operate the hosts, keep templates up to date and handle upgrades.

  • Hosted in the EU. All hosts are in Finland.
  • Team controls included. Accounts, API tokens, quotas, previews and an audit log.
  • Terms agreed with you. There is no public price list. Limits and price fit what you run.
Who uses it

For code you did not write and would not run on your laptop.

Language models, students and pull requests all produce code you cannot fully trust. Give each run a machine of its own.

How isolation works

AI agents

Give an agent a real shell and a file system. Tool calls from Claude Managed Agents can run in OmniRun microVMs on your own infrastructure.

Code playgrounds

Run learners' code in Rust, TypeScript, PHP, SQL and Zig. OmniRun runs the playgrounds on our own learning sites.

CI and evaluation

Run tests and model evaluations in clean, throwaway machines that start fast enough to use one per job.

Platforms and agencies

Offer sandboxes inside your own product, with per-customer tokens, quotas and an audit trail.

One command to install. One call to run.

Install OmniRun on your own Linux box, or talk to us about the managed service.

On your box$sudo omnictl install --single-node --loop-size 50GIn your code$npm i @omnirun/sdk