Skip to content

Inside the VM

Every Sandbox VM ships with the same stack, kept in sync by the platform team. Don’t apt install extra tooling without a reason — VMs are periodically refreshed and you’ll lose system-level additions.

The pre-installed stack

ToolWhat it’s for
Claude CodeThe AI assistant. Invoke as claude. Routes through Vertex AI.
DockerRun containers — local Postgres, Redis, etc. for development.
Node + pnpmJavaScript / TypeScript. pnpm for new projects (faster, less disk); npm for repos with an existing package-lock.json.
uv + Python 3.12Fast Python package + project manager. Use uv venv for isolated envs; prefer uv over pip.
PlaywrightBrowser automation. Chromium pre-installed.
Git + ghVersion control + GitHub CLI. Usually pre-authenticated.

What persists across VM refreshes

PersistsDoesn’t
Files under ~/System-level sudo apt installs
~/.config/, ~/.zshrc, ~/.gitconfigDocker images you pulled
Cloned git repos in ~//tmp, /var/tmp

Rule of thumb: keep everything you care about under ~/ and treat the rest as ephemeral. If you find yourself re-installing the same tool every refresh, ask the platform team to add it to the base image.

What’s deliberately not there

  • No GPU — Claude is hosted, use it.
  • No GUI / X11 — pure terminal.
  • No browser binary for daily browsing — Chromium is for Playwright only.
  • No IDE — work via claude. Most colleagues find they don’t need one once they’re using Claude Code well.

Forwarded ports

Bind a dev server to any port on the VM and it appears at the same port on your Mac’s localhost within a second. Up to 16 simultaneous. See Daily use → port forwarding.