Skip to main content
Crabbox is a CLI tool that runs commands inside a remote box from your local machine. This guide shows how to use it with Upstash Box to run your test suite in a clean cloud environment without touching your local setup.

1. Install Crabbox

brew install openclaw/tap/crabbox

2. Get Your API Key

Go to the Upstash Console and create a Box API key. Then export it in your terminal:
export UPSTASH_BOX_API_KEY=your_api_key_here

3. Warm Up a Box

Create a box with the warmup command. This provisions the box ahead of time so it’s ready when you need it.
crabbox warmup --provider upstash-box --upstash-box-runtime node --upstash-box-size small
You can customize the box to match your project’s needs:
FlagDescriptionValues
--upstash-box-runtimeRuntime environmentnode, python, golang, ruby, rust (or -alpine variants)
--upstash-box-sizeBox sizesmall, medium, large
--upstash-box-workdirWorking directory inside the boxAny path (default: /workspace/home/crabbox)
--upstash-box-keep-aliveKeep the box up and running at all timestrue / false

4. Run Your Tests

Run your test command inside the box. Use --env-from-profile to load environment variables from a local .env file — they’ll be injected into the box without being stored anywhere.
crabbox run --provider upstash-box --env-from-profile .env -- pnpm test
You can use any package manager or test runner:
# npm
crabbox run --provider upstash-box --env-from-profile .env -- npm test

# bun
crabbox run --provider upstash-box --env-from-profile .env -- bun test

For the full list of commands and options, see the Upstash Box provider reference.