R.1

sbx commands

Every verb of sbx 0.47.0 in the four groups of sbx --help, with its purpose, the flags that matter, its scope, and the section that explains it.

The root help of sbx 0.47.0 lists 31 commands in four groups: Sandbox, Management, Experimental, and Other. The vendored tree holds 115 help pages, one for each command and subcommand that answered --help. The tables below keep the order of the root help. Scope says where a verb runs: local sandboxes through sandboxd, cloud sandboxes through sbx --cloud, or both. sbx --cloud --help hides daemon, prune, settings, and skills, and attach, ttl, and volume run only with --cloud (conflict C47).

Three flags apply to every command.

Global flagMeaning
--cloudDispatch to the Docker Cloud Sandboxes API instead of the local sandboxd
-D, --debugEnable debug logging
-h, --helpPrint the help of the command

Sandbox commands

CommandPurposeFlags that matterScopeSection
attach SANDBOXAttach a terminal to a cloud sandbox, and start it first when it is stopped--detach-keys (default Ctrl-\)cloud only§7.1
cp SRC DSTCopy a file or a directory between a sandbox and the host, with one side written as SANDBOX:PATH-L, --follow-linkboth§2.2
create AGENT|SANDBOX_KIT [PATH...]Create a sandbox for one of the 11 agents or from a kit reference, without attaching--name (default <agent>-<workdir>), --clone, --cpus (0 is auto), -m, --memory (default 50% of host memory, 512 MiB to 32 GiB), -e, --env, --env-file, --deny-network, -p, --publish, --pull always|missing|never (default always), --skills off|readonly|readwrite (default readonly), --static-mcp, -t, --template, --profile, --kit (experimental), --kit-arg, --kit-args-file, -qboth§2.1
create <agent> [PATH...]The eight subcommands claude, codex, cursor, devin, docker-agent, gemini, opencode, shell, with the same flags, and cagent as an alias of docker-agentthe flags of createboth§2.1
create with --cloudCreate a cloud sandbox with no host workspace, 2 CPUs and 4 GiB unless sized--allow-network, --image-ref, --on-timeout stop|restart|delete, --platform, --ttl, -v, --volume (experimental)cloud only§7.1
exec SANDBOX COMMANDRun a command inside a sandbox, and start a stopped one first-i, -t, -u, --user, -w, --workdir, -e, --env-file, --privileged, --detach-keys. -d is not supported. -d, --user, and --privileged are rejected with --cloudboth§2.2
lsList sandboxes with agent, status, published ports, and workspace--json, -qboth§2.1
move SANDBOXMove a sandbox between the host and the cloud as a filesystem image--to local|cloud, --name (default moved- plus the source name), --ttl (15s to 24h), --on-timeout stop|delete, -fboth§7.1
ports SANDBOXList, publish, or unpublish sandbox ports--publish, --unpublish, --json. A port without a protocol binds tcp4both§2.2
pruneRemove all stopped sandboxes and their sandbox-scoped secrets--dry-run, --filter until=TIMESTAMP, -f, --jsonlocal only§2.1
rm [SANDBOX...]Remove sandboxes, their containers, git worktrees, state, and scoped secrets--all (disabled with --cloud), -fboth§2.1
run [AGENT|SANDBOX_KIT] [PATH...] [-- AGENT_ARGS...]Run an agent and create the sandbox when it does not existthe flags of create, plus -d, --detached, --rm, --name to re-attach, --new (cloud), --detach-keys (cloud). --clone works only at creationboth§2.1
stop SANDBOX...Stop sandboxes and keep their statenoneboth§2.1
ttl [+DURATION] SANDBOXPrint or extend the TTL of a cloud sandbox under its 24 hour ceiling--jsoncloud only§7.1

The 11 agent names that run and create accept are claude, codex, copilot, cursor, devin, docker-agent, droid, gemini, kiro, opencode, and shell. Only eight of them have a create subcommand, because copilot, droid, and kiro are public kits (conflict C9).

Management commands

