Skip to content

CLI

crucible is both the daemon and a thin client over its REST API. crucible daemon runs the server (see the README and SECURITY.md); every other command talks to a running daemon.

Connecting

The client finds the daemon via --addr (or the CRUCIBLE_ADDR env var), default 127.0.0.1:7878:

crucible --addr 127.0.0.1:7878 sandbox ls
CRUCIBLE_ADDR=10.0.0.5:7878 crucible sandbox ls

If the daemon has API keys configured, pass one with --token (or the CRUCIBLE_TOKEN env var). A remote daemon is served over TLS; use --tls-skip-verify only against a self-signed cert you trust:

CRUCIBLE_TOKEN=crucible_... crucible --addr https://vps.example:7878 sandbox ls

Output

Human-readable tables by default; -o json on any command emits machine-readable JSON for scripts and agents:

crucible sandbox ls            # aligned table
crucible sandbox ls -o json    # JSON array

Commands that create a resource print its id on success, so they compose in shell:

SBX=$(crucible sandbox create --profile python-3.12)

The commands

Page Commands
Run and build run, build
Sandbox lifecycle stop, rm, shell, cp
Sandboxes and profiles sandbox create/ls/inspect/exec/rm, profile ls
Snapshots and fork snapshot create/ls/inspect/rm, fork
Apps app create/update/ls/get/rm/logs/exec/shell
Daemon, tokens, and agents daemon, daemon token, policy, mcp serve, version

Exit codes

  • 0: success
  • 1: a crucible-level error (bad flags, daemon unreachable, API error)
  • the guest command's exit code for exec and run when the command itself exits non-zero
Was this page helpful?