# Crabbox

> A remote software testing and execution control plane that leases cloud capacity, syncs your local checkout, runs commands remotely, and releases — keeping the local edit-save-run loop intact.

Crabbox is an open-source remote testbox tool built by the OpenClaw organization and published under the MIT license. It gives developers and AI agents a fast local loop on shared cloud capacity: lease a box, sync the diff, run the suite, and release — all from a single CLI command. The project is written in Go, hosted at github.com/openclaw/crabbox, and reached v0.33.0 as of June 2026.

## What It Is

Crabbox is a generic remote software testing and execution control plane. It keeps the local developer story unchanged — edit, save, run — while moving the actual compute, tests, and review evidence onto owned or provider-backed remote capacity. A maintainer or an AI agent issues one command; Crabbox leases a box, ships the working tree, runs the command, streams the output back, and cleans up. The optional coordinator owns cloud provider credentials, lease state, cleanup, usage accounting, and cost guardrails so individual machines and CLIs never hold those.

## Architecture and Execution Modes

Crabbox separates the control plane from the data plane. The CLI is a Go binary that loads config, mints a per-lease SSH key, and communicates with an optional coordinator over HTTPS. The data plane — SSH, rsync, and command execution — always runs directly from the CLI to the runner host. Runners hold no coordinator credentials; they are leaf nodes.

Three execution modes are supported per provider:
- **Brokered** — for AWS, Azure, GCP, and Hetzner when a coordinator URL is configured; the coordinator provisions and tracks leases.
- **Direct SSH** — the same SSH-lease providers without a broker, plus static hosts and self-hosted providers.
- **Delegated** — sandbox/proof runners (E2B, Firecracker, Modal, etc.) that own sync and run end to end with no SSH lease.

The coordinator itself can run on Cloudflare Workers with a Durable Object, or on Node.js with PostgreSQL, exposing the same API, GitHub login, portal, provider adapters, cost controls, and cleanup behavior on both runtimes.

## Provider Landscape

Crabbox supports an unusually broad set of compute targets. SSH-lease providers include AWS EC2 (Linux, macOS, Windows), Azure, Google Cloud, Hetzner, DigitalOcean, Linode, Proxmox, XCP-ng, Incus, Firecracker, Parallels, local Docker/OrbStack/Podman containers, Apple VZ (Virtualization.framework), KubeVirt, Namespace Devbox, Semaphore, Coder, Daytona, RunPod, and static SSH hosts. Delegated-run providers include E2B, Modal, Azure Dynamic Sessions, Cloudflare Containers, Blacksmith Testbox, Weights & Biases Sandboxes, Anthropic Sandbox Runtime, Tensorlake, Upstash Box, and more. Machine classes (standard, fast, large, beast) map to ordered instance-type fallback lists on managed providers.

## Key Capabilities

- **One-shot or warm workspaces** — `crabbox run` for fire-and-forget; `crabbox warmup` + `--id` for reusable leases; `crabbox prewarm` for pre-hydrated boxes.
- **GitHub Actions hydration** — `crabbox actions hydrate` runs supported setup steps from the repo's workflow over SSH so leased boxes get the same runtimes without GitHub write access.
- **Failure capsules and checkpoints** — `crabbox capsule from-actions` captures a failing CI run into a portable, replayable bundle; checkpoints save VM or workspace state for restore/fork.
- **Interactive desktop and browser** — `crabbox webvnc` streams a Linux, macOS, or Windows desktop into the browser; `--browser` provisions Chrome/Chromium for headless automation.
- **Agent-ready observability** — every coordinator-backed run gets a `run_...` handle with durable lifecycle/output events, retained logs, JUnit summaries, screenshots, recordings, and artifact bundles for PR publishing.
- **Cost guardrails** — per-lease and monthly spend caps, TTL-bounded machines, and `crabbox usage` summaries by user, org, provider, and server type.
- **Pond peer groups** — leases sharing a `--pond` label form a peer group with SSH-mesh discovery and bulk release.

## Update: v0.33.0

The latest stable release is v0.33.0, published on June 22, 2026. The repository shows active development with 949 stars and 110 forks as of early July 2026. The project ships Go archives for macOS, Linux, and Windows via GoReleaser, with a Homebrew tap at `openclaw/homebrew-tap`. The Node.js/PostgreSQL coordinator runtime was recently added as an alternative to the established Cloudflare Workers deployment, and the docs note it should be validated against the production proof checklist before cutover.

## Features
- Remote lease, sync, run, release workflow
- Brokered cloud providers (AWS, Azure, GCP, Hetzner)
- Direct SSH and delegated sandbox providers
- GitHub Actions hydration over SSH
- Warm box reuse with --id and named slugs
- Named repo jobs via .crabbox.yaml
- Interactive desktop and browser via WebVNC
- Failure capsules and checkpoint/restore
- Artifact collection (screenshots, video, JUnit, logs)
- Cost guardrails with monthly spend caps and TTL leases
- Pond peer groups with SSH-mesh discovery
- Cloudflare Workers or Node.js/PostgreSQL coordinator
- Tailscale network integration
- Per-lease SSH key minting
- Machine class fallback lists (standard/fast/large/beast)
- crabbox doctor for local config validation
- crabbox usage for spend summaries
- Run observability with durable events and retained logs
- Authenticated web portal with WebVNC and code-server
- Capsule replay for CI failure reproduction

## Integrations
AWS EC2, Azure, Google Cloud, Hetzner, DigitalOcean, Linode, Proxmox, E2B, Modal, Daytona, Blacksmith, Semaphore, Cloudflare Workers, Cloudflare Containers, Tailscale, GitHub Actions, KubeVirt, Namespace Devbox, RunPod, Weights & Biases, Anthropic Sandbox Runtime, Azure Dynamic Sessions, Firecracker, Parallels, Docker, Podman, PostgreSQL, Upstash Box, Tensorlake, Railway

## Platforms
WINDOWS, MACOS, LINUX, WEB, API, CLI

## Pricing
Open Source

## Version
v0.33.0

## Links
- Website: http://crabbox.sh
- Documentation: https://crabbox.sh/index.html
- Repository: https://github.com/openclaw/crabbox
- EveryDev.ai: https://www.everydev.ai/tools/crabbox
