echo 'my-token-value' | sbx secret set-custom --value-stdin
sbx settings set telemetry.disabled true && sbx daemon restart
sbx --cloud inspect my-sandbox --format json
sbx create --mount /home/user/project:/workspace/project my-kit
sbx run --query api_key=allowed --query env=prod my-kit
proxy.sshDirect: true
browser.enabled: false
daemon.log.maxSizeMB: 50
daemon.log.maxBackups: 5
daemon.log.maxAgeDays: 30
proxy.sshDirect: true
sbx secret set-custom \
--sandbox band-repo-doctor \
--host '**.band.ai' \
--env BAND_API_KEY \
--placeholder proxy-managed
sbx secret set-custom \
--sandbox band-repo-doctor \
--host api.anthropic.com \
--env ANTHROPIC_PROXY_KEY \
--placeholder sk-ant-proxy-managed
sbx create --name band-repo-doctor \
docker.io/bandhq/band-python-kit:6.0.0 "$PWD"
sbx policy allow network --sandbox band-repo-doctor api.anthropic.com
sbx run --name band-repo-doctor
sbx kit validate --offline ./my-kit.zip
sbx settings set daemon.log.maxSizeMB=50 daemon.log.maxBackups=5 daemon.log.maxAgeDays=30
sbx settings set proxy.sshDirect=true
export SBX_DOCKER_USERNAME="your-docker-id"
export SBX_DOCKER_PAT="your-personal-access-token"
harbor run -t hello-world/hello-world -a oracle -e sbx
sbx login
harbor run -t hello-world/hello-world -a oracle -e sbx --ek target=local
sbx setup ssh --auto-create
sbx mcp unload my-server --sandbox my-sandbox
sbx ls --format json | jq '.[].name'
sbx --cloud run --rm claude
sbx --cloud ttl --json | jq '.ttl_paused'
sbx run --rm claude
sbx run -d --name my-project claude .
sbx run --rm --cloud my-agent-sandbox
capabilities:
- com.docker.sandbox/long-running@1
sbx mcp auth
sbx --cloud create --name cloud-tools claude --kit docker.io/<NAMESPACE>/company-cli:1.0.0 --kit-arg company-cli.version=1.2
sbx --cloud create --name cloud-tools claude --kit docker.io/<NAMESPACE>/company-cli:1.0.0 --kit-args-file kit-args.txt
sbx --cloud create --on-timeout restart --kit my-agent-kit
sbx --cloud create --kit my-agent-kit --kit-arg model=gpt-4o --kit-arg max_steps=50
sbx diagnose --upload || echo 'Diagnostics upload failed — check connectivity and retry'
sbx --cloud env plan ./cloud.sbxenv.yaml
sbx --cloud env run --detached ./cloud.sbxenv.yaml
# cloud.sbxenv.yaml
project: cloud-project
memory: 4g
env:
PROJECT_NAME: example
sbx --cloud env rm ./cloud.sbxenv.yaml
sbx move local-project --to cloud --name cloud-project --ttl 2h --on-timeout stop
sbx move cloud-project --to local --name local-copy && sbx --cloud ls && sbx ports local-copy
sbx --cloud policy init deny-all
sbx --cloud policy allow network api.github.com:443
sbx --cloud policy allow network api.anthropic.com:443
sbx --cloud create --name cloud-project \
--allow-network api.github.com:443 \
--deny-network example.com claude
sbx --cloud exec cloud-project curl -I https://api.github.com
sbx --cloud policy log cloud-project
sbx --cloud secret set anthropic
sbx --cloud run claude --name cloud-project
sbx --cloud secret set-custom --name project-api \
--host api.example.com --env PROJECT_API_TOKEN \
--header Authorization --format 'Bearer %s'
sbx --cloud secret set openai --sandbox cloud-project
# later, in a cleanup script:
sbx --cloud secret rm openai --sandbox cloud-project --force
sbx --cloud create --name ci-task --cpus 4 --memory 8g --ttl 2h --on-timeout delete claude
sbx --cloud exec ci-task make test
sbx --cloud rm --force ci-task
sbx --cloud ports cloud-project --publish 8080/tcp
sbx --cloud volume create dependency-cache
sbx --cloud create --name cloud-project --volume dependency-cache:/workspace/cache claude
sbx --cloud exec cloud-project sudo chown agent:agent /workspace/cache
sbx move <sandbox-name> --cloud --force
sbx cp <sandbox-name>:/workspace/output ./local-output
sbx --cloud create --name cloud-project --allow-network github.com:443 claude
sbx --cloud exec cloud-project git clone https://github.com/docker/welcome-to-docker.git /home/agent/workspace/project
sbx --cloud attach cloud-project
sbx --cloud secret set anthropic
sbx --cloud cp cloud-project:/home/agent/workspace/review.md ./review.md
sbx --cloud rm cloud-project
sbx template save my-sandbox my-template:v1
sbx run -t my-template:v1 claude
# On the source machine
sbx template save my-sandbox my-template:v1 --output my-template.tar
# On the target machine
sbx template load my-template.tar
sbx run -t my-template:v1 claude
gh auth token | sbx secret set --registry ghcr.io --password-stdin
sbx run --template ghcr.io/my-org/my-template:v1 claude
cd examples
sbx run ./hello --kit ./gh
capabilities:
- type: com.docker.sandbox/network-policy@2
config:
runtime:
allow:
- github.com
- hosts: [api.github.com]
methods: [GET, HEAD, POST, PATCH, PUT, DELETE]
deny:
- hosts: [api.github.com]
methods: [DELETE]
paths: [/repos/**]
- type: com.docker.sandbox/credential@1
optional: true
config:
service: github
phase: runtime
apiKey:
name: GH_TOKEN
proxyManaged: true
inject:
- {domain: api.github.com, header: Authorization, format: 'Bearer %s'}
sbx --cloud run claude
sbx move my-project --to cloud
sbx --cloud run claude
sbx move my-project --to cloud
cd examples
sbx run ./hello --kit ./gh
capabilities:
- type: com.docker.sandbox/network-policy@2
config:
runtime:
allow:
- github.com
- hosts: [api.github.com]
methods: [GET, HEAD, POST, PATCH, PUT, DELETE]
deny:
- hosts: [api.github.com]
methods: [DELETE]
paths: [/repos/**]
- type: com.docker.sandbox/credential@1
optional: true
config:
service: github
phase: runtime
apiKey:
name: GH_TOKEN
proxyManaged: true
inject:
- {domain: api.github.com, header: Authorization, format: 'Bearer %s'}
sbx settings set kit.allowedSources '["docker.io/","github.com/myorg/"]'
sbx settings set kit.requireSignature true
sbx settings set ssh.agentSocketPath "$SSH_AUTH_SOCK"
sbx daemon restart
sbx settings set platform.images.registryMirror registry.example.com/docker-remote
sbx settings set sandbox.disk.dockerVolume 20g
sbx settings set platform.allowExperimentalFeatures true
sbx settings set feature.model true
sbx run --model gemma4 claude
export OPENAI_API_KEY=sk-...
sbx run --model gemma4 --overflow-provider openai --overflow-model gpt-5-nano claude
sbx settings set model.providers '{"company":{"url":"https://inference.example.com/v1","wire":"openai","apiKeyEnv":"COMPANY_API_KEY"}}'
sbx secret rm github --sandbox my-sandbox
sbx run --model <model-name>
sbx run --model my-anthropic-proxy/claude-3-5-sonnet 'summarize the repo'
sbx policy allow network --protocol udp 8.8.8.8:53
sbx mcp add --disable-http2 my-mcp-server https://mcp.example.com/sse
sbx run --model my-anthropic-proxy/claude-3-5-sonnet 'summarize the repo'
sbx policy allow network --protocol udp 8.8.8.8:53
sbx mcp add --disable-http2 my-mcp-server https://mcp.example.com/sse
sbx secret set mcp:acme:api-key
sbx mcp add acme --url https://mcp.acme.com/mcp \
--header 'Authorization: Bearer ${api-key}' \
--header 'Accept: application/json, text/event-stream'
sbx run claude --name acme-demo --static-mcp acme
sbx mcp inspect acme
sbx secret set mcp:acme:api-key
# then restart the sandbox or sandboxd to apply the change
sbx env create --name feature-branch-test
sbx env run --name feature-branch-test -- npm test
sbx env rm --name feature-branch-test
lifecycle:
post_create:
- ${{ env.fileDir }}/scripts/setup.sh
skills: readwrite
sbx credentials add registry \
--sandbox my-app \
--registry registry.example.com \
--username "$GITLAB_USER" \
--password "$GITLAB_PAT" \
--registry-auth-endpoint https://gitlab.example.com/jwt/auth
sbx credentials add custom \
--sandbox my-sandbox \
--host npm.pkg.github.com \
--env NODE_AUTH_TOKEN \
--command 'gh auth token'
@my-org:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}
sbx run --skills=off claude
sbx settings set skills.defaultMode readonly
sbx run --name my-sandbox
sbx run --model ollama/qwen2.5-coder --overflow-provider openai --overflow-model gpt-4o
sbx mcp add https://mcp.example.com --header 'Authorization: Bearer ${{ secret.mcp_token }}'
workspace: ${{ env.projectDir }}
sbx create ./my-agent/ . --kit ./my-mixin/ --kit-args-file ./kit.args --kit-arg my-mixin.channel=stable
sbx run docker.io/sbx/droid-kit:latest
sbx mcp add myserver --url https://internal.corp/mcp --skip-ssrf-check
sbx mcp auth serverx --scope read
sbx mcp auth status notion --json
sbx settings set platform.images.registryMirror registry.example.com
sbx settings set platform.images.registryMirror registry.example.com/docker-remote
sbx settings unset platform.images.registryMirror
sbx env plan ./web-app-env/sbxenv.yaml
sbx env run --env-arg channel=beta --env-arg endpoint=https://api.example.com
args:
channel:
default: stable
description: Release channel
enum:
- stable
- beta
endpoint:
required: true
description: API endpoint
pattern: "https://.*"
env:
RELEASE_CHANNEL: ${{ env.args.channel }}
API_ENDPOINT: ${{ env.args.endpoint }}
lifecycle:
initialize:
- label: Prepare workspace
cmd: test -d web-app || git clone https://github.com/example/web-app
timeout: 5m
sbx skills add anthropics/skills --skill frontend-design --skill pdf
sbx skills update frontend-design pdf
sbx skills ls && sbx skills rm frontend-design
sbx run devin ~/my-project
cd ~/my-project && sbx run devin
sbx create --name scratch claude
sbx run --name scratch
sbx cp my-sandbox:/home/agent/workspace/output.log ./
sbx cp ./config.json my-sandbox:/home/agent/workspace/
msiexec.exe /i DockerSandboxesMachine.msi /quiet
sbx --cloud run claude --name cloud-project
sbx version --json | jq -r '.server.state'
docker sandbox credentials set anthropic --ref 'op://Work/Anthropic/credential' --refresh 30m
docker sandbox credentials set github --command 'gh auth token' --refresh on-demand
AWS_PROFILE=prod docker sandbox credentials set openai --ref 'arn:aws:secretsmanager:us-west-2:123456789012:secret:openai-api-key'
sbx settings set platform.allowExperimentalFeatures true
sbx settings set feature.sandbox-gpu true
sbx create --gpu claude .
sbx run --model gemma4 --provider ollama claude
# web-app-env/.sbxenv.yaml
schemaVersion: "1"
name: web-app
agent: claude
workspace: ./web-app
kits:
- docker.io/sbx/playwright-kit:latest
env:
NODE_ENV: test
ports:
- sandbox: 3000
host: 3000
# Then, from web-app-env/:
sbx env run
sbx env run base.sbxenv.yaml local.sbxenv.yaml
sbx env create
sbx env exec -- npm test
sbx env rm --force
github --command 'gh auth token' --refresh on-demand
github --ref 'op://Work/GitHub/token' anthropic --ref 'op://Work/Anthropic/credential'
anthropic --ref 'arn:aws:secretsmanager:us-west-2:123456789012:secret:anthropic-api-key'
sbx prune --dry-run --filter since=168h
export API_URL=https://api.example.com
sbx run -e LOG_LEVEL=debug -e API_URL --env-file .env.sandbox claude
sbx exec -d my-project bash -c "echo 'export INTERNAL_API_URL=https://api.example.com' >> /etc/sandbox-persistent.sh"
curl -fsSL https://get.docker.com | sudo SBX=1 sh
curl -fsSL https://get.docker.com | sudo REPO_ONLY=1 sh
sudo apt-get install docker-sbx
sbx login
brew trust docker/tap && brew install docker/tap/sbx && sbx login
sbx env run
DOCKER_SANDBOXES_FEATURE_SANDBOX_USB=1 sbx create --usb /dev/bus/usb/001/003 my-sandbox
sbx run --env-file .env -e MY_TOKEN=abc123 my-image
sbx policy allow network api.example.com
sbx policy deny network ads.example.com
sbx policy reset
sbx policy init deny-all
sbx policy allow network api.anthropic.com
sbx policy check network api.anthropic.com
sbx create --deny-network ads.example.com --deny-network tracker.example.com claude .
sbx policy ls my-sandbox
sbx settings set proxy http://proxy.corp:3128
sbx settings set proxy.sandbox socks5://proxy.corp:1080
sbx settings set proxy.integratedAuth true
sbx mcp add notion --url https://mcp.notion.com/mcp
sbx run claude --name mcp-demo --static-mcp notion
sbx secret set mcp:slack.client_secret
sbx mcp add slack --url https://slack.example.com/mcp --client-id <CLIENT_ID>
sbx mcp add linear --url https://mcp.linear.app/mcp
sbx mcp load linear --sandbox my-session
sbx settings platform.allowExperimentalFeatures true
sbx settings feature.model true
sbx run --model gemma4 claude
sbx run --model ollama/gemma4 claude
sbx secret set anthropic -t "$ANTHROPIC_API_KEY"
sbx secret set github --registry ghcr.io --sandbox my-dev-sandbox
sbx policy ls
sbx secret set-custom -g \
--host opencode.ai \
--env OPENCODE_API_KEY \
--value "$OPENCODE_API_KEY"
sbx policy allow network opencode.ai:443
sbx settings set platform.allowExperimentalFeatures true
sbx settings set feature.model true
sbx run --model llama3.2 claude
sbx run --deny-network api.example.com claude
sbx settings set proxy http://proxy.corp.example.com:8080
sbx settings set proxy.integratedAuth true
sbx create --name demo codex .
ssh demo.sbx
sbx create --name demo codex .
ssh demo.sbx
ssh demo.sbx
where.exe sh
ssh demo.sbx
where.exe sh
ssh demo.sbx
{ "remote.SSH.useLocalServer": false }
ssh demo.sbx
{ "remote.SSH.useLocalServer": false }
sbx setup ssh
sbx setup ssh
sbx skills import --dry-run
sbx skills import
sbx run --no-share-skills claude
sbx skills import --dry-run
sbx skills import
sbx run --no-share-skills claude
sbx setup ssh
ssh my-sandbox.sbx
sbx skills import --dry-run && sbx skills import --force
sbx run -p 8080:8080 --no-share-skills my-image
sbx policy check network --host api.example.com --port 443
DOCKER_SANDBOXES_PROXY=socks5://proxyuser:proxypass@proxy.corp.example.com:1080 DOCKER_SANDBOXES_NO_PROXY=localhost,127.0.0.1 sbx run
sbx secret import
sbx policy check network --host api.example.com --port 443
DOCKER_SANDBOXES_PROXY=socks5://proxyuser:proxypass@proxy.corp.example.com:1080 DOCKER_SANDBOXES_NO_PROXY=localhost,127.0.0.1 sbx run
sbx secret import
sbx policy check network --host api.example.com --port 443
DOCKER_SANDBOXES_PROXY=socks5://proxyuser:proxypass@proxy.corp.example.com:1080 DOCKER_SANDBOXES_NO_PROXY=localhost,127.0.0.1 sbx run
sbx secret import
sbx settings set feature.ssh true && ssh my-sandbox@127.0.0.1 -p 2222
sbx settings set kit.allowedSources docker.io/,registry.example.com/
sbx setup
sbx settings set feature.ssh true
ssh <sandbox-name>@127.0.0.1 -p 2222
sbx settings set kit.allowedSources ghcr.io/myorg/
sbx settings set feature.ssh true
ssh <sandbox-name>@127.0.0.1 -p 2222
sbx settings set kit.allowedSources ghcr.io/myorg/
sbx settings set feature.ssh true
ssh <sandbox-name>@127.0.0.1 -p 2222
sbx settings set kit.allowedSources ghcr.io/myorg/
sbx run --name pentest-alpha claude
sbx run --name pentest-beta claude
# Later, from any directory:
sbx run --name pentest-alpha
sbx secret set-custom --host '*.api.example.com' --host '**.internal.corp' MY_API_TOKEN
sbx policy allow network 10.10.14.0/24
sbx ls --json | jq '.[].id'
sbx run --name feature-a claude && sbx run --name feature-b claude
sbx run --name feature-a
sbx secret set-custom --host '*.internal.corp' --host '**.api.internal.corp' MY_API_TOKEN
sbx run --name feature-a claude && sbx run --name feature-b claude
sbx run --name feature-a
sbx secret set-custom --host '*.internal.corp' --host '**.api.internal.corp' MY_API_TOKEN
sbx run --name feature-a claude && sbx run --name feature-b claude
sbx run --name feature-a
sbx secret set-custom --host '*.internal.corp' --host '**.api.internal.corp' MY_API_TOKEN
sbx secret set my-sandbox openrouter
sbx policy ls --include-inactive
sbx run claude --clone
sbx secret set --registry ghcr.io
git branch my-feature refs/sandboxes/<name>/my-feature
sbx rm my-sandbox
sbx policy ls
sbx diagnose
sbx template save my-baseline
sbx template ls
sbx template load my-baseline
sbx run --cpus 2 <agent>
docker sbx run --oauth-login codex
sbx rm --all
sbx policy reset
Summary
Docker Sandboxes is an open-source command-line tool that runs AI coding agents inside isolated microVM sandboxes, each with its own Docker daemon, filesystem, and network so agents can build containers, install packages, and modify files without touching the host. The sbx CLI itself is free, including for commercial use; centrally managing network and filesystem policy across an organization's developers from the Docker Admin Console requires a separate paid subscription. It installs via Homebrew, WinGet, or APT/RPM packages and works with Claude Code, Codex, Gemini CLI, OpenCode, and other agents, making it a fit for developers and platform teams who need to run autonomous coding agents without exposing their machines to arbitrary file or network access. It sits in the runtime-security and sandboxingsandboxingRunning code inside a restricted environment that limits what it can access or change. The isolation reduces the impact of mistakes or untrusted code, depending on the sandbox's controls. space, layering egress policy, secrets management, and audit logging around agent execution rather than just isolating processes.
Docker Sandboxes isolates applications in lightweight containers, providing secure, reproducible environments for development and deployment.
Can an autonomous agent modify files or reach the network on my machine without my say-so?
each agent runs inside a microVM with its own filesystem and Docker daemon, so file writes and container builds happen in the sandbox and never touch the host unless explicitly copied out
Which domains and hosts did an agent actually try to reach while it worked?
network policy governs sandbox egress including DNS resolution itself, so a lookup for a denied domain is blocked rather than silently resolved, closing off DNS-based exfiltration
How do I hand an agent an API key without putting it in its environment or letting it leak into a container image?
built-in and custom secrets are injected by the proxy (for example as an Authorization header) rather than exported into the sandbox, with an encrypted on-disk store used when no OS keychain is available
Can I let an agent use a package registry or Docker Hub without opening it up to every other site?
file and network access controls are scoped per sandbox, and kit installs can be restricted to an allowlist of sources so only approved registries are reachable
Did a policy change quietly loosen what an agent is allowed to reach?
policy rules are listed per sandbox with inactive governed rules hidden by default, so reviewing the full rule set including hidden entries shows what changed
Which of my running agents belongs to which project, and can I get back into one later?
naming a sandbox independent of its working directory lets multiple named sandboxes exist per workspace and be re-attached from any directory by name
Built from Docker Sandboxes's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
Docker Sandboxes covers 1 of the 8 data discovery and protection capabilities we track.
What Docker Sandboxes offers you
Command-line interface22
Air-gapped deployment1
CI/CD pipeline integration1
JSON data export1
MCP server1
No capabilities match.
+Sandbox Lifecycle and Access8 capabilitiesCovers the core operations for creating, running, inspecting, and tearing down sandboxes. Gives operators and agents consistent, scriptable control over sandbox state from creation through deletion.▸
+Daemon lifecycle managementshippedProvides CLI subcommands to start, stop, check status, and adjust logging for the background sandbox daemon.30 releases · 6 other sources · first seen Apr 2026▸
Also counts toward: Command-line interface
release
30 total
Print the client version without starting the daemon using sbx --version.
v0.51.0 · Nov 2026
· source
· release history
Windows clients now verify that the daemon's named pipes belong to the same Windows user — older elevated daemons may need to be stopped with the previous CLI or Task Manager before using the updated CLI.
v0.50.0 · Oct 2026
· source
· release history
Windows: older elevated daemons must be stopped with the previous CLI or Task Manager before using the updated CLI, because the updated CLI verifies that the daemon's named pipes belong to the same Windows user.
v0.50.0 · Oct 2026
· source
· release history
Adds daemon.log.maxSizeMB, daemon.log.maxBackups, and daemon.log.maxAgeDays keys to sbx settings set for controlling daemon log size and retention, the browser.enabled setting to control whether sandboxes can open the host browser, and the proxy.sshDirect setting (set to true) to connect cloud SSH…
v0.49.1 · Oct 2026
· source
· release history
sbx diagnose now reports running CLI and shim processes, warns when global network policy is not initialized, and detects a ZFS setting that can make image builds unusually slow.
v0.49.1 · Oct 2026
· source
· release history
--detached on sbx run and sbx env run is rejected; use --detach or -d.
v0.48.0 · Oct 2026
· source
· release history
docs
browser.enabled to prevent sandboxed processes from opening URLs in your host browser: browser.enabled This also prevents in-sandbox OAuth logins that redirect to localhost. Daemon logging These settings control rotation of daemon.log , not logs written by the CLI or processes inside a sandbox.
docs update · Oct 2026
· source
sbx settings ls --no-trunc sbx settings ls --json By default, prints only the effective value. Use or --format yaml for the complete setting record, including the source and default. --force command stores that path, not a reference to the variable.
docs update · Oct 2026
· source
For CI and other environments without a browser, sign in with a Docker Personal Access Token (PAT) for the subscribed account: echo " $DOCKER_PAT " | sbx login --username <your-docker-id> --password-stdin For PAT setup instructions, see CI and headless use
docs update · Oct 2026
· source
example
Cap daemon logs to 50 MB per file, keep 5 backups, and expire files older than 30 days to prevent disk fill on long-running hosts.$ sbx settings set daemon.log.maxSizeMB=50 daemon.log.maxBackups=5 daemon.log.maxAgeDays=30
v0.49.1 · Oct 2026
· source
Fail a CI step immediately if a diagnostics upload is unsuccessful, rather than silently succeeding.$ sbx diagnose --upload || echo 'Diagnostics upload failed — check connectivity and retry'
v0.46.0 · Sep 2026
· source
Detect a failed diagnostics upload in CI so the pipeline can alert or retry rather than silently continuing.$ sbx diagnose --upload || echo 'Diagnostics upload failed, check connectivity'
v0.46.0 · Sep 2026
· source
+Named sandbox managementshippedLets users create, reconnect to, and list sandboxes by a stable name regardless of where they run the command.24 releases · 5 other sources · first seen Jun 2026▸
Also counts toward: Command-line interface
release
24 total
sbx template ls --json output changes: top-level {"images": [...]} is replaced by a bare array for local and cloud sandboxes.
v0.48.0 · Oct 2026
· source
· release history
sbx template ls --json returns the image array directly instead of {"images": [...]}.
v0.48.0 · Oct 2026
· source
· release history
sbx rm, sbx stop, sbx template rm, and sbx volume rm structured output now returns an array of result objects with action, resource, name, and optional id and error.
v0.48.0 · Oct 2026
· source
· release history
-d for the description on sbx template save is rejected; use --description.
v0.48.0 · Oct 2026
· source
· release history
sbx ls --json returns the sandbox array directly (e.g. .[].name) instead of {"sandboxes": [...]} (e.g. .sandboxes[].name).
v0.48.0 · Oct 2026
· source
· release history
sbx ls --json output changes: the top-level object {"sandboxes": [...]} is replaced by a bare array; update filters from .sandboxes[].name to .[].name. Fields are now snake_case, created_at and last_used_at use RFC 3339 timestamps, and rows include detached.
v0.48.0 · Oct 2026
· source
· release history
docs
sbx run defaults the workspace to the current directory. To run a one-off To create a mountless sandbox , use sbx create without a workspace path, then attach by name: sbx create --name scratch shell sbx run --name scratch
docs update · Sep 2026
· source
Docker-native sandbox environments for AI agents with controlled filesystem, network, and tool access.
example
Parse sandbox names from structured output in CI — the array is now returned directly, so the jq filter changes from .sandboxes[].name to .[].name.$ sbx ls --format json | jq '.[].name'
v0.48.0 · Oct 2026
· source
Re-attach to a named sandbox from a different directory without specifying an agent, useful when returning to a long-running session.$ sbx run --name feature-a
v0.33.0 · Jun 2026
· source
Run two independent Claude Code sandboxes in the same workspace — useful when parallelising agent tasks without them colliding.$ sbx run --name feature-a claude && sbx run --name feature-b claude
v0.33.0 · Jun 2026
· source
+Sandbox filesystem operationsshippedLets users copy files in and out of a sandbox and run commands inside it with consistent working-directory behaviour and faster I/O.25 releases · 2 other sources · first seen May 2026▸
Also counts toward: Command-line interface
release
25 total
Adds new sbx create/sbx run flags: mount additional workspaces at custom paths by passing PATH:TARGET[:ro] (or setting additionalWorkspaces[].target in environment files), suppress interactive prompts including Docker sign-in with --no-input (which also reports the command needed to continue), suppress…
v0.51.0 · Nov 2026
· source
· release history
Enable FUSE filesystems in local sandboxes via the sandbox.fuse setting or the environment option sandboxOptions.fuse.
v0.51.0 · Nov 2026
· source
· release history
Start agents in a subdirectory with sbx run --workdir, including when reattaching to an existing sandbox.
v0.51.0 · Nov 2026
· source
· release history
Copying text from a local sandbox to the host clipboard now requires opting in with the clipboard.textCopy setting.
v0.51.0 · Nov 2026
· source
· release history
sbx cp rejects symbolic links that escape a sandbox workspace when reached through an alternate host path, including a symlink, junction, macOS /private/tmp, or a Linux bind mount of a workspace subdirectory.
v0.50.0 · Oct 2026
· source
· release history
Sandboxes created with --clone now preserve kit-provided workspace files and report clone initialization failures.
v0.50.0 · Oct 2026
· source
· release history
docs
Git ignore rules Git inside a local sandbox preserves host-specific ignore decisions for paths that exist when you create the sandbox. This applies when the primary workspace is at a Git repository root. The sandbox receives a snapshot of ignored paths, not the host-specific patterns.
seen Oct 2026
· source
example
Mount a local host directory into a kit-declared mount point when creating a sandbox, so the agent can read/write project files from the host.$ sbx create --mount «home»/project:/workspace/project my-kit
v0.50.0 · Oct 2026
· source
+SSH endpoint for sandbox accessshippedExposes a native SSH endpoint so agents, operators, and editors can open a shell directly into a running sandbox.4 releases · 15 other sources · first seen Jun 2026▸
Also counts toward: Command-line interface
release
Adds sbx setup ssh --auto-create on macOS and Windows to register Docker Sandbox connections in Codex and Claude Desktop, creating a dedicated sandbox on first use.
v0.48.0 · Oct 2026
· source
· release history
Adds SSH access to sandboxes (experimental): run sbx setup ssh once to register a managed *.sbx SSH config entry, then connect to any sandbox with ssh <name>.sbx from OpenSSH clients or remote-dev tools like VS Code and Cursor.
v0.37.0 · Jul 2026
· source
· release history
New experimental native SSH endpoint in sandboxd: connect with ssh <sandbox-name>@127.0.0.1 -p 2222 (publickey auth, connect-to-create, interactive shell and exec).
v0.34.0 · Jun 2026
· source
· release history
Adds experimental native SSH endpoint in sandboxd: connect with ssh <sandbox-name>@127.0.0.1 -p 2222 (publickey auth, connect-to-create, interactive shell and exec), enabled via sbx settings set feature.ssh true.
v0.34.0 · Jun 2026
· source
· release history
docs
9 total
client. An interactive SSH shell starts in the sandbox workspace, matching sbx exec . An editor's remote folder picker might open at the sandbox user's home directory, . Select the intended folder explicitly in the editor instead of relying on its initial location. Orca
seen Oct 2026
· source
SSH agent forwarding is enabled by default. When is set, Docker Sandboxes uses the value from the client that creates, starts, or joins each sandbox. It forwards that agent into the sandbox and sets there.
docs update · Sep 2026
· source
Manuals Get started Guides Reference Connect ChatGPT to a sandbox Table of contents Availability: GA Requires: Docker Sandboxes 0.37.0 or later Connect the ChatGPT desktop app to a sandbox over SSH so Codex works inside the isolated environment instead of on your host.
docs update · Jul 2026
· source
Manuals Get started Guides Reference Connect Cursor to a sandbox Table of contents Availability: GA Requires: Docker Sandboxes 0.37.0 or later Cursor is built on VS Code, so it connects to a sandbox the same way, using Remote - SSH.
docs update · Jul 2026
· source
Manuals Get started Guides Reference Connect Claude Desktop to a sandbox Table of contents Availability: GA Requires: Docker Sandboxes 0.37.0 or later Claude Desktop can run Claude Code on a remote machine over SSH. Point it at a sandbox so the agent works inside the isolated environment instead of on your host.
docs update · Jul 2026
· source
Manuals Get started Guides Reference Editor and app integrations Table of contents Availability: GA Requires: Docker Sandboxes 0.37.0 or later You can connect an external editor or desktop app to a running sandbox over SSH.
docs update · Jul 2026
· source
example
Register a dedicated Codex and Claude Desktop sandbox on macOS or Windows so AI coding agents connect via SSH without a host workspace mounted.$ sbx setup ssh --auto-create
v0.48.0 · Oct 2026
· source
Register a dedicated Codex and Claude Desktop sandbox via SSH on macOS or Windows — each AI desktop client gets its own persistent sandbox on first connect.$ sbx setup ssh --auto-create
v0.48.0 · Oct 2026
· source
Set up SSH access once so every sandbox becomes reachable by name from any OpenSSH-compatible client or remote-dev tool.$ sbx setup ssh
v0.37.0 · Jul 2026
· source
Connect to a running sandbox for an interactive shell or one-shot command without leaving your terminal.$ ssh my-sandbox.sbx
v0.37.0 · Jul 2026
· source
Enable the experimental SSH endpoint so agents or operators can shell directly into a running sandbox without a separate proxy.$ sbx settings set feature.ssh true
v0.34.0 · Jun 2026
· source
Connect an interactive shell to a named sandbox over the native SSH endpoint once feature.ssh is enabled.$ ssh <sandbox-name>@127.0.0.1 -p 2222
v0.34.0 · Jun 2026
· source
+Sandbox port publishingshippedPublishes sandbox ports to the host at creation time and recovers automatically from port conflicts on daemon restart.10 releases · 1 other source · first seen Jun 2026▸
Also counts toward: Command-line interface
release
10 total
Publish a host port using the new short flag -p as an alias for --publish in sbx ports.
v0.51.0 · Nov 2026
· source
· release history
sbx ports --publish / --unpublish locally now emit result rows with action: published or action: unpublished instead of human-readable lines.
v0.48.0 · Oct 2026
· source
· release history
sbx ports cloud rows use sandbox_port instead of port; local rows use host_ip, host_port, sandbox_port, and protocol.
v0.48.0 · Oct 2026
· source
· release history
sbx ports --publish / --unpublish locally: structured formats now emit result rows with action: published or action: unpublished; warnings go to stderr.
v0.48.0 · Oct 2026
· source
· release history
sbx ports cloud rows rename port to sandbox_port; local rows use host_ip, host_port, sandbox_port, and protocol.
v0.48.0 · Oct 2026
· source
· release history
Host-port collisions from sbx ports --publish now identify the occupied binding and offer a retry with an automatically allocated port.
v0.47.0 · Oct 2026
· source
· release history
example
Start a sandbox with a published port and without shared skills, e.g. for an isolated web-service test.$ sbx run -p 8080:8080 --no-share-skills my-image
v0.37.0 · Jul 2026
· source
+Linux arm64 and headless platform supportshippedsuggestedSupports Linux arm64 builds and headless server deployments with an encrypted on-disk keychain when a desktop session is unavailable.9 releases · 2 other sources · first seen Jun 2026▸
Suggested capability: Encryption at rest. This is our guess, not confirmed.
release
9 total
The Linux tarball installer now works for regular users on systems with AppArmor.
v0.49.1 · Oct 2026
· source
· release history
Read-only invocations and runs with --force no longer start an interactive sign-in flow; authentication must be completed before running automation.
v0.48.0 · Oct 2026
· source
· release history
Read-only invocations and runs with --force no longer start an interactive sign-in flow; sign in before running automation that requires authentication.
v0.48.0 · Oct 2026
· source
· release history
Without a terminal, sbx create and sbx run fail if the workspace directory does not exist (a mkdir -p hint is printed).
v0.48.0 · Oct 2026
· source
· release history
macOS distributions now ship as a single signed Sbx.app bundle, with Homebrew and tarball PATH installs working via a symlink into the bundle.
v0.45.0 · Sep 2026
· source
· release history
Homebrew installs now use a stapled .dmg artifact instead of a .tar.gz archive, improving Gatekeeper compatibility on macOS.
v0.38.0 · Aug 2026
· source
· release history
docs
For CI and other environments without a browser, sign in with a Docker Personal Access Token (PAT) for the subscribed account: echo " $DOCKER_PAT " | sbx login --username <your-docker-id> --password-stdin For PAT setup instructions, see CI and headless use
docs update · Oct 2026
· source
selects the host default For local sandboxes, cpus: 0 allocates all host CPUs, except on Linux arm64 hosts, where the default is capped at 16. Set to an explicit count to request a larger allocation, up to the number of available host CPUs.
seen Sep 2026
· source
+Sandbox inspectionshippedsuggestedShows a sandbox's installed kits, injected secrets, published ports, and runtime details in a single command.3 releases · 1 other source · first seen Jul 2026▸
Suggested capability: Sensitive data discovery. This is our guess, not confirmed.
Also counts toward: Command-line interface, JSON data export
release
Adds --json output to read-only commands including secret ls, version, mcp ls, skills ls, policy inspect, and the kit verification commands.
v0.42.0 · Sep 2026
· source
· release history
sbx inspect now displays custom secrets configured for a sandbox.
v0.38.0 · Aug 2026
· source
· release history
sbx inspect now surfaces the sandbox's kits, injected secrets, and sandbox information.
v0.35.0 · Jul 2026
· source
· release history
example
Inspect a specific cloud sandbox and get its published port URLs in machine-readable form for scripting or CI pipelines.$ sbx --cloud inspect my-sandbox --format json
v0.50.0 · Oct 2026
· source
+Safe sandbox deletionshippedPrevents accidental deletion of a running sandbox by requiring an explicit force flag before teardown.4 releases · first seen Jul 2026▸
Also counts toward: Command-line interface
release
Adds --force (and --yes/-y for sbx kit builder history rm) flags for non-interactive confirmation of destructive commands.
v0.45.0 · Sep 2026
· source
· release history
Commands that remove resources now prompt for confirmation and return a non-zero exit code when the prompt is declined; use --force or --yes/-y in non-interactive workflows.
v0.45.0 · Sep 2026
· source
· release history
sbx rm now won't delete an active session unless --force is passed.
v0.35.0 · Jul 2026
· source
· release history
sbx rm now requires --force to delete an active session, preventing accidental teardown.
v0.35.0 · Jul 2026
· source
· release history
+Network Control and Egress Security5 capabilitiesDefines and enforces what network traffic sandboxes are allowed to send or receive. Combines policy tiers, active blocking of covert channels, upstream proxy routing, and TLS inspection into a layered egress control model.▸
+Sandbox network policyshippedLets operators define, inspect, test, and list egress network policies for sandboxes, with preset tiers and per-request policy checks before any outbound connection is made.26 releases · 4 other sources · first seen Jun 2026▸
Also counts toward: Command-line interface
release
26 total
Adds --query name=value flag (repeatable) to HTTP network rules to require specific query-parameter restrictions.
v0.50.0 · Oct 2026
· source
· release history
sbx policy ls, sbx settings ls, and sbx policy approval ls now accept -q to print only rule IDs, setting keys, or approval IDs.
v0.49.1 · Oct 2026
· source
· release history
sbx policy refresh immediately refreshes policy instead of waiting for the next polling interval.
v0.49.1 · Oct 2026
· source
· release history
Supports configurable network policies per eval task, allowing internet access during setup to be cut off during agent execution for reproducible evals.
announced · Oct 2026
· source
· release history
Introduces configurable network policies in Docker Cloud Sandboxes to allow dependency downloads during task setup and then restrict internet access during agent execution, enabling fair and reproducible evals.
announced · Oct 2026
· source
· release history
sbx policy log output changes to {updated_at, allowed: [...], blocked: [...]} with new entry fields, replacing the previous allowed_hosts / blocked_hosts local format and the cloud camelCase document.
v0.48.0 · Oct 2026
· source
· release history
docs
Configure a support message Admins can add an optional support message that appears after the policy denial details when a sandbox action is blocked by organization governance. Use it to point members to an internal support channel, ticket queue, or security contact.
docs update · Jul 2026
· source
example
Restrict outbound HTTP access to requests that include specific query parameters, useful for scoping API calls to a known tenant or environment.$ sbx run --query api_key=allowed --query env=prod my-kit
v0.50.0 · Oct 2026
· source
Block a sandbox from reaching a specific host at creation time, e.g. to prevent exfiltration to an external service.$ sbx run --deny-network api.example.com claude
v0.38.0 · Aug 2026
· source
Before running an agent task, verify that the current policy permits a specific outbound connection — catch misconfigurations without launching the full sandbox.$ sbx policy check network --host api.example.com --port 443
v0.35.0 · Jul 2026
· source
+Upstream proxy support for sandbox egressshippedRoutes sandbox outbound traffic through a corporate HTTP or SOCKS5 upstream proxy, with optional credentials and exclusion lists.12 releases · 8 other sources · first seen Jul 2026▸
release
12 total
Adds daemon.log.maxSizeMB, daemon.log.maxBackups, and daemon.log.maxAgeDays keys to sbx settings set for controlling daemon log size and retention, the browser.enabled setting to control whether sandboxes can open the host browser, and the proxy.sshDirect setting (set to true) to connect cloud SSH…
v0.49.1 · Oct 2026
· source
· release history
sbx mcp add now completes OAuth discovery on networks that require an HTTP proxy without needing --skip-ssrf-check, and cloud commands, sbx move, the TUI, and cloud SSH now honor configured proxies, including system and PAC proxies.
v0.49.1 · Oct 2026
· source
· release history
sbx settings set now rejects invalid upstream proxy values before saving them.
v0.47.0 · Oct 2026
· source
· release history
A registry mirror configured with platform.images.registryMirror is now also used by Docker running inside a sandbox when the value is a bare host with no path prefix.
v0.42.0 · Sep 2026
· source
· release history
A registry mirror configured with platform.images.registryMirror is now also applied to Docker running inside a sandbox when the value is a bare host.
v0.42.0 · Sep 2026
· source
· release history
Adds proxy.integratedAuth setting to enable NTLM/Kerberos/Negotiate proxy authentication on Windows.
v0.38.0 · Aug 2026
· source
· release history
docs
This page describes proxy settings for local sandboxes, the local daemon, and host CLI connections to cloud sandboxes. These settings don't configure traffic originating inside a cloud sandbox. For cloud sandbox egress controls, see Sandbox traffic â network access from inside your local sandboxes.
docs update · Oct 2026
· source
Cloud SSH honors your host's configured upstream proxy. If the proxy refuses SSH connections, see Cloud SSH proxy configuration
seen Oct 2026
· source
sbxenv.yaml Registry mirror routes Docker Hub template, kit, and in-sandbox Docker image pulls through an organization's registry mirror.
docs update · Sep 2026
· source
By default, both sandbox traffic and the daemon's own traffic follow your OS system proxy, so this usually works without any configuration. To set a proxy explicitly â with a proxy URL, a PAC file, a SOCKS5 proxy, or separate settings for sandbox and daemon traffic â see Configure an upstream proxy .
docs update · Aug 2026
· source
Manuals Get started Guides Reference Configure an upstream proxy Table of contents Important Upstream proxy support is experimental. Everything described on this page â proxy URLs, PAC files, SOCKS5, use of the OS system proxy, proxy authentication, and the settings that configure them â is subject to change.
docs update · Aug 2026
· source
example
Force cloud SSH through a direct connection on a corporate network that allows outbound SSH, bypassing the HTTP proxy.$ sbx settings set proxy.sshDirect=true
v0.49.1 · Oct 2026
· source
Configure a corporate HTTPS proxy for all sandbox and daemon traffic with NTLM authentication on Windows.$ sbx settings set proxy http://proxy.corp.example.com:8080 sbx settings set proxy.integratedAuth true
v0.38.0 · Aug 2026
· source
Route all sandbox egress through a corporate SOCKS5 proxy (with credentials) so sandbox traffic flows through your org's inspection infrastructure.$ DOCKER_SANDBOXES_PROXY=socks5://proxyuser:proxypass@proxy.corp.example.com:1080 DOCKER_SANDBOXES_NO_PROXY=localhost,127.0.0.1 sbx run
v0.35.0 · Jul 2026
· source
+Sandbox network isolation and egress controlshippedBlocks unauthorised outbound channels — including ICMP and DNS-based exfiltration — and gates all sandbox egress on the active network policy.12 releases · 5 other sources · first seen Jun 2026▸
Shared capability: Data loss prevention
release
12 total
Adds sbx policy allow network --sandbox <name> <host> to grant a named sandbox outbound access to specific API hosts (e.g. api.anthropic.com).
announced · Oct 2026
· source
· release history
Supports configurable network policies per eval task, allowing internet access during setup to be cut off during agent execution for reproducible evals.
announced · Oct 2026
· source
· release history
Sandboxes created with the balanced network policy preset can now reach cdn.playwright.dev over HTTPS to download Playwright browser binaries.
v0.46.0 · Sep 2026
· source
· release history
Sandboxes created with the balanced network policy preset can now download Playwright browser binaries from cdn.playwright.dev over HTTPS.
v0.46.0 · Sep 2026
· source
· release history
Adds network policy controls that define which endpoints each agent can reach, configurable once and applied across all cloud sandboxes.
announced · Sep 2026
· source
· release history
Network policy now treats hostnames with a trailing dot as equivalent to their canonical form for routing, interception, and credential injection.
v0.45.0 · Sep 2026
· source
· release history
docs
The destination uses cloud network policy and the network rules of the sandbox's kit, or of its built-in agent, as sbx --cloud create does. Network rules you added locally don't transfer.
seen Oct 2026
· source
Manuals Get started Guides Reference Manage cloud network policy Table of contents Cloud network policy controls outbound connections from cloud sandboxes. It is a separate, network-only policy store with Docker account and individual sandbox scopes.
docs update · Sep 2026
· source
Manuals Get started Guides Reference Network access policies Table of contents Network access policies control outbound connections from sandboxes. Each policy contains one or more rules that allow the domains, IP ranges, and ports a workflow needs, or block destinations that should stay unavailable.
docs update · Aug 2026
· source
Manuals Get started Guides Reference Local policy Table of contents The sbx policy command manages the local policy on your machine. The local policy contains network access rules. Rules apply to all sandboxes on the machine when you use the global scope, or to a single sandbox when scoped by name.
docs update · Aug 2026
· source
example
Allow outbound UDP to a specific host — for example, a custom DNS or VPN endpoint — while keeping TCP as the default for other rules.$ sbx policy allow network udp://10.0.1.53:53 --protocol udp
v0.45.0 · Sep 2026
· source
+Audit and execution-outcome loggingshippedEmits structured audit records for network egress and filesystem mount events, capturing success, latency, and error class for every event.5 releases · 2 other sources · first seen Jun 2026▸
release
Provides an audit view that records policy decisions — including blocked network destinations — so developers can inspect agent activity after a task completes.
announced · Oct 2026
· source
· release history
Declined @requireApproval prompts on a local MCP server now produce their own audit record with policy attribution and a context digest.
v0.42.0 · Sep 2026
· source
· release history
A declined @requireApproval prompt on a local MCP server now generates its own audit record with policy attribution and a context digest.
v0.42.0 · Sep 2026
· source
· release history
Audit now emits execution-outcome records for network egress (per allowed connection) and filesystem mounts (per allowed path), including success, latency, and error class.
v0.37.0 · Jul 2026
· source
· release history
New audit logging emits structured JSONL records for every policy decision, written to a per-OS log directory and forwardable to any SIEM for enterprise compliance (requires Docker AI Governance subscription).
v0.32.0 · Jun 2026
· source
· release history
docs
AI Governance Audit Logs Subscription: AI Governance Requires: Docker Sandboxes 0.35.0 or later AI Governance Audit Logs record Docker AI Governance activity for your organization. Each record captures the principal, action, target, decision, and time for a governance event. Records contain metadata only.
docs update · Aug 2026
· source
Manuals Get started Guides Reference Local audit logs Table of contents The sandbox daemon writes local audit records as JSON Lines ( .jsonl ) files. Local audit logs stay on the host that produced them and can be collected by your own log shipper.
docs update · Aug 2026
· source
+MITM TLS proxyshippedIntercepts and decrypts TLS traffic from sandboxes via a built-in proxy, issuing generated certificates so encrypted sessions can be inspected.7 releases · first seen Jun 2026▸
release
7 total
Experimental: adds tls.allowNegativeSerial setting (via sbx settings set tls.allowNegativeSerial true) for compatibility with TLS-inspecting proxies that issue certificates with negative serial numbers.
v0.38.0 · Aug 2026
· source
· release history
Adds tls.allowNegativeSerial setting for TLS-inspecting proxies that issue certificates with negative serial numbers.
v0.38.0 · Aug 2026
· source
· release history
Faster sandbox startup by merging the TLS-proxy CA into the trust bundle instead of running update-ca-certificates, saving several hundred milliseconds.
v0.35.0 · Jul 2026
· source
· release history
Faster sandbox startup via optimized TLS-proxy CA installation (merging into trust bundle instead of running update-ca-certificates), saving several hundred milliseconds.
v0.35.0 · Jul 2026
· source
· release history
MITM proxy now publishes a CRL and embeds a CRL distribution point in generated certificates, enabling revocation-strict clients (e.g. .NET) to work inside sandboxes.
v0.33.0 · Jun 2026
· source
· release history
Sandbox DNS resolution is now blocked for domains denied by network policy, which may break sandboxed processes that previously resolved policy-denied domains.
v0.33.0 · Jun 2026
· source
· release history
+Secrets, Credentials, and Environment Configuration2 capabilitiesHandles how sensitive values and pre-packaged tooling reach the inside of a sandbox. Secrets and OAuth credentials are stored securely and scoped to specific sandboxes or host patterns, while kits bundle tooling, rules, and credentials into reusable units.▸
+Kit managementshippedLets operators install, update, and compose kits that extend a sandbox with pre-packaged tooling, network rules, and credentials from an allowlisted set of sources.57 releases · 7 other sources · first seen Jun 2026▸
Also counts toward: Command-line interface
release
57 total
Sandboxes created from embedded Claude or Codex specifications must be recreated before using sbx kit add, sbx run --model, or sbx move — save files and unpushed commits before removing.
v0.51.0 · Nov 2026
· source
· release history
The shell agent now uses a published Debian 13 v3 kit and requires registry access on first use; add the shell-credentials mixin to provide provider credentials.
v0.51.0 · Nov 2026
· source
· release history
Built-in agent names now resolve to published kits at docker.io/sbx/<name>:latest; the kit.allowExtractedAgents setting is removed.
v0.51.0 · Nov 2026
· source
· release history
Existing sandbox records retain their previous storage behavior — persistent kit volumes only apply to sandboxes created with v0.50.0 or later.
v0.50.0 · Oct 2026
· source
· release history
Each local source kit rebuilds once after upgrading due to the new digest-matching requirement for reuse and composition.
v0.50.0 · Oct 2026
· source
· release history
Persistent kit volumes with cross-update retention apply only to sandboxes created with v0.50.0; existing sandbox records retain their previous storage behavior.
v0.50.0 · Oct 2026
· source
· release history
docs
Protect the environment file Environment files can declare lifecycle and secret commands that run on your host. Keep them outside writable sandbox mounts so the agent cannot change what a later invocation runs.
docs update · Oct 2026
· source
--kit-arg--kit-args-file sbx --cloud create to pass arguments to kits supplied with For example, configure a v2 mixin that declares a version argument: sbx --cloud create --name cloud-tools claude --kit docker.io/<NAMESPACE>/company-cli:1.0.0 \ --kit-argcompany-cli.version=1.2 Replace the kit reference and argument…
docs update · Sep 2026
· source
example
Validate a local kit archive before deploying, without starting the daemon or authenticating — useful in CI.$ sbx kit validate --offline ./my-kit.zip
v0.49.1 · Oct 2026
· source
Pass kit-specific arguments when creating a cloud sandbox, so the kit can tailor its setup without hardcoding values.$ sbx --cloud create --kit my-agent-kit --kit-arg MODEL=gpt-4o --kit-args-file ./kit-params.env
v0.46.0 · Sep 2026
· source
Pass kit-specific arguments at cloud sandbox creation time to configure the kit's behaviour without modifying the environment file.$ sbx --cloud create --kit my-kit --kit-arg key=value --kit-args-file ./kit-params.json
v0.46.0 · Sep 2026
· source
Pass kit-specific configuration values when creating a cloud sandbox, so the kit can customize its behaviour at launch.$ sbx --cloud create --kit my-agent-kit --kit-arg model=gpt-4o --kit-arg max_steps=50
v0.46.0 · Sep 2026
· source
Allow kit installs from a private registry or Git source in addition to Docker Hub, to avoid the new allowlist breaking change.$ sbx settings set kit.allowedSources ghcr.io/myorg/
v0.34.0 · Jun 2026
· source
+Sandbox secret and credential managementshippedStores and scopes secrets and OAuth credentials to individual sandboxes or wildcard host patterns, backed by a keychain-protected store.40 releases · 18 other sources · first seen Mar 2026▸
Also counts toward: Command-line interface
release
40 total
Custom secrets without destination hosts no longer substitute credentials — add explicit destination hosts to existing mappings while preserving their placeholders and other settings.
v0.51.0 · Nov 2026
· source
· release history
Custom secrets without destination hosts no longer substitute credentials — existing mappings must be repaired by adding explicit destination hosts while preserving their placeholders and other settings.
v0.51.0 · Nov 2026
· source
· release history
MCP OAuth requests now block cross-origin credential redirects, with rejected silent refreshes preserving saved credentials without opening a browser, and browser-open logs omit URL query strings and fragments, keeping OAuth parameters and tokens out of daemon logs and diagnostic bundles.
v0.50.0 · Oct 2026
· source
· release history
sbx secret rm now returns an error when no secret matches --registry, --placeholder, --host, or --env-name, and sbx secret set-custom warns before replacing a different host or environment-variable mapping under the same placeholder.
v0.49.1 · Oct 2026
· source
· release history
Confirmation prompts require terminal input; piping an answer (e.g. echo y | sbx secret set ...) no longer confirms the operation — use --force / -f instead.
v0.48.0 · Oct 2026
· source
· release history
--yes / -y on sbx logout is rejected; use --force or -f.
v0.48.0 · Oct 2026
· source
· release history
docs
10 total
. Likewise, sbx secret rm fails if no secret matches the selector; check for matches with sbx secret ls before removing secrets. For lists of identifiers without table headings, use Output sbx policy ls -q Local rule IDs. With --cloud , network patterns instead. sbx settings ls -q Setting keys.
seen Oct 2026
· source
The service model doesn't fit, or the agent validates the variable's format when an agent validates the environment variable format at boot â use configured hosts and the placeholder appears in an HTTP request header, the proxy replaces it with the real value.
seen Oct 2026
· source
provider. For example, store your OpenAI API key on the host, then run Codex with an OpenAI model: sbx secret Store the API key with sbx secret set <PROVIDER_ID> , using the same ID as --overflow-provider . This also works for a custom provider ID defined in .
docs update · Oct 2026
· source
Secret commands run from a fresh temporary directory on the host during verification and refresh. Relative paths such as ./credential-helper resolve from that temporary directory.
seen Sep 2026
· source
Adding, updating, or removing a service secret takes effect in existing local sandboxes without a restart, including secrets configured with . Sandbox-scoped secrets take precedence over global secrets.
docs update · Sep 2026
· source
Secrets whose names start with mcp: are reserved for the host's MCP gateway . See MCP secrets for how these differ from agent and provider credentials. Adding, updating, or removing a service secret takes effect in existing local sandboxes without a restart, including secrets configured with .
docs update · Sep 2026
· source
example
8 total
Keep secrets out of shell history by piping a token directly into a custom secret.$ echo 'my-token-value' | sbx secret set-custom --value-stdin
v0.51.0 · Nov 2026
· source
Pass a secret to a custom tool without exposing its value in shell history or process listings.$ echo 'my-secret-value' | sbx secret set-custom my-api-key --value-stdin
v0.51.0 · Nov 2026
· source
Migrate existing API key environment variables into the keychain after upgrading, so sandboxes can still authenticate without auto-injection.$ sbx secret import
v0.35.0 · Jul 2026
· source
Migrate host env-var credentials (e.g. API keys) into the keychain so they are explicitly managed rather than auto-injected at runtime.$ sbx secret import
v0.35.0 · Jul 2026
· source
Grant a custom secret to all subdomains of an internal service using wildcard host patterns.$ sbx secret set-custom --host '*.internal.corp' --host '**.api.internal.corp' MY_API_TOKEN
v0.33.0 · Jun 2026
· source
Set an OpenRouter API key as a built-in secret so the proxy automatically injects the Authorization header for all agent requests.$ sbx secret set my-sandbox openrouter
v0.32.0 · Jun 2026
· source
+AI Agent Integration5 capabilitiesMakes it straightforward to run AI coding agents inside sandboxes with their required services and models working out of the box. Covers OAuth flows, service connectors, skill sharing, MCP server registration, and local model routing.▸
+MCP server managementshippedLets operators register, list, and remove MCP servers for use inside sandboxes, with live index refresh so new servers are discoverable without recreating the sandbox.25 releases · 5 other sources · first seen Aug 2026▸
Shared capability: MCP server
Also counts toward: Command-line interface, MCP server
release
25 total
Prefix MCP tool names with their server name by enabling mcp.useServerNamePrefixes.
v0.51.0 · Nov 2026
· source
· release history
Adds --skip-host-commands flag to disable Environment MCP host-execution commands.
v0.50.0 · Oct 2026
· source
· release history
Adds --skip-host-commands flag to disable Environment MCP host-execution commands for a sandbox.
v0.50.0 · Oct 2026
· source
· release history
sbx mcp ls --json locally returns the server array directly instead of {"gateway": {...}, "servers": [...]}.
v0.48.0 · Oct 2026
· source
· release history
sbx mcp ls --json locally: top-level {"gateway": {...}, "servers": [...]} is replaced by a bare server array; each row carries gateway.
v0.48.0 · Oct 2026
· source
· release history
MCP authorization requests offline_access when the server advertises it and authorization uses saved defaults or resource-required scopes, enabling servers to issue refresh tokens (run sbx mcp auth again to obtain a grant with a refresh token for existing credentials).
v0.47.0 · Oct 2026
· source
· release history
docs
Manuals Get started Guides Reference MCP gateway Table of contents Docker Sandboxes includes an MCP gateway for connecting agents to Model Context Protocol servers.
docs update · Aug 2026
· source
example
Detach a loaded MCP server from a running sandbox without restarting its agent — useful when swapping MCP configurations mid-session.$ sbx mcp unload my-server --sandbox my-sandbox
v0.48.0 · Oct 2026
· source
Detach a loaded MCP server from a running sandbox without restarting its agent — useful when rotating server configurations mid-session.$ sbx mcp unload my-server --sandbox my-sandbox
v0.48.0 · Oct 2026
· source
Re-authenticate an existing MCP server connection to obtain a refresh token now that offline_access is requested automatically.$ sbx mcp auth
v0.47.0 · Oct 2026
· source
Connect an MCP server that requires a custom Authorization header sourced from the local secret vault, keeping the token out of shell history.$ sbx mcp add https://mcp.example.com --header 'Authorization: Bearer ${{ secret.mcp_token }}'
v0.43.0 · Sep 2026
· source
+Local model routing for agent sandboxesshippedRoutes a supported AI agent away from its cloud API to a local model served via llmman or Ollama, enabled through an experimental feature flag.9 releases · 4 other sources · first seen Aug 2026▸
Also counts toward: Air-gapped deployment, Command-line interface
release
9 total
Disable the bundled model server and its inference-runtime download by setting model.server.enabled to false and running sbx daemon restart.
v0.51.0 · Nov 2026
· source
· release history
Windows MSI installations now include llmman and the guest kernel, enabling local model serving with sbx run --model and fixing sandbox launches that previously failed with No kernel specified.
v0.46.0 · Sep 2026
· source
· release history
Adds sbx run --model support for any OpenAI- or Anthropic-compatible endpoint configured via the new model.providers setting.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v0.45.0 · Sep 2026
· source
· release history
Adds sbx run --model support for any OpenAI- or Anthropic-compatible endpoint configured via the new model.providers setting.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v0.45.0 · Sep 2026
· source
· release history
Adds --overflow-provider/--overflow-model flags to sbx run --model to pair a local model with a hosted fallback for requests that exceed the local model's context limit.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v0.43.0 · Sep 2026
· source
· release history
sbx run --model no longer uses an ollama/ prefix to select the Ollama backend; use --provider ollama instead.
v0.39.0 · Aug 2026
· source
· release history
docs
The Docker Sandboxes daemon starts on your host and stops it when the daemon stops. At startup, downloads its llama.cpp runtime if needed, so the first startup requires network access for that download. The service starts even if you haven't used The service keeps running after a sandbox or CLI exits.
docs update · Sep 2026
· source
Remote control To use Claude Code's /remote-control command inside a sandbox, turn on remote control: claude.remoteControl To use an existing Ollama installation instead, set the provider to ollama sbx run --model gemma4 --provider ollama claude
docs update · Aug 2026
· source
anthropic The --model flag routes Claude Code's Anthropic API requests to a model served on your host. This feature is experimental and isn't supported on Windows.
docs update · Aug 2026
· source
example
Route Claude Code at a local GGUF model instead of api.anthropic.com — useful for air-gapped or cost-sensitive environments.$ sbx settings set platform.allowExperimentalFeatures true sbx settings set feature.model true sbx run --model llama3.2 claude
v0.38.0 · Aug 2026
· source
+Agent skills sharing across sandboxesshippedDiscovers agent skills on the host and imports them into a persistent store that new sandboxes automatically inherit, with a dry-run preview before committing.4 releases · 5 other sources · first seen Jul 2026▸
release
Adds --skills=off|readonly|readwrite tri-state flag to sbx create/sbx run and a skills.defaultMode config key to control skill sharing; --no-share-skills remains as a deprecated alias for --skills=off.
v0.43.0 · Sep 2026
· source
· release history
Adds --skills=off|readonly|readwrite flag to sbx create/sbx run for tri-state skills sharing (read-only by default); --no-share-skills still works as a deprecated alias for --skills=off.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v0.43.0 · Sep 2026
· source
· release history
Adds sbx skills import to discover and import host agent skills into a persistent store shared across sandboxes, with --dry-run to preview and --force to overwrite existing skills.
v0.37.0 · Jul 2026
· source
· release history
New --no-share-skills flag on sbx run / sbx create lets individual sandboxes opt out of the shared skills store.
v0.37.0 · Jul 2026
· source
· release history
docs
Sandboxes created for a supported agent mount the shared store read-only by default. These sandboxes mount the contents of the store each time they start, so you can install skills before or after creating them.
docs update · Sep 2026
· source
Table of contents Shared agent skills let you install skills from Git repositories or import skills from supported agents on your host. keeps installed skills in a persistent store that survives sandbox deletion and is shared by default with new sandboxes that run a supported agent.
docs update · Sep 2026
· source
Share agent skills Shared agent skills make skills from supported agents on your host available inside your sandboxes. Importing copies the skills into a persistent store that survives sandbox deletion and is shared by default with new sandboxes that run a supported agent. Shared agent skills are experimental.
docs update · Jul 2026
· source
example
Import host agent skills into the shared store (preview first, then apply) so new sandboxes automatically inherit them.$ sbx skills import --dry-run && sbx skills import --force
v0.37.0 · Jul 2026
· source
Start a sandbox with a published port and without shared skills, e.g. for an isolated web-service test.$ sbx run -p 8080:8080 --no-share-skills my-image
v0.37.0 · Jul 2026
· source
+Agent connector supportshippedAllows recognised AI agents — including Claude Code, Cursor, Droid, and ChatGPT — to run inside sandboxes with their OAuth flows and service connectors working without manual policy overrides.7 releases · 1 other source · first seen Jun 2026▸
Also counts toward: Command-line interface
release
7 total
The OpenCode kit now configures GitHub Copilot from the account's stored GitHub credential, enabling Copilot models without a separate device login.
v0.45.0 · Sep 2026
· source
· release history
Built-in droid, copilot, and kiro agents are removed and must now be run as community kits (e.g. sbx run docker.io/sbx/droid-kit:latest).
v0.42.0 · Sep 2026
· source
· release history
Claude Code's /remote-control endpoint can now be used inside sandboxes by enabling the claude.remoteControl setting via sbx settings set claude.remoteControl true.
v0.39.0 · Aug 2026
· source
· release history
New experimental sbx setup command imports agent credentials from environment variables for smoother first-time onboarding.
v0.34.0 · Jun 2026
· source
· release history
Claude connectors (Slack, Gmail, Notion, Atlassian, etc.) now work inside sandboxed Claude Code without manual policy overrides.
v0.33.0 · Jun 2026
· source
· release history
Adds Cursor OAuth support as a recognized agent.
v0.33.0 · Jun 2026
· source
· release history
docs
Set up desktop app connections On macOS and Windows, Docker Sandboxes can add connections to ChatGPT and Claude Desktop that create a dedicated sandbox on first use. This workflow uses a workspace inside the sandbox. To work directly on a mounted host project, create a sandbox and connect to its hostname instead.
docs update · Oct 2026
· source
+Claude Vertex multi-region endpoint supportshippedAllows Claude Vertex sandboxes to target US or EU multi-region endpoints rather than a single fixed endpoint.1 release · first seen Aug 2026▸
release
Claude Vertex sandboxes now support us and eu multi-region endpoints.
v0.38.0 · Aug 2026
· source
· release history
+Hardware and Platform Acceleration1 capabilityExtends sandboxes beyond standard CPU execution to take advantage of host hardware. Currently covers NVIDIA GPU passthrough for workloads that require GPU access inside the sandbox.▸
+GPU passthrough for sandboxesshippedEnables NVIDIA GPU passthrough via VFIO on Linux so workloads inside a sandbox can access the host GPU directly.2 releases · 2 other sources · first seen Aug 2026▸
release
Adds sbx run --gpu (experimental) for NVIDIA VFIO GPU passthrough on Linux; enable with sbx settings set feature.sandbox-gpu true.
v0.38.0 · Aug 2026
· source
· release history
Experimental: adds sbx run --gpu for NVIDIA VFIO GPU passthrough on Linux, enabled via sbx settings set feature.sandbox-gpu true.
v0.38.0 · Aug 2026
· source
· release history
docs
Manuals Get started Guides Reference Enable NVIDIA GPU passthrough Table of contents Important GPU passthrough is experimental. The --gpu flag, the driver bundle, and the setup steps on this page are subject to change.
docs update · Aug 2026
· source
Manuals Get started Guides Reference Sandbox environment files Table of contents A sandbox environment file captures the setup for a project in a .sbxenv.yaml file. Share the file with project contributors so they use the same agent, tools, resources, and credentials without reproducing CLI flags and setup steps.
docs update · Aug 2026
· source
+Other16 capabilities▸
+Cloud sandbox infrastructure and CLIshippedRun agents on Docker-managed cloud microVMs with specific CLI commands for run, file transfer, secrets, and policy.34 releases · 4 other sources · first seen Apr 2026▸
Also counts toward: Command-line interface
release
34 total
Read secrets from standard input with sbx secret set-custom --value-stdin, keeping secret values out of command arguments.
v0.51.0 · Nov 2026
· source
· release history
Check HTTP governance policy behavior with the new sbx policy check http command.
v0.51.0 · Nov 2026
· source
· release history
Use static MCP mode without attaching servers by passing --static-mcp none to sbx create or sbx run.
v0.51.0 · Nov 2026
· source
· release history
Mount additional workspaces at custom paths by passing PATH:TARGET[:ro] to sbx create and sbx run, or setting additionalWorkspaces[].target in environment files.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v0.51.0 · Nov 2026
· source
· release history
Suppress creation progress output with sbx run --no-progress while still receiving command results, or use sbx create --no-progress for creation.
v0.51.0 · Nov 2026
· source
· release history
Read a secret from standard input with sbx secret set-custom --value-stdin, keeping secret values out of command arguments.
v0.51.0 · Nov 2026
· source
· release history
docs
Sign in before running commands that require authentication. Read-only commands and commands run with do not open an interactive sign-in flow. Create workspace directories before calling or sbx run : without a terminal, these commands fail if a workspace directory does not exist.
docs update · Oct 2026
· source
. For script output and the v0.48.0 CLI migration, see sbx run --detach At selection and text prompts, Enter accepts the default. Ctrl-D cancels the prompt. Declining a required confirmation returns a non-zero exit status. them in detail.
docs update · Oct 2026
· source
Manuals Get started Guides Reference Cloud sandboxes Table of contents Note Cloud sandbox support in the sbx CLI is experimental. Features and behavior may change. Cloud sandboxes run AI agents on Docker-managed infrastructure instead of your local machine.
docs update · Sep 2026
· source
example
Bootstrap a BAND-connected agent sandbox from the published kit, scope credentials to their respective hosts, open the Claude API, and start the agent — all without exposing real keys inside the microVM.$ sbx secret set-custom \ --sandbox band-repo-doctor \ --host '**.band.ai' \ --env BAND_API_KEY \ --placeholder proxy-managed sbx secret set-custom \ --sandbox band-repo-doctor \ --host…
announced · Oct 2026
· source
+Declarative sandbox environment filesshippedDefine agent, workspace, kits, secrets, ports, and resource limits in a committable .sbxenv.yaml file for reproducible environments.23 releases · 7 other sources · first seen Aug 2026▸
release
23 total
Adds new sbx create/sbx run flags: mount additional workspaces at custom paths by passing PATH:TARGET[:ro] (or setting additionalWorkspaces[].target in environment files), suppress interactive prompts including Docker sign-in with --no-input (which also reports the command needed to continue), suppress…
v0.51.0 · Nov 2026
· source
· release history
Set entrypoint and cmd defaults for sbx env run in environment files, with sandboxOptions now also accepting rootSize, dockerSize, and clonedWorkspaceSize.
v0.51.0 · Nov 2026
· source
· release history
Adds --mount HOST:SANDBOX_PATH flag to sbx create and sbx run for selecting a host directory for a kit-declared host mount; environment files support the same bindings through mounts.
v0.50.0 · Oct 2026
· source
· release history
Adds --mount HOST:SANDBOX_PATH flag to sbx create and sbx run for selecting a host directory for a kit-declared host-mount@1 capability; environment files support the same bindings through mounts.
v0.50.0 · Oct 2026
· source
· release history
Adds ${{ env.projectDir }} and ${{ env.fileDir }} variable references in environment files, allowing ~/.sbxenv.yaml to mount each project's own directory via workspace: ${{ env.projectDir }}.
v0.43.0 · Sep 2026
· source
· release history
shareSkills in sbxenv.yaml is replaced by skills, which accepts off|readonly|readwrite; existing shareSkills entries must be migrated to the new key.
v0.43.0 · Sep 2026
· source
· release history
docs
Each source file must contain valid fields and values before merging. A later override can't repair an invalid value in an earlier file. This also applies loaded from
seen Oct 2026
· source
Protect the environment file Environment files can declare lifecycle and secret commands that run on your host. Keep them outside writable sandbox mounts so the agent cannot change what a later invocation runs.
docs update · Oct 2026
· source
Manuals Get started Guides Reference Sandbox environment files Table of contents A sandbox environment file captures the setup for a project in a .sbxenv.yaml file. Share the file with project contributors so they use the same agent, tools, resources, and credentials without reproducing CLI flags and setup steps.
docs update · Aug 2026
· source
example
Create a sandbox and bind a host directory to a kit-declared mount target so the agent can read/write a specific host path.$ sbx create --mount «home»/project:/workspace/project my-kit
v0.50.0 · Oct 2026
· source
Make a shared user-level environment automatically mount each project's own directory when launching a sandbox from any project folder.$ workspace: ${{ env.projectDir }}
v0.43.0 · Sep 2026
· source
Define a declarative sandbox with a registry mirror, resource limits, and a secret so the whole team shares one reproducible config.$ agent: image: my-agent:latest kits: - name: my-kit env: API_BASE: https://api.example.com secrets: - name: API_TOKEN resources: cpus: 4 memory: 8g
v0.39.0 · Aug 2026
· source
Commit a .sbxenv.yaml with your project so any contributor can reproduce the exact same sandbox environment with a single command.$ sbx env run
v0.39.0 · Aug 2026
· source
+Sandbox Kit OCI packagingshippedDefine agent environments as OCI images containing the agent, its tools, and declared access requirements, which can be built, pushed, pulled, scanned, and pinned by digest.19 releases · first seen Jun 2026▸
release
19 total
The docker/sandbox-templates:shell and :shell-docker images are no longer refreshed — use docker.io/sbx/shell-image and docker.io/sbx/shell-docker-image for custom workloads.
v0.51.0 · Nov 2026
· source
· release history
The docker/sandbox-templates:shell and :shell-docker images are no longer refreshed; use docker.io/sbx/shell-image and docker.io/sbx/shell-docker-image for custom workloads.
v0.51.0 · Nov 2026
· source
· release history
The docker/sandbox-templates images for codex, cursor-agent, devin, docker-agent, and opencode (including -docker variants) are no longer published.
v0.51.0 · Nov 2026
· source
· release history
Kit pulls now enforce limits on registry-declared blob sizes, decompressed content, and archive entry counts.
v0.47.0 · Oct 2026
· source
· release history
sbx kit sign and sbx kit push --sign now succeed on registries that refuse manifest deletion, including GitHub Container Registry and Docker Hub.
v0.47.0 · Oct 2026
· source
· release history
Introduces the Docker Sandbox Kit specification — an OCI image format containing the agent, its tools, and access declarations — enabling teams to build, push, pull, scan, and pin agent environments by digest.
announced · Oct 2026
· source
· release history
+Cloud sandbox lifecycle managementshippedRun agent tasks in isolated cloud microVMs on Docker-managed compute, with controls for automatic restart on timeout and second-by-second billing.11 releases · 7 other sources · first seen Sep 2026▸
Also counts toward: Command-line interface
release
11 total
Adds harbor[sbx] install target and SBX_DOCKER_USERNAME / SBX_DOCKER_PAT environment variables to authenticate and run Harbor eval tasks inside Docker Cloud Sandboxes.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
announced · Oct 2026
· source
· release history
Cloud volume create, volume ls, and volume inspect field names change from PascalCase (ID, Name, CreatedAt) to snake_case (id, name, created_at). volume inspect now defaults to a human-readable details view; use --format json for JSON.
v0.48.0 · Oct 2026
· source
· release history
Cloud volume create, volume ls, and volume inspect field names change from PascalCase (ID, Name, CreatedAt) to snake_case (id, name, created_at); volume inspect now defaults to a human-readable view — use --format json for JSON.
v0.48.0 · Oct 2026
· source
· release history
Adds stopped and ttl_paused fields to sbx --cloud ttl JSON output; stopped sandboxes are reported as stopped instead of expired, and the TTL restarts on resume.
v0.47.0 · Oct 2026
· source
· release history
Introduces Docker Cloud Sandboxes, which run each agent task in an isolated microVM with its own kernel and Docker daemon on Docker-managed cloud compute, billed by the second.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
announced · Oct 2026
· source
· release history
Adds --on-timeout restart to sbx --cloud create so a sandbox that hits its time limit stops and immediately restarts instead of remaining stopped.
v0.46.0 · Sep 2026
· source
· release history
docs
sbx --cloud run --detach claude --name cloud-task --detach--detach Save and reuse a template Save a running cloud sandbox as a template to reuse its configured filesystem. Before saving, remove credentials written to the sandbox filesystem: snapshots include those files.
docs update · Oct 2026
· source
A stopped sandbox has no running time-to-live, so sbx --cloud ttl reports that it is stopped instead of showing an expiration time. Its time-to-live starts again when the sandbox resumes. In --json output, stopped ttl_paused are true , and the expiry fields still hold the previous deadline.
docs update · Oct 2026
· source
These credential stores and authentication flows apply to local sandboxes. Cloud credentials require separate setup: see Authenticate cloud agents Providing a value and approving its use are separate steps. record which mechanisms and domains you authorize a kit to use. They don't store the credential value.
docs update · Sep 2026
· source
Manuals Get started Guides Reference Authenticate cloud agents Table of contents Cloud agents authenticate with credentials from the cloud secret store. Set up these credentials before launching an agent so authentication doesn't depend on files stored inside the sandbox.
docs update · Sep 2026
· source
example
Keep a long-running cloud sandbox alive by restarting it automatically when its time limit expires, rather than leaving it stopped.$ sbx --cloud create --on-timeout restart --kit my-agent-kit
v0.46.0 · Sep 2026
· source
Keep a long-running cloud sandbox alive indefinitely by auto-restarting it the moment it hits its time limit.$ sbx --cloud create --on-timeout restart --kit my-agent-kit
v0.46.0 · Sep 2026
· source
Keep a long-running cloud sandbox alive by restarting it automatically when it hits its time limit, instead of leaving it stopped.$ sbx --cloud create --on-timeout restart --kit my-kit
v0.46.0 · Sep 2026
· source
+Host diagnostics and compatibility checksshippedChecks host virtualization support, reports sandbox data volume disk space, and validates SSH client configuration.13 releases · first seen Aug 2026▸
Also counts toward: Command-line interface
release
13 total
sbx diagnose and daemon logs on macOS and Windows warn when SSL_CERT_FILE or SSL_CERT_DIR replaces the system trust store and can cause HTTPS certificate verification failures.
v0.50.0 · Oct 2026
· source
· release history
On macOS and Windows, sbx diagnose and daemon logs warn when SSL_CERT_FILE or SSL_CERT_DIR replaces the system trust store.
v0.50.0 · Oct 2026
· source
· release history
Without a terminal, sbx diagnose --upload saves the diagnostic bundle but skips uploading and exits with status 0 — a zero exit no longer guarantees an upload occurred.
v0.48.0 · Oct 2026
· source
· release history
--output / -o on sbx diagnose is rejected; replace with --format table, --format json, --format yaml, or --format github-issue.
v0.48.0 · Oct 2026
· source
· release history
Without a terminal, sbx diagnose --upload saves the diagnostic bundle but skips uploading it and exits with status 0 — a successful exit no longer guarantees an upload occurred.
v0.48.0 · Oct 2026
· source
· release history
--output / -o on sbx diagnose is rejected; use --format table, --format json, --format yaml, or --format github-issue.
v0.48.0 · Oct 2026
· source
· release history
+Environment plan-and-confirm workflowshippedPreview all host changes (lifecycle, credentials, bindings, etc.) before applying an environment file via a prompt.12 releases · 1 other source · first seen Sep 2026▸
Also counts toward: Command-line interface
release
12 total
Unsupported --format values now fail at flag-parse time instead of falling back to human-readable output.
v0.48.0 · Oct 2026
· source
· release history
Confirmation prompts require terminal input; piping an answer (e.g. echo y | sbx secret set ...) no longer confirms the operation — use --force / -f instead.
v0.48.0 · Oct 2026
· source
· release history
--format, --json, and -q are mutually exclusive; even --json --format json is rejected.
v0.48.0 · Oct 2026
· source
· release history
Ctrl-D at a selection or free-text prompt now cancels instead of accepting the default.
v0.48.0 · Oct 2026
· source
· release history
Declining a confirmation now returns a non-zero exit status consistently for removal, reset, and prune operations.
v0.48.0 · Oct 2026
· source
· release history
Unsupported --format values now fail during flag parsing instead of falling back to human-readable output.
v0.48.0 · Oct 2026
· source
· release history
docs
sbxenv.yaml is experimental. The command interface and file format may change. âââ sbxenv.yaml web-app-env/sbxenv.yaml shows an environment plan and asks you to approve it.
docs update · Sep 2026
· source
+Local-to-cloud sandbox migrationshippedMove a running sandbox's filesystem from a local machine to Docker-managed cloud compute mid-task so long agent runs can continue after closing a laptop.6 releases · 3 other sources · first seen Sep 2026▸
Also counts toward: Command-line interface
release
Adds --ttl and --on-timeout restart flags to sbx move --to cloud and sbx --cloud env create, extending always-on support beyond sbx --cloud create.
v0.48.0 · Oct 2026
· source
· release history
Adds --ttl and --on-timeout restart support to sbx move --to cloud and sbx --cloud env create, extending always-on timeout control beyond sbx --cloud create.
v0.48.0 · Oct 2026
· source
· release history
Creating or moving a sandbox to the cloud now applies cloud policy and the kit's network rules without copying locally added network rules; moving a sandbox with local HTTP method or path restrictions warns that those restrictions will not apply in the cloud.
v0.47.0 · Oct 2026
· source
· release history
Supports moving a sandbox's filesystem from a local machine to the cloud mid-task, allowing longer agent runs to continue after closing a laptop.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
announced · Oct 2026
· source
· release history
Supports the sbx command-line tool for starting, moving, and retrieving sandboxes between local and cloud environments, so longer agent tasks can continue after closing a laptop.
announced · Oct 2026
· source
· release history
Adds sbx move <project> --to cloud to migrate a running local sandbox — filesystem and all — to cloud compute without losing work (also works in reverse).
announced · Sep 2026
· source
· release history
docs
To restart the destination automatically when it expires, use restart : sbx move local-project --to cloud --ttl 4h --on-timeout restart restart action stops and immediately starts the destination. If you specify , it must be at least one hour.
docs update · Oct 2026
· source
Moving a local sandbox to the cloud works the same way, except that rules you added locally don't transfer.
seen Oct 2026
· source
Manuals Get started Guides Reference Move a sandbox Table of contents The sbx move command transfers a filesystem snapshot between a local sandbox and a cloud sandbox. Use it to continue from the captured filesystem in the other environment, not as a live migration of the running sandbox.
docs update · Sep 2026
· source
+V3 workload mixin supportshippedSupports V3 workloads and mixins for defining sandbox capabilities, requiring them to be used together.4 releases · 3 other sources · first seen Sep 2026▸
release
V1 and v2 kits cannot be combined with v3 kits — older mixins must be upgraded to v3 before combining with the new built-in kits.
v0.51.0 · Nov 2026
· source
· release history
V1 and v2 kits cannot be combined with v3 kits — upgrade older mixins to v3 before combining them with the new built-in kits.
v0.51.0 · Nov 2026
· source
· release history
Introduces v3 kits: OCI-based packages with separate workload and mixin roles that combine base environments, tools, configuration, credentials, network access, and agent instructions.
v0.45.0 · Sep 2026
· source
· release history
V3 workloads and mixins must be used together; they cannot be combined with v1 or v2 kits.
v0.45.0 · Sep 2026
· source
· release history
example
Run a sandboxed agent with the GitHub CLI mixin to give it scoped GitHub access defined by the Kit's network-policy and credential declarations.$ cd examples sbx run ./hello --kit ./gh
announced · Sep 2026
· source
Author a mixin Kit that allows most GitHub API methods but explicitly denies DELETE on /repos/**, keeping a token that can open PRs from deleting repositories.$ capabilities: - type: com.docker.sandbox/network-policy@2 config: runtime: allow: - github.com - hosts: [api.github.com] methods: [GET, HEAD, POST, PATCH, PUT, DELETE] deny: - hosts: [api.github.com]…
announced · Sep 2026
· source
Declare a mixin that limits a GitHub agent to read/write API access but explicitly blocks repository deletion, making the authority reviewable as a diff.$ capabilities: - type: com.docker.sandbox/network-policy@2 config: runtime: allow: - github.com - hosts: [api.github.com] methods: [GET, HEAD, POST, PATCH, PUT, DELETE] deny: - hosts: [api.github.com]…
announced · Sep 2026
· source
+Centralized sandbox policy managementshippedCentrally enforces sandbox network, filesystem, and MCP policies uniformly across developer machines via a paid subscription.5 releases · 2 other sources · first seen Aug 2026▸
Also counts toward: Command-line interface
release
Gordon clears Approve all and Always allow grants when a conversation resumes, requiring fresh approval before running tools again.
v0.50.0 · Oct 2026
· source
· release history
sbx policy log output changes to {updated_at, allowed: [...], blocked: [...]} with new entry fields, replacing the previous allowed_hosts / blocked_hosts local format and the cloud camelCase document.
v0.48.0 · Oct 2026
· source
· release history
sbx --cloud policy ls field names change from camelCase to snake_case.
v0.48.0 · Oct 2026
· source
· release history
sbx policy log output changes: local allowed_hosts / blocked_hosts and cloud camelCase fields are replaced by {updated_at, allowed: [...], blocked: [...]} with entries containing sandbox_id, host, proxy_type, rule, reason, count, first_seen, and last_seen.
v0.48.0 · Oct 2026
· source
· release history
--quiet / -q on sbx policy log is removed with no replacement.
v0.48.0 · Oct 2026
· source
· release history
docs
Manuals Get started Guides Reference Organization policies Table of contents Local policies give individual developers control over what their sandboxes can access.
docs update · Aug 2026
· source
centrally manage sandbox network, filesystem, and MCP policies so the same controls apply uniformly across every developer's machine. Available on a separate paid subscription.
docs update · Aug 2026
· source
+Telemetry opt-outshippedPersistently disable CLI and daemon telemetry reporting, including on CI machines, via a settings flag and daemon restart.2 releases · 2 other sources · first seen Nov 2026▸
Also counts toward: Command-line interface
release
Disable local CLI and daemon telemetry persistently with sbx settings set telemetry.disabled true.
v0.51.0 · Nov 2026
· source
· release history
Disable local CLI and daemon telemetry persistently with sbx settings set telemetry.disabled true; run sbx daemon restart to apply to a running daemon.
v0.51.0 · Nov 2026
· source
· release history
example
Disable telemetry for both the CLI and the running daemon so no usage data leaves the machine.$ sbx settings set telemetry.disabled true && sbx daemon restart
v0.51.0 · Nov 2026
· source
Disable telemetry collection on a CI machine so neither the CLI nor the daemon reports usage.$ sbx settings set telemetry.disabled true && sbx daemon restart
v0.51.0 · Nov 2026
· source
+Automatic sandbox cleanup on session endshippedRemove a local or cloud sandbox automatically when its agent session ends, via a flag that prevents leftover sandboxes in CI and scripted workflows.2 releases · 2 other sources · first seen Apr 2026▸
Also counts toward: CI/CD pipeline integration, Command-line interface
release
Adds sbx run --rm to automatically remove a local or cloud sandbox after its agent session ends (cannot be combined with --detached; cloud sandboxes interrupted by a dropped connection are kept and the CLI prints the removal command).︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v0.47.0 · Oct 2026
· source
· release history
Enables automatic session termination when all agents and exec sessions disconnect, using reference counting (detached sandboxes are unaffected).
v0.23.0 · Apr 2026
· source
· release history
docs
Remove a sandbox when the agent exits --rm for a throwaway session. The sandbox is removed when the agent exits, without a confirmation prompt: sbx run --rm claude The sandbox is removed however the agent exits, and exits with the agent's exit status.
docs update · Oct 2026
· source
example
Run an agent session in a cloud sandbox and have it automatically cleaned up when the session ends — useful in CI pipelines where you want no leftover sandboxes.$ sbx run --rm --cloud my-agent-sandbox
v0.47.0 · Oct 2026
· source
+USB device passthroughshippedRe-attach specified USB devices to a sandbox via the usbfs interface on supported Linux platforms.3 releases · first seen Aug 2026▸
Also counts toward: Command-line interface
release
New experimental --usb flag on sbx create (enabled via DOCKER_SANDBOXES_FEATURE_SANDBOX_USB environment variable) re-attaches specified USB devices into the sandbox via usbfs on Linux x86_64/ARM64.
v0.39.0 · Aug 2026
· source
· release history
Adds experimental --usb flag to sbx create (enabled via DOCKER_SANDBOXES_FEATURE_SANDBOX_USB environment variable) to re-attach specified USB devices inside a sandbox via usbfs; Linux x86_64/ARM64 only.
v0.39.0 · Aug 2026
· source
· release history
New experimental --usb flag on sbx create (gated by DOCKER_SANDBOXES_FEATURE_SANDBOX_USB environment variable) re-attaches specified USB devices, making them available inside the sandbox via usbfs — Linux x86_64/ARM64 only.
v0.39.0 · Aug 2026
· source
· release history
+Long-running sandbox persistenceshippedKeep a local sandbox alive after all agent sessions disconnect by declaring the long-running capability in a kit, allowing subsequent sessions to reconnect without a cold start.1 release · 1 other source · first seen Oct 2026▸
release
Adds com.docker.sandbox/long-running@1 kit capability declaration to keep local sandboxes running after all sessions disconnect (cloud sandboxes and sbx kit add cannot provide this capability: required entries are rejected, optional entries are skipped).
v0.47.0 · Oct 2026
· source
· release history
example
Declare the long-running capability in a kit so local sandboxes it provisions stay alive after agents disconnect, letting the next session reconnect without a cold start.$ capabilities: - com.docker.sandbox/long-running@1
v0.47.0 · Oct 2026
· source
+Declarative API key validationshippedValidates kit configurations for malformed API-key declarations, invalid names, missing injection domains, and unsafe format placeholders.2 releases · first seen Sep 2026▸
release
Adds sbx kit validate rejection of malformed API-key declarations, including invalid names, missing injection domains, invalid format placeholders, and Basic-auth usernames containing a colon, with warnings for no-effect or out-of-allowlist declarations.
v0.45.0 · Sep 2026
· source
· release history
Adds sbx kit validate rejection of malformed API-key declarations, including invalid names, missing injection domains, invalid format placeholders, and Basic-auth usernames containing a colon, plus warnings for no-op or out-of-allowlist declarations.
v0.45.0 · Sep 2026
· source
· release history
+Multi-agent BAND room compositionshippedCompose collaborative sessions where sandboxed local agents and hosted agents communicate via @mentions, shared message history, and tool-execution events visible to human participants.1 release · first seen Oct 2026▸
release
Enables multi-agent BAND room composition where sandboxed local agents and hosted agents collaborate via @mentions, shared message history, and tool-execution events visible to human participants.
announced · Oct 2026
· source
· release history
+Terminal emulator supportshippedSpawns interactive Linux terminals in the TUI across multiple popular terminal emulators such as kitty, wezterm, alacritty, ghostty, gnome-terminal, konsole, xfce4-terminal, and xterm.1 release · first seen Apr 2026▸
release
Supports Linux terminal spawning in the TUI across kitty, wezterm, alacritty, ghostty, gnome-terminal, konsole, xfce4-terminal, and xterm.
v0.27.0 · Apr 2026
· source
· release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Screenshots
From the release notes, newest first. Click one to see it full size.
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Five scores for Docker Sandboxes, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail Docker Sandboxes puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
63 readings of Docker's pricing page since Sep 2021, with 7 relaunches of its plan lineup and 33 changes to what its plans include — each one dated, compared with the reading before it, and explained for someone buying the tool.
Pricing and packaging history is included with Researcher and Business. See how every vendor we track sells, and how that has changed over time, using data we don't publish anywhere else.
Each offering on the pricing page links to its own page of plans, read at its latest capture.
Plan relaunches
Plans, prices and descriptions are quoted from the vendor's own pricing page as we read it on each date.
A plan missing from a later reading is shown as no longer listed on the page — a statement about the page, not the product.
Readings that failed to show any plans are left out rather than read as a change.
Website history
docker.com, every change
Docker's home and pricing pages and 26 more pages as they looked each month from August 2021 to October 2026: 77 renders, 13 changes of tagline or palette. Step through them, play them, or put any two months side by side.
Website history is included with Researcher and Business.
What Docker Sandboxes connects to, runs on and detects, read from its release notes and docs. So far: 1 new integration.
Show
1 change, tracked since Oct 21, 2026.
Oct 212026
newBAND AI kit for Docker Sandboxes
With docker.io/bandhq/band-python-kit:latest, docker.io/bandhq/band-python-kit:6.0.0
The official BAND AI kit for Docker Sandboxes is now available at docker.io/bandhq/band-python-kit:latest . Docker Sandbox kits package everything an agent needs to run in a Docker Sandbox, so a single sbx create command gives you a ready-to-use agent environment.
Nothing first seen in this window. That doesn't mean Docker Sandboxes shipped nothing, only that we found no record of it.
Changes per month New Updated Retired
2026-10
1
How we count
Read from 11 of 122 release notes and docs updates we hold for Docker Sandboxes. "First seen" is the earliest note that names something; "last" is the latest. Our history may start partway through Docker Sandboxes's life, so an old integration can show a recent first-seen date.
Each change counts once: "added 40 checks" is one line, so the numbers measure how often coverage moves, not how big the catalogue is or how well it detects.
Releases
Show
Coverage in all entries
122 entries
No entries match these filters.
November 20261
October 202611
September 202639
August 202627
July 202623
June 20269
May 20263
April 20268
March 20261
Project health
Issue activity in docker/sbx-releases, the product's public issue tracker, 2023-10 – 2026-09,
as of 2026-09-25. The product's source is not public, so there are no
contributor, maintainer or bus-factor figures: that repository's commits are not
where the product is built.
Community-filed100%of issues opened, last 12 months
Median time to close5 daysfirst maintainer reply 46 hours
Open backlog322of 563 issues ever filed
Issues opened / month45 · 0communitymaintainers
Open backlog322
Stars381
Issue themes, last 12 months
questions 2%
docs 1%
other 97%
Counts from the product's public issue tracker; no individuals are identified.
how we measure this
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.