Skip to main content
A sandbox is a Docker image that defines your agent’s environment. The agent has built-in tools: read_file, write_file, and bash. Any programs you add to the sandbox become tools the agent can invoke.

Structure

A typical sandbox includes:
  • /skills/ — Markdown files describing what the agent can do
  • CLI tools installed via the Dockerfile
  • A keep-alive CMD that exits on the shutdown signal
The agent reads /skills/ to learn what it can do, then runs tools via bash.
Sandbox images should be based on a shell-friendly distro (Alpine or Debian slim) and must include bash.

Build and push

Image tag format

Every image must be tagged with your client ID as the first path segment. The registry uses this prefix to scope images to your org, and a push without it will be rejected.
The full tag follows this exact shape:
For example, if your client ID is acme-corp and you’re pushing a translator image:
When you later reference the sandbox in client.runs.create(sandbox=...), you use just the <image-name>:<image-tag> portion (translator:latest) — the client ID prefix is implied.

Push to the registry

Images are auto-registered as sandboxes on push. Log in to the registry with your client credentials:
No separate registration call is needed — pushing the image makes the sandbox available to runs.

List sandboxes

Each result is a RegistryImage with a name and a list of tags.