Skip to content

One sandbox API.
Every provider.

Run commands, stream processes, move files, and expose ports through one typed interface.

The contract stays put

Switch the runtime.
Not your application.

Sandbox SDK gives every provider the same small, typed vocabulary while preserving the native SDK underneath.

one interfaceTypeScript
await withSandbox({
 provider: e2b(),
}, async (sandbox) => {
 const result = await sandbox.run(
 "pnpm test",
 );
});
same API, native runtime

Change one line.

local()e2b()
No application rewrite.

Processes

Real exit codes, byte streams, abort signals, and idempotent cleanup.

Files

Read, write, seed, resolve, and remove paths across every runtime.

Sessions

Expose ports, inspect capabilities, and keep lifecycle ownership explicit.