CommandPurposeFlags that matterScopeSection
daemon startStart sandboxd-d, --detach, --policy allow-all|balanced|deny-alllocal only§2.4
daemon stop, daemon restartStop or restart sandboxdnonelocal only§2.4
daemon statusPrint the daemon state, its socket, and its log path--jsonlocal only§2.4
daemon log-level set <target> <level>Set the log level of proxy, general, or allnonelocal only§2.4
diagnoseRun the 13 installation checks--json, -o json|github-issue, --uploadboth§2.4 and §7.4
mcp add <name> (--url | --command)Register an MCP server from a remote endpoint, a registry URL, a manifest URL, a dhi.io image, or a host command--url, --command, --args, --dir, --local, --header, --client-id, --oauth-authorization-server, --scope, --no-scope, --resource, --callback-port, --skip-auth, --skip-ssrf-check, --disable-http2both§3.6
mcp auth [server-name]Authorize or reauthorize remote servers through the hosted control plane--all, --scope, --no-scope, --verbose, --format text|json, --jsonboth§3.6
mcp auth rm, mcp auth statusRemove hosted OAuth credentials, or show their status without starting OAuth--all, -f (rm only), --format, --jsonboth§3.6
mcp inspect <name>Show one registration, its headers, and the effective resource value--jsonboth§3.6
mcp load <name> --sandbox SAttach a registered server to a running sandbox, with a tools/list_changed notification to the agent--sandbox (required)both§3.6
mcp lsList registered servers under the gateway that serves them--json, -qboth§3.6
mcp rm <name>Remove a registration-fboth§3.6
policy init <allow-all|balanced|deny-all>Set the global network policy once, before the first sandbox--sandbox (cloud only)both§3.3
policy allow network RESOURCESAdd an allow rule for hosts, domains, IP addresses, or CIDR prefixes, TCP by default--sandbox, --protocol tcp|udpboth§3.3
policy deny network RESOURCESAdd a deny rule, TCP and UDP by default, which wins over allow--sandbox, --protocol tcp|udpboth§3.3
policy check network TARGETAsk the daemon authorizer whether a host and port is allowed, without sending anything--sandbox, --protocol, --verbose, --jsonboth§3.3
policy inspect <policy-or-rule>Show one policy or one rule with its RULE_ID and removal command--jsonboth§3.3
policy log [SANDBOX]Show which hosts the proxy allowed or blocked, with rule, proxy type, and count--json, --limit, -q, --type all|network|filesystem (filesystem logs are not supported yet)both§3.4
policy ls [SANDBOX]List policies, one overview row per policy, or the rules of one sandbox--wide, --json, --source local|org|kit, --decision allow|deny, --type, --created-via default|added|provisioned|approval, --profile, --protocol, --include-inactiveboth§3.3 and §7.2
policy profile lsList the profiles that remote governance policies provide--json, -qboth§7.2
policy resetDelete the local policy store and stop the daemon, or delete the cloud account policy-fboth§3.3
policy rm networkRemove a rule by RULE_ID or by resource--id, --resource, --sandbox, -fboth§3.3
resetReturn sbx to a freshly installed state, including secrets and the sign-in-f, --preserve-secretslocal only§2.4
secret set [SERVICE]Store a service secret for one of 13 services, a dynamic source, or a registry credential-t, stdin, --ref, --command, --refresh (default 55m), --no-verify, --show-error, --oauth (openai only locally), --sandbox, -f, --registry, --username, --password-stdin, --registry-auth-endpoint, --all-sandboxesboth§3.5
secret import [SERVICE]Import secrets found in host environment variables, with a last four character preview--all, --force, --dry-runboth§3.5
secret lsList stored secrets across global and sandbox scopes-g, --sandbox, --service, --json, -qboth§3.5
secret rm [SERVICE]Remove a secret, a registry credential, or every secret--sandbox, --all, --all-sandboxes, --registry, -f. The examples also show --placeholder, which the flag list omitsboth§3.5
secret set-customStore a secret for a service sbx does not know, behind a placeholder the proxy swaps--host (repeatable), --env, --value, -t, --command, --ref, --placeholder ({rand} suffix), --refresh, --sandbox. Cloud only: --header, --format, --nameboth, experimental§3.5
settings get <key>Print one evaluated value--jsonlocal only§2.5
settings listList every setting with value, type, source, restart flag, and description--json, --no-trunclocal only§2.5 and R.3
settings set <key> <value>, settings unset <key>Write or remove a user overridenonelocal only§2.5
template save SANDBOX TAGSave a snapshot into the sandbox runtime image store-o, --output (also export a tar), --capture-mode disk|all (cloud), -d, --description (cloud)both§2.3
template load FILE [NAME]Load a tar into the image store, or upload it as a cloud template--cpus and --memory-mib (required with --cloud, must name a billable shape), --capture-mode, --descriptionboth§2.3
template ls, template rm TAG|ID|NAMEList or remove template images--json, -q, -fboth§2.3
template inspect NAME|IDShow the full metadata of one cloud template--jsoncloud only in v1§2.3
tuiOpen the interactive dashboardnoneboth§1.1
volume create|inspect|ls|rmManage persistent cloud volumes, saved as a snapshot when a sandbox exits--json, -q, -fcloud only§7.1

sbx with no command opens interactive mode, and sbx tui opens the dashboard by name (conflict C44).

Experimental commands

Each of these prints the line EXPERIMENTAL: this command may change or be removed in future releases. at the top of its help.

