Loading...
Loading...
Use this skill when creating, running, reattaching to, listing, stopping, or removing Docker Sandboxes (the standalone `sbx` CLI that runs AI coding agents in isolated microVMs), even if the user just says they want to "run claude in a sandbox", "isolate an agent from my repo", "give an agent its own git clone", or "clean up old sandboxes". Covers `sbx run`/`sbx create` (including the built-in agents claude, codex, cursor, devin, docker-agent, gemini, opencode, shell), workspace bind-mount vs `--clone` isolation, additional read-only workspaces, reattaching by `--name`, `sbx ls`/`stop`/`rm`/`prune`, `sbx exec`, `sbx cp`, and `sbx ports`.
npx skill4agent add docker/skills docker-sandboxes-lifecyclesbx--clonesbxenv.yamlsbx--clonesbx execsbx prunesbx rmdocker agent run --sandboxdocker agent sandboxdocker-agent-runsbxdocker-sandboxes-network-credentialssbxenv.yamldocker-sandboxes-envspec.yamldocker-sandboxes-kitssbx --cloudsbx run AGENT [PATH...]sbx create AGENT [PATH...]sbx run --name SANDBOX--detached-dsbx runsbx run shell # create (if needed) and attach, cwd mounted
sbx create shell . # create only, cwd mounted, do not attach
sbx run --name my-sandbox # reattach laterAGENTclaudecodexcursordevindocker-agentgeminiopencodeshell./my-kit.zipmy-kitsbx run claudesbx create claudesbx create--namesbx run --name NAMEsbx run NAMEsbx run NAMEsbx run --name NAME--namesbx run --name existing-sandbox # reattach, agent read from spec
sbx run claude --name existing-sandbox # reattach, verify expected agent--clone--clonesandbox-<name>sbx create --clone --name demo claude .
# on the host, later:
git fetch sandbox-demo--clonePATH.git.git--separate-git-dir.git--clonesbx run--clonesbx create --clone ...git fetch sandbox-demorefs/remotes/sandbox-demo/*refs/sandboxes/demo/*git branch <local-name> refs/sandboxes/demo/<branch>sbx rmsbx prune--force:ro:ro:rosbx run claude . /path/to/docs:ro:rodocker-sandboxes-network-credentialssbx ls--json-q--quietsbx stop SANDBOX [SANDBOX...]sbx run --namesbx rm [SANDBOX...] [--all] [--force]--forcesbx prune [--dry-run] [--filter until=VALUE] [--force]--dry-run--force--filter until=VALUEsince=VALUEuntil=168hsbx--filter since=DURATIONuntil=since=--helpuntil=sbx prune --dry-run --filter until=168h
# after reviewing the dry-run output and any clone-commit warnings:
sbx prune --filter until=168hsbx cp SRC DSTSANDBOX:PATHsbx cp ./config.json my-sandbox:/home/agent/
sbx cp my-sandbox:/home/agent/output.log ./sbx exec [flags] SANDBOX COMMAND [ARG...]docker exec-it-d-u-w-e--env-file--privilegedsbx exec -it my-sandbox bash
sbx exec -u root my-sandbox apt-get updatesbx ports SANDBOX [--publish SPEC] [--unpublish SPEC]-p/--publishsbx createsbx run--cpus--memory-m--name<agent>-<workdir>defaultdocker agent run --sandboxdocker agent sandboxdocker-agent-rundocker-sandboxes-network-credentialssbxenv.yamldocker-sandboxes-envspec.yamlAGENTdocker-sandboxes-kitsreferences/sources.mdchecks/verification.md--app-name--force