tensorlake CLI, so one command puts your test run in an isolated Firecracker microVM:
tl-crabbox is a public image we publish for Crabbox — the standard Ubuntu base plus a writable /workspace (Crabbox’s default workdir) and pnpm preinstalled.
Crabbox owns the local workflow — config, repo claims, sync manifests, and guardrails. Tensorlake owns the microVM and command transport: under the hood, Crabbox shells out to tensorlake sbx create, cp, exec, and terminate. See Sandbox lifecycle for what happens on the Tensorlake side.
Prerequisites
- A Tensorlake account and API key — sign up at cloud.tensorlake.ai.
- Run Crabbox from inside a git repository. It builds its sync file list from
git ls-files, so a plain directory fails withbuild sync file list: exit status 128.
Setup
1
Install Crabbox and the Tensorlake CLI
tensorlake CLI must be on your PATH, or point Crabbox at it with --tensorlake-cli.2
Set your API key
TENSORLAKE_ORGANIZATION_ID and TENSORLAKE_PROJECT_ID.3
Configure the provider
Add a Pinning
.crabbox.yaml at your repo root:tl-crabbox here means every run and warmup picks it up — no --tensorlake-image flag to retype.4
Warm up a sandbox
harbor-barnacle) you can reuse across runs with --id <slug>. Every tensorlake.* config field has a matching --tensorlake-* flag and CRABBOX_TENSORLAKE_* environment override.5
Run your tests
--shell:tl-crabbox ships with node, npm, pnpm, corepack, python3, and git. Need more toolchain? Register your own image with tensorlake sbx image create and pin it via tensorlake.image instead. To forward secrets from your shell, allowlist them with --allow-env API_TOKEN — values are injected for the command and removed after.6
Release the sandbox
One-off runs lease a sandbox and terminate it automatically. Warmed sandboxes stick around until you release them:Add
--keep-on-failure to a run to keep the sandbox alive after a failing command.Troubleshooting
For every flag, gotcha, and lifecycle detail, see Crabbox’s Tensorlake provider reference.