CommandPurposeFlags that matterScopeSection
env create [PATH...]Provision the secrets and bindings of an sbxenv.yaml and create the sandbox-y, --auto-approve, --clone, --env-arg, --env-args-file, --kit-arg, --kit-args-file, --name, --skip-host-commandsboth, experimental§4.4
env run [PATH...]Create when needed, then attach to the environment sandboxthe flags of env create, plus -d, --detachedboth, experimental§4.4
env plan [PATH...]Print what applying the file would change, and change nothing--clone, --env-arg, --kit-arg, --name, --skip-host-commandsboth, experimental§4.4
env exec [PATH...] -- COMMANDRun a command in the environment sandboxthe flags of exec, plus --env-arg, --env-args-file, --nameboth, experimental§4.4
env rm [PATH...]Remove the environment sandbox and the secrets it provisioned-f, --prune-bindings, --env-arg, --name, --skip-host-commandsboth, experimental§4.4
kit add SANDBOX REFERENCERecreate a sandbox with a mixin appended to its kit list--kit-arg, --kit-args-fileboth, experimental§4.3
kit builder status|rmShow or remove the sbx-kit-builder sandbox and its build cache-f (rm)local, experimental§4.3
kit builder history export|inspect|logs|ls|rm|traceRun the matching docker buildx history command inside the builder sandboxpass-throughlocal, experimental§4.3
kit inspect REFERENCELoad and display a kit from a directory, ZIP, OCI reference, or git repository--json, --kit-arg, --kit-args-fileboth, experimental§4.2
kit pack DIRECTORYValidate a spec.yaml directory and package it as a ZIP-o, --output (default <name>.zip)both, experimental§4.3
kit provenance REFERENCEPrint the SLSA provenance attached to an OCI kit, UNSIGNED or VERIFIED--key, --certificate-identity, --certificate-identity-regexp, --certificate-oidc-issuer, --certificate-oidc-issuer-regexp, --insecure-ignore-tlog, --jsonboth, experimental§4.3
kit pull REFERENCEPull a v1 ZIP or v2 tar.gz kit artifact from an HTTPS registry-o, --outputboth, experimental§4.3
kit push DIRECTORY REFERENCEPackage and push a spec.yaml kit, and attach SLSA provenance as an OCI referrer--sign, --key, --identity-token, --identity-token-file, --tlog-upload (default true)both, experimental§4.3
kit sign REFERENCESign a kit with a cosign-compatible Sigstore signature, keyless by default--key, --identity-token, --identity-token-file, --tlog-uploadboth, experimental§4.3
kit validate REFERENCECheck that a directory, ZIP, or git reference is a valid kit--json, --kit-arg, --kit-args-fileboth, experimental§4.3
kit verify REFERENCEVerify a signature on a directory, a git reference, or an OCI kit--key, the four --certificate-* flags, --insecure-ignore-tlog, --jsonboth, experimental§4.3
setupDetect agent secrets in the host environment and import the accepted onesnonelocal, experimental§3.5
setup ssh, setup ssh removeWrite or remove the SSH client config that makes ssh <name>.sbx work--alias (default *.sbx)local, experimental§2.4
skills add <repository>Install skills from a git repository or owner/repo shorthand into the shared store-s, --skill, -flocal, experimental§4.5
skills importImport skills from six agent directories on the host--dry-run, -flocal, experimental§4.5
skills ls, skills rm <skill>..., skills update [skill]...List, remove, or refresh installed skills--json, -q, -flocal, experimental§4.5

sbx kit ls is not a command, and the probe answered unknown command (conflict C46). The six kit builder history pages in the vendored tree hold an error instead of help text. The daemon could not bind its socket under the capture sandbox.

Other commands

CommandPurposeFlags that matterScopeSection
completionGenerate the autocompletion script for a shellits help page is not in the vendored treebothnone
helpHelp about any commandits help page is not in the vendored treebothnone
loginSign in to Docker--username, --password-stdinboth§1.1
logoutStop running local sandboxes and sign out-y, --yeslocal only§1.1
versionPrint the CLI version, and with --json the server and runtime component versions--jsonboth§2.4

Names that appear in text but not in the tree

The help of secret set names sbx mount, and the docs name sbx ssh proxy, sbx policy approval, --model, --provider, and --usb (conflict C16). None of them has a page in the vendored tree. The manual documents only what --help prints, and §2.4 names the hidden commands once. Every sbx ... --help call also tried to open a TLS connection to login.docker.com:443 during the capture. The capture sandbox refused the connection, and the printed text did not change (our source record).

Docker Sandboxes (sbx) and Docker Agent (docker-agent) sbx 0.47.0, docker-agent 1.149.0 · bf4169c · 2026-10-07 · Edition 2026.10