# Sandbox Mounting

## Local (Beta)

Run sandboxes directly on the local machine for development and testing.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a Local sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { local } from "sandbox-agent/local";

// Start a Local-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: local() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```

## Docker (Beta)

Run sandboxes in Docker containers for isolated local execution.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a Docker sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { docker } from "sandbox-agent/docker";

// Start a Docker-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: docker() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```

## E2B (Beta)

Run sandboxes on E2B's cloud infrastructure for secure, ephemeral environments.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a E2B sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { e2b } from "sandbox-agent/e2b";

// Start a E2B-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: e2b() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```

## Daytona (Beta)

Run sandboxes on Daytona's managed development environments.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a Daytona sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { daytona } from "sandbox-agent/daytona";

// Start a Daytona-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: daytona() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```

## Modal (Beta)

Run sandboxes on Modal's serverless cloud infrastructure.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a Modal sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { modal } from "sandbox-agent/modal";

// Start a Modal-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: modal() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```

## Cloudflare (Beta)

Run sandboxes on Cloudflare's global network with Sandbox SDK containers.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a Cloudflare sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { cloudflare } from "sandbox-agent/cloudflare";

// Start a Cloudflare-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: cloudflare() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```

## Vercel (Beta)

Run sandboxes on Vercel's edge and serverless platform.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a Vercel sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { vercel } from "sandbox-agent/vercel";

// Start a Vercel-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: vercel() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```

## ComputeSDK (Beta)

Run sandboxes using the ComputeSDK compute provider.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a ComputeSDK sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { computesdk } from "sandbox-agent/computesdk";

// Start a ComputeSDK-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: computesdk() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```

## Sprites (Beta)

Run sandboxes on Sprites' cloud sandbox infrastructure.

| Category | Status | Package | Docs |
| --- | --- | --- | --- |
| Sandbox Mounting | Beta | [`sandbox-agent`](https://www.npmjs.com/package/sandbox-agent) | [Guide](/agentos/docs/sandboxes) |

### Install

```sh
npm install @rivet-dev/agentos-sandbox sandbox-agent
```

### Add to agentOS

Mount a Sprites sandbox into the VM with @rivet-dev/agentos-sandbox.

```ts
import { agentOS, setup } from "@rivet-dev/agentos";
import { createSandboxFs, createSandboxBindings } from "@rivet-dev/agentos-sandbox";
import { SandboxAgent } from "sandbox-agent";
import { sprites } from "sandbox-agent/sprites";

// Start a Sprites-backed sandbox and mount it into the VM
const sandbox = await SandboxAgent.start({ sandbox: sprites() });

const vm = agentOS({
  mounts: [{ path: "/home/agentos/sandbox", plugin: createSandboxFs({ client: sandbox }) }],
  bindings: [createSandboxBindings({ client: sandbox })],
});

export const registry = setup({ use: { vm } });
```
