Every box is a Linux VM with a curated set of tools available from the moment you SSH in. Nothing to install before you start working.
Machine types
Boxes come in three sizes. Pick one with --type when you create the box:
small | default | large | |
|---|---|---|---|
| CPU | 2 shared vCPUs | 4 shared vCPUs | 8 shared vCPUs |
| Memory | 4 GB RAM | 8 GB RAM | 16 GB RAM |
| Storage | 40 GB SSD, at least 12 GB for your data | 80 GB SSD, at least 50 GB for your data | 100 GB SSD, at least 70 GB for your data |
| Machine time | 0.5x | 1x | 2x |
| Architecture | x86_64 | x86_64 | x86_64 |
Storage is a floor, not a fixed number: a box is placed on whichever machine of its
size is available, and some are roomier than others. A large box gets at least
100 GB of disk and often 160 GB. Plan against the floor.
Stopping, resuming and forking all preserve the type by default, and a fork inherits the type of the box it came from.
Changing size
Pass --type to resume or fork to move a box to a different size. Both already restore a
snapshot onto a fresh machine, so resizing costs nothing beyond the resume or fork itself. Resume
changes the box in place; fork leaves the source box untouched and applies the new size to the copy.
Growing always works. Shrinking is rejected with type_too_small when the box holds more data than
the smaller machine can take, and the box is left exactly as it was, so a refused resize never
costs you the box. Delete data and let the box snapshot again if you need to shrink past that
point.
Size sets the rate you spend machine time, because you are renting more or less machine: a small
box spends it at half rate and a large box at double, so the same balance lasts twice as long on
small and half as long on large. See Billing & Limits.
Pre-installed tools
AI & automation
| Tool | Description |
|---|---|
claude | Claude Code CLI, an AI coding assistant |
codex | OpenAI Codex CLI |
host | Expose localhost services to the internet |
lux | Desktop and browser automation with demo recording |
box | Box CLI inside the VM |
Languages & runtimes
| Tool | Description |
|---|---|
node / npm / nvm | Node.js with npm and additional Node versions through nvm |
bun / bunx | Bun JavaScript runtime |
deno | Deno JavaScript/TypeScript runtime |
pnpm | JavaScript package manager |
python3 / pip / venv | Python 3 and standard Python packaging tools |
uv | Python project and dependency manager |
go | Go toolchain |
rustc / cargo / rustup | Rust compiler, package manager, and toolchain manager |
java / mvn / gradle | Java/OpenJDK, Maven, and Gradle |
kotlin / kotlinc | Kotlin runtime and compiler |
scala / scalac / sbt | Scala compiler and build tools |
ruby / gem / bundle | Ruby, RubyGems, and Bundler |
php / composer | PHP CLI and Composer |
erl / elixir | Erlang and Elixir |
dotnet | .NET SDK |
R | R runtime and development packages |
gcc / g++ / clang / cmake / ninja | C/C++ build toolchain |
Version control
| Tool | Description |
|---|---|
git | Git |
gh | GitHub CLI for PR creation, issue management, etc. |
Utilities
| Tool | Description |
|---|---|
rg | ripgrep for fast code search |
jq | JSON processor |
curl | HTTP client |
docker | Container runtime (available on supported images) |
google-chrome-stable | Chrome browser and headless browser runtime |
ffmpeg | Media processing |