Skip to main content
Harbor runs each trial in an isolated environment. Local runtimes are convenient for development; remote providers free local resources and support higher concurrency.
Harbor calls sandboxes “environments” in the CLI (--env/-e) and job configuration (environment.type). It’s a bad name, we know. But it’s too late to change now.

Run with a cloud sandbox

Sandboxes are not installed by default. Install one sandbox, such as Daytona:
Replace daytona with all sandbox options to install that sandbox. To install all pre-integrated sandboxes, use:
Local runtimes (e.g. docker) do not require optional Harbor Python dependencies, but their runtime or CLI must still be installed.
When running Harbor from source, --extra daytona installs Daytona’s optional dependencies before running the command:
Harbor runs provider preflight checks when available. Otherwise, missing setup is reported when the provider starts. Important: See Environment variables to configure provider credentials and control which variables enter the sandbox.

Available sandboxes

These categories describe where a trial runs; they are documentation groupings, not separate types in Harbor’s API.
  • Local runtimes execute containers on the machine running Harbor.
  • Remote sandboxes run through a provider API or infrastructure that you configure.

Sandbox names and install extras

Local runtimes: docker (default), podman, apple-container, singularityRemote sandboxes: ack (uses kubeconfig), beam, blaxel, cua-cloud (cua extra), cwsandbox, daytona, e2b, ec2, gke, hf-sandbox, hyperbrowser, islo, langsmith, modal, novita, opensandbox, openshift (uses the oc CLI), runloop, skypilot (early access), tensorlake, use-computer, vercel, wandb

Common Sandbox cli options

Provider lifetime rules can override --no-delete. Run harbor run --help for all environment options; each provider also defines its own --environment-kwarg values.

Provider capabilities

Capabilities vary by sandbox and can depend on the task mode or provider settings.
Modal GPU support depends on its runtime settings. GKE exposes GPUs and TPUs only for single-container tasks. cua-cloud and use-computer require their Windows platform setting.
Docker and Podman require Harbor’s egress-control support. Daytona, Modal, Novita, Blaxel, and Vercel allowlists are single-container only. GKE can disable internet only in Compose mode. Islo runtime changes require its default gateway configuration.
A limit is a hard ceiling. A request reserves or selects capacity. guarantee requires both. When a provider declares resource capabilities, Harbor rejects unsupported policies before trials start.
The task’s environment definition remains the same when switching providers, subject to these capabilities.