> ## Documentation Index
> Fetch the complete documentation index at: https://vetta.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Computer

> Naive Managed Agents' own managed sandbox — a disposable Linux micro-VM with a filesystem, a shell, and an optional browser, paused when the agent sleeps.

A **computer** is where an agent does work: a disposable Linux micro-VM with a real filesystem, a shell, and an optional managed browser. It is provisioned and operated entirely by Naive Managed Agents' compute layer and wired into the [durable runtime](https://vetta.sh/docs/concepts/runtime.md), so it **pauses when the agent sleeps and resumes on the next turn** — idle wall-clock time costs storage, not compute.

> [!NOTE]
>
> A fully virtualized **V8-isolate** mode (`mode: "isolate"`) — near-instant boot, near-zero idle, for the lightweight majority of agent work — is **coming soon**. Everything on this page describes the micro-VM that ships today.

> [!NOTE]
>
> The computer — sandbox, filesystem, shell, browser, snapshots, and volumes — is available today. The [vault](https://vetta.sh/docs/identity/vault.md)'s sandbox-egress secret substitution is **coming soon**; vault injection on the [MCP connector](https://vetta.sh/docs/capabilities/tools.md#mcp-connector) path is live. Those sections are marked inline.

## How it maps to the turn cycle

The runtime runs one bounded harness turn, commits, and sleeps. The computer's lifecycle is bound to that same wake/sleep cycle:

* When the agent takes a turn, its computer is **running** and metered per second on the vCPU, memory, and disk it was provisioned with.
* Between turns — waiting on a schedule, a human reply, or a long external job — the computer **sleeps** or is **parked**, and you pay for stored disk only.
* The next exec or file operation **wakes it automatically**, filesystem intact.

This is the mechanism behind Managed Agents' low cost on hours-long tasks: most wall-clock time is spent waiting, and waiting is nearly free. See [Idle costs storage, not compute](https://vetta.sh/docs/concepts/runtime.md#idle-costs-storage-not-compute).

## The toolset the agent gets

Inside a session the agent reaches the computer through built-in tools. Each is a governed, individually [priced](https://vetta.sh/docs/computer/limits-and-billing.md) action, quoted against the [budget](https://vetta.sh/docs/concepts/budgets.md) before it runs.

> [card] [Shell](https://vetta.sh/docs/computer/shell.md)
>
> The `bash` tool runs a command and returns buffered stdout, stderr, and an exit code.

> [card] [Filesystem](https://vetta.sh/docs/computer/filesystem.md)
>
> `read`, `write`, `list`, `mkdir`, and `remove` over the sandbox's disk — the [canonical file API](https://vetta.sh/docs/computer/filesystem.md).

> [card] [Browser](https://vetta.sh/docs/computer/browser.md)
>
> An optional managed browser: `goto`, `click`, `type`, `links`, `extract`, `screenshot`, plus plain-language `act` and `observe`.

> [card] [Mobile device](https://vetta.sh/docs/computer/mobile.md)
>
> A cloud phone beside the suite: `screenshot`, `tap`, `type`, `press_key`, `scroll`, `open_url`. Driven from the API, SDK, CLI, dashboard and the agent's `mobile` tool.

## Create a computer

A computer is created with explicit **resources** (vCPU, memory, disk) — or an optional `small`/`medium`/`large` preset — and, optionally, a managed browser. There is **no creation fee**: you are metered per running-second while it runs, and storage-only while it sleeps. See [Sandbox & lifecycle](https://vetta.sh/docs/computer/sandbox.md) for resources and states.

```bash CLI theme={"system"}
vetta computer create \
  --name box \
  --size medium \
  --browser \
  --allowed-domains "*.example.com"
```

```typescript TypeScript theme={"system"}
const computer = await vetta.computers.create({
  name: "box",
  size: "medium",
  browser: { allowedDomains: ["*.example.com"] },
});
```

```bash cURL theme={"system"}
curl https://api.vetta.sh/v1/computers \
  -H "Authorization: Bearer $VETTA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "box",
    "size": "medium",
    "browser": { "allowed_domains": ["*.example.com"] }
  }'
```

## Explore the reference

| Page | What it covers |
| - | - |
| [Sandbox & lifecycle](https://vetta.sh/docs/computer/sandbox.md) | Provisioned resources, presets, the running → sleeping → parked → destroyed lifecycle, auto-destroy, and concurrency. |
| [Filesystem](https://vetta.sh/docs/computer/filesystem.md) | `write`, `read`, `list`, `mkdir`, `remove`, size caps, and binary via base64. |
| [Shell](https://vetta.sh/docs/computer/shell.md) | The `bash` tool: fields, buffering, output caps, and wake behavior. |
| [Browser](https://vetta.sh/docs/computer/browser.md) | The managed browser: session creation, `allowed_domains`, saved logins, actions, and safety guards. |
| [Mobile device](https://vetta.sh/docs/computer/mobile.md) | A cloud phone: timers instead of pause, the seven actions, the live view, and how status is reconciled. |
| [Snapshots & volumes](https://vetta.sh/docs/computer/snapshots-and-volumes.md) | Checkpoints, forks, persistent volumes, and pause/resume. |
| [Networking](https://vetta.sh/docs/computer/networking.md) | Outbound access, HTTP preview URLs, and the coming egress pinning. |
| [Limits & billing](https://vetta.sh/docs/computer/limits-and-billing.md) | Concurrency caps, max runtime, output/file caps, and the full metering model. |

## Configuration reference

Fields accepted by `create`:

**name** `string` *required*

A human-readable name, unique within the organization.

**vcpu** `integer` (default: 2)

Provisioned vCPU (1–16). See [resources](https://vetta.sh/docs/computer/sandbox.md#resources).

**memory\_mb** `integer` (default: 4096)

Provisioned memory in MiB (128–65536).

**disk\_gb** `integer`

Root disk size in whole GiB (up to 100).

**size** `string`

Optional preset (`small`, `medium`, `large`) — shorthand for a vCPU/memory/disk combination.

**mode** `string` (default: vm)

**`isolate` coming soon (Phase 5).** Execution mode. Today every computer is a micro-VM (`vm`); a fully virtualized `isolate` mode ships in Phase 5.

**browser** `object | boolean` (default: false)

Attach a managed browser. It reaches the open web unless `allowed_domains` scopes it.

**volume** `string`

Attach a [persistent volume](https://vetta.sh/docs/computer/snapshots-and-volumes.md#persistent-volumes) that survives park and sleep.

**snapshot** `string`

Boot from a [checkpoint](https://vetta.sh/docs/computer/snapshots-and-volumes.md#checkpoints) instead of a clean image.

> [card] [Next: sandbox & lifecycle](https://vetta.sh/docs/computer/sandbox.md)
>
> Provisioned resources, states, and how a computer is metered and torn down.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.