beam-logo

Each VM is a microVM with its own kernel, a durable disk, SSH, and a browser desktop. Pause it with memory intact, fork it into a copy, and pay from $0.0306/hr while it runs. Billed per second.

terminal
$ beam vm new devbox        # 4 CPUs, 8 GiB RAM, 50 GiB disk, desktop
$ beam vm sync devbox ./my-app
$ beam vm ssh devbox

$ beam vm expose devbox 8000 --protected
$ beam vm pause devbox      # RAM and processes saved
$ beam vm resume devbox
$ beam vm fork devbox devbox-2
Capabilities

Perpetual and stateful VMs

Install once, stop or pause between sessions, and pick up where you left off.

Lifecycle

What happens when you stop, pause, or fork a VM

Stopping keeps the disk and drops RAM, so the next start is a fresh boot. Pausing keeps RAM and running processes too, and resuming picks up exactly where the VM left off.

OperationRoot diskRAM and processesCompute afterward
StopSavedDiscardedReleased
PauseSaved with a memory checkpointSavedReleased
Resume a paused VMRestored with its saved RAMRestoredRunning
SnapshotCaptured as a restore pointNot includedVM keeps its current state
ForkCopied to an independent rootNew bootA new VM runs

Set an idle timeout to pause or stop a VM automatically, and wake it on access. See the lifecycle docs.

How it works

How to create a persistent VM

  1. 01

    Create a VM

    Run beam vm new or use the Python or JavaScript SDK. Choose CPU, memory, disk, and a Debian or Ubuntu image, or build the image from a Dockerfile.

  2. 02

    Put a project on it

    Sync a directory, connect over SSH, run commands, or hand the VM to a coding agent through Beam's MCP server.

  3. 03

    Share, pause, or fork

    Publish a port behind a protected URL, let the VM pause after idle minutes and wake on access, or fork it into an independent copy.

terminal
# 1. Create a VM: 4 CPUs, 8 GiB RAM, 50 GiB disk, desktop
$ beam vm new devbox

# 2. Put a project on it and work over SSH
$ beam vm sync devbox ./my-app
$ beam vm ssh devbox

# 3. Share a protected URL, sleep when idle, or fork it
$ beam vm expose devbox 8000 --protected
$ beam vm update devbox --ttl 300 --idle-action pause --auto-resume
$ beam vm fork devbox devbox-2
Pricing

Virtual machine pricing

VMs are billed per second while they run, for the CPU and memory you choose. A stopped or paused VM releases its compute, so it stops accruing compute charges.

Smallest VM

$0.0306/hr

1 vCPU and 1 GiB of RAM, with a 50 GiB disk.

Default VM

$0.144/hr

4 CPUs and 8 GiB of RAM, what beam vm new creates.

A workday dev box

$25.34/mo

The default VM running 176 hours a month and paused the rest of the time, against $105.12 left on for 730 hours.

Rates are $0.0252 per vCPU-hour and $0.0054 per GiB-hour of memory. See the pricing page for every rate and a cost calculator.

VMs vs sandboxes

Virtual machines vs sandboxes

Use a VM when the machine should outlive a single task: a dev box, a coding agent's workspace, a CI runner. Use a sandbox when you need a disposable environment for one run, or a GPU.

Virtual machinesSandboxes
LifetimePersistent until you remove it, with a durable root diskDisposable, with a 600-second default lifetime you can extend
IsolationA microVM with its own kernelAn isolated container
GPUsCPU-onlyAttach a GPU
AccessSSH, browser terminal, desktop, and stable URLsProcess, filesystem, and networking APIs, plus preview URLs
Best forDev boxes, coding agents, CI runners, desktop automationAgent-generated code, parallel rollouts, GPU jobs

Compare with Beam Sandboxes.

FAQ

Virtual machine questions

Is a Beam VM a microVM?

Yes. Each VM runs in a CPU microVM with its own kernel, systemd, a durable root filesystem, and stable service URLs.

What's the difference between stopping and pausing a VM?

Stopping saves the root disk and discards RAM and processes, so the next start is a fresh boot. Pausing also saves RAM and running processes, and resuming restores them. Both release compute.

Can Beam VMs use GPUs?

No. VMs are CPU-only. For GPU work, use a Beam sandbox or a deployed endpoint.

Which operating systems can a VM run?

VM images must be Debian or Ubuntu. The default is Ubuntu 24.04, the browser desktop supports Ubuntu 24.04 and 22.04, and you can build a custom image from a Dockerfile.

How are VMs billed?

Per second while the VM runs, for the CPU and memory you choose. A stopped or paused VM releases its compute, so it stops accruing compute charges. Current rates are on the pricing page.

Can my coding agent use a Beam VM?

Yes. The Beam installer registers Beam's MCP server with supported coding agents and can create a VM for them. VMs also come with the Claude Code and Codex CLIs, so an agent can run on the VM itself.

Can I run Docker inside a VM?

Yes. Build images and run Docker containers or Compose services inside a persistent VM.

How do I connect to a VM?

Over SSH as root through an authenticated Beam tunnel, or through the browser terminal and desktop, which are protected by default. Published ports get stable URLs.

Pay as you gobilled by the millisecond

Give Your Agent Superpowers

Start shipping today and bring your vision to life