# Standalone VMs (sandboxes)


A standalone VM, also called a sandbox, is a VM with its own reserved vCPU and
memory. It does not share capacity with your other VMs. It is billed by the
hour while it runs.

Use one for work you want to create and delete on its own, such as running
agent-written code, a CI job, or a preview, without drawing on the capacity
your other VMs share.

## Create a standalone VM

```
new --standalone
```

`--sandbox` is an alias, and the usual `new` flags work:

```
new --sandbox --name=sbx1 --tag=sandbox
```

You can also copy an existing VM into a standalone VM with
`cp <vm> --standalone`, or turn a VM in a pool into one with
`pool detach --vm=<vm>`. `--standalone` cannot be combined with `--pool` or
`--no-pool`.

The whole lifecycle works over SSH, so scripts and agents can create, use, and
delete sandboxes:

```
ssh exe.dev new --sandbox --name=sbx1
ssh sbx1.exe.xyz "python3 -c 'print(2+2)'"
ssh exe.dev rm sbx1
```

## Who can create one

- **Personal:** any Personal account can create standalone VMs.
- **Work and Enterprise:** a team admin chooses who can create them. It is
  off until an admin sets it:

```
team settings standalone admins-only   # admins and the billing owner
team settings standalone all-users     # every member
team settings standalone off           # nobody
```

Admins can also change this setting at [exe.dev/team](https://exe.dev/team).
The earlier Individual and Team plans do not include standalone VMs.

## Pricing

A standalone VM's reserved capacity is metered at $0.105 per 2 vCPU per hour,
the same rate as pool capacity. For example, on Personal, a 2 vCPU standalone
VM that runs for 10 hours costs $1.05.

- **Personal:** this is in addition to your subscription.
- **Work:** standalone VMs count toward the included 4 vCPU / 8 GB of
  capacity, together with the team's pools. Each standalone VM also carries
  its own disk and bandwidth allowance, based on its size, while it runs.
- **Enterprise:** standalone capacity is covered by your contract.

A stopped standalone VM is not billed for its vCPU and memory. It keeps its
disk, and it still counts toward your VM limits.

## Resize and delete

- `resize <vm> --cpu=N --memory=M` changes the VM and its reserved capacity
  together. Billing follows the new size. `pool resize` does not apply to
  standalone VMs.
- `rm <vm>` deletes the VM and its capacity, and billing stops.
- A standalone VM cannot move into a pool. `pool adopt` refuses it.

## Find your standalone VMs

`ls --group=type` lists them under "Standalone VMs". On a team, `pool list`
shows team-billed standalone VMs by VM name, marked "(standalone VM)", and
`team usage` shows their capacity, disk, and bandwidth.

## Next steps

- [VM pools](/docs/pools) for shared capacity
- [`new`](/docs/cli-new), [`cp`](/docs/cli-cp), and
  [`resize`](/docs/cli-resize) command references
- [`team`](/docs/cli-team) for the standalone setting
- [Billing overview](/docs/billing/overview)
