R.3

Settings keys, environment variables, and paths

Every key that sbx settings list printed on 2026-10-08, every environment variable both tools read, and every path they use on macOS, each with its source.

sbx settings list printed 31 keys on the capture machine, every one with SOURCE default (our source record). A value comes, in order, from the environment variable of the key, then a user override written with sbx settings set, then the built-in default. RESTART yes means that daemon-side consumers that already exist need sbx daemon restart, while new sandboxes and supported CLI clients use the new value at once. The CLI table cuts long descriptions. The Meaning column completes them from the docs settings page where the page has an entry. Where the page has none, the column says so and gives the full text of sbx settings list --json (the capture).

The settings keys

KeyTypeDefaultRestartMeaning
claude.remoteControlboolfalsenoLet the /remote-control channel of Claude Code authenticate with its own session token instead of the proxy swapping in the host credential (docs)
clipboard.imagePasteboolfalsenoLet sandboxed agents read host clipboard images, so a screenshot pastes with Ctrl+V (docs)
diagnostics.autoUploadstringemptynoConsent for automatic diagnostics uploads after daemon errors: yes, no, or empty for no decision yet (docs)
env.rememberHostCommandsboolfalsenoAsk about the host commands of an environment file only when they change, after a first approval (docs)
kit.allowExtractedAgentsbooltruenoAdmit the pinned kit references of agents that moved out of sbx into kits, even outside kit.allowedSources, and exempt them from kit.requireSignature (docs)
kit.allowLocalKitsbooltruenoAllow kits from local directories and ZIP files (docs)
kit.allowedSourcesjson["docker.io/"]noJSON array of allowed remote kit source prefixes, matched on a path segment boundary. ["*"] allows any source (docs)
kit.ignoreTransparencyLogboolfalsenoVerify keyless kit signatures without a Rekor entry, for kits signed with --tlog-upload=false (docs)
kit.requireSignatureboolfalsenoReject unsigned kits and kits signed by an untrusted signer. ZIP kits cannot carry a signature and are rejected (docs)
kit.trustedSignersjsonidentities ending in @docker.com through the Google issuernoJSON array of signer policies: a keyless identity with its issuer, or a public key file (docs)
mcp.forceLocalGatewayboolfalseyesUse the local MCP gateway when the account would otherwise use the hosted one (docs)
model.providersjson{}noJSON object of inference endpoints for sbx run --model, each with url, wire, and apiKeyEnv (docs)
no_proxystringemptyyesShared proxy exception list for sandbox, daemon, and supported CLI traffic (docs)
no_proxy.daemonstringemptyyesException list for daemon and CLI requests only. A non-empty value replaces the shared list for that scope (docs)
no_proxy.sandboxstringemptyyesException list for sandbox egress only. A non-empty value replaces the shared list for sandboxes (docs)
platform.allowExperimentalFeaturesbooltruenoAllow experimental features. The CLI text is complete. The docs say the default is false (conflict C18)
platform.images.registryMirrorstringemptynoMirror host for template and kit references that resolve to Docker Hub, without a URL scheme (docs)
platform.images.useDHIboolfalsenoUse the Docker Hardened Image variant dhi/sbx-templates:<tag> for the default agent templates (docs)
proxystringemptyyesUpstream proxy for sandbox, daemon, and CLI traffic: an HTTP, HTTPS, or SOCKS5 URL, a PAC source, system, or direct (docs)
proxy.daemonstringemptyyesUpstream proxy for daemon requests and supported CLI requests only (docs)
proxy.integratedAuthboolfalseyesNTLM or Kerberos authentication with the Windows sign-in identity. No effect on macOS or Linux (docs)
proxy.sandboxstringemptyyesUpstream proxy for sandbox egress only. It overrides proxy for that scope (docs)
sandbox.disk.dockerVolumestring10gnoSize of the /var/lib/docker volume of a new sandbox, at least 512 MiB. Existing volumes keep their size (docs)
skills.defaultModestringreadonlynoMode of the shared skills store when --skills is omitted: readonly, readwrite, or off (docs)
ssh.agentForwardingEnabledbooltrueyesLet clients forward an SSH agent into sandboxes. Private keys stay on the host (docs)
ssh.agentSocketPathstringemptyyesFixed host SSH agent socket path. Empty uses the socket each client supplies (docs)
ssh.autoCreateboolfalseyesCreate a sandbox on SSH connect when it does not exist. The docs have no entry (conflict C20)
ssh.defaultAgentstringshellyesBuilt-in agent used for SSH auto-created sandboxes. The docs have no entry
ssh.defaultTemplatestringemptyyesTemplate image override for SSH auto-created sandboxes (agent default if empty). The docs have no entry
ssh.workspaceRootstringemptyyesHost directory holding SSH auto-created sandbox workspaces (empty = mount-less, container-internal). The docs have no entry
tls.allowNegativeSerialboolfalseyesAccept server certificates with a negative serial number, as some TLS-inspecting proxies issue (docs)

Value types are bool, int, float, string, and json, and an override that conflicts with an administrator constraint is rejected. Most changes apply within about five seconds.

Keys the docs name that the CLI did not print

The docs settings page, three guides, and one release note name keys that sbx settings list did not return (conflict C19). The manual prints them here and nowhere else.

KeyWhere the docs use itWhat the docs say
feature.modelthe local model guidesbx settings set feature.model true after platform.allowExperimentalFeatures true turns on sbx run --model
feature.sandbox-gputhe GPU guidethe same pair of commands reveals the hidden --gpu flag
feature.udp-egressthe network policy pagethe same pair of commands allows sbx policy allow network --protocol udp
diagnostics.autoUploadErrorCooldownInDaysthe settings pageinteger, default 1, the number of days between automatic uploads, applied only when diagnostics.autoUpload is yes
feature.sshthe v0.34.0 release notesbx settings set feature.ssh true enables the experimental native SSH endpoint

Environment variables that sbx reads

These variables configure the host side. They never set a variable inside a sandbox, and the daemon reads them only when it starts.

VariableSets
DOCKER_SANDBOXES_CLIPBOARD_IMAGE_PASTEclipboard.imagePaste
DOCKER_SANDBOXES_CLAUDE_REMOTE_CONTROLclaude.remoteControl
DOCKER_SANDBOXES_USE_DHIplatform.images.useDHI
DOCKER_SANDBOXES_KIT_ALLOWED_SOURCESkit.allowedSources
DOCKER_SANDBOXES_KIT_ALLOW_LOCALkit.allowLocalKits
DOCKER_SANDBOXES_KIT_ALLOW_EXTRACTED_AGENTSkit.allowExtractedAgents
DOCKER_SANDBOXES_KIT_REQUIRE_SIGNATUREkit.requireSignature
DOCKER_SANDBOXES_KIT_TRUSTED_SIGNERSkit.trustedSigners
DOCKER_SANDBOXES_KIT_IGNORE_TLOGkit.ignoreTransparencyLog
DOCKER_SANDBOXES_PROXYproxy.sandbox, sandbox traffic only
DOCKER_SANDBOXES_NO_PROXYno_proxy.sandbox, sandbox traffic only
DOCKER_SANDBOXES_SSH_AUTO_CREATEssh.autoCreate
DOCKER_SANDBOXES_SSH_DEFAULT_AGENTssh.defaultAgent
DOCKER_SANDBOXES_SSH_DEFAULT_TEMPLATEssh.defaultTemplate
DOCKER_SANDBOXES_SSH_WORKSPACE_ROOTssh.workspaceRoot
DOCKER_SANDBOXES_MODEL_PROVIDERSmodel.providers
DOCKER_SANDBOXES_ALLOW_EXPERIMENTAL_FEATURESplatform.allowExperimentalFeatures
DOCKER_SANDBOXES_TLS_ALLOW_NEGATIVE_SERIALtls.allowNegativeSerial
HTTP_PROXY, HTTPS_PROXY, NO_PROXY, and their lowercase formsthe upstream proxy when no proxy or no_proxy setting is set
DOCKER_SANDBOXES_DOCKER_SIZEthe Docker data disk size of one creation, such as 30g
DOCKER_SANDBOXES_ROOT_SIZEthe root filesystem size of one creation, such as 40g
DOCKER_SANDBOXES_CLONED_WORKSPACE_SIZEthe size of the private clone of a --clone sandbox
DOCKER_SANDBOXES_ENABLE_VIRTIOFS_CACHE0 turns off the virtiofs cache of the workspace mount
SBX_NO_TELEMETRY1 turns off CLI usage analytics
DOCKER_ACCESS_TOKENthe Docker identity of sbx env commands, with a state scope per token
SBX_MCP_URLnone selects the local MCP data plane instead of the hosted gateway
SANDBOXES_STORAGE_ROOTnot documented in the vendored sources. The research notes name it from the v0.29.0 release note, whose body the vendored release list does not keep

Host lifecycle commands of an environment file receive SBX_LIFECYCLE_PHASE, SBX_ENV_FILE, SBX_ENV_FILES, SBX_ENV_DIR, SBX_SANDBOX_NAME, SBX_AGENT, and SBX_WORKSPACE. After a cloud creation they also receive SBX_SANDBOX_ID.

Environment variables that docker-agent reads

The rename of v1.30.0 changed the prefix from CAGENT_ to DOCKER_AGENT_, and the old names stay accepted (conflict C53).

VariableLegacy nameMeaning
DOCKER_AGENT_DATA_DIRnoneThe data directory, the same as --data-dir. Added in v1.147.0.
DOCKER_AGENT_CONFIG_DIRCAGENT_CONFIG_DIRThe config directory, the same as --config-dir. Added in v1.100.0.
DOCKER_AGENT_MODELS_GATEWAYCAGENT_MODELS_GATEWAYRoute model traffic through a gateway, the same as --models-gateway
DOCKER_AGENT_DEFAULT_MODELCAGENT_DEFAULT_MODELThe model used when none is given, as provider/model
DOCKER_AGENT_HIDE_TELEMETRY_BANNERCAGENT_HIDE_TELEMETRY_BANNER1 hides the first-run telemetry notice only
TELEMETRY_ENABLEDnone, no prefixfalse turns telemetry off (conflict C67)
DOCKER_AGENT_AUTO_UPDATEnone1, true, yes, or on lets a standalone release binary update itself. Added in v1.74.0.
DOCKER_AGENT_NO_TOKEN_EXCHANGEnone1 stops the exchange of the docker login access token for a Docker token
DOCKER_AGENT_HUB_LOGIN_URLnonePoint the token exchange at a Docker staging environment, HTTPS docker.com URLs only
DOCKER_AGENT_AUTO_INSTALLnonefalse turns off automatic tool installation from the aqua registry
DOCKER_AGENT_TOOLS_DIRnoneThe directory of installed tools, default ~/.cagent/tools/
DOCKER_AGENT_NO_SETUPnone1 stops the setup wizard from being offered when no model is usable
DOCKER_AGENT_BOARD_EDITORBOARD_EDITOR, kept for one releaseThe editor the board opens a worktree in, default code
DOCKER_AGENT_PPROF_ADDRCAGENT_PPROF_ADDRA loopback address for a Go pprof server. The docs still print the legacy name
DOCKER_AGENT_ENCRYPT_KEYnoneThe key of share push --key and share pull --key
GITHUB_TOKENnoneRaises the GitHub API rate limit of the auto-installer
CAGENT_ASKPASS_SOCKET, CAGENT_ASKPASS_TOKENnone, still prefixed CAGENT_The sudo bridge of the shell toolset, set only on commands that call sudo
CAGENT_EXP_DEBUG_LAYOUT, CAGENT_HIDE_TELEMETRYrenamed in v1.30.0The new names are not documented in the vendored sources

Provider credential variables such as ANTHROPIC_API_KEY are listed in R.6.

Paths on macOS

The capture machine runs macOS, so the table gives macOS paths first and the Linux and Windows forms where the docs state them. Replace rohitghumare with your user name.

PathHoldsTool
~/Library/Application Support/com.docker.sandboxes/the sbx state directory, removed as a last resort after sbx resetsbx
.../com.docker.sandboxes/sandboxes/sandboxd/sandboxd.sockthe Unix socket of sandboxdsbx
.../com.docker.sandboxes/sandboxes/sandboxd/daemon.logthe daemon logsbx
.../com.docker.sandboxes/sandboxes/agent-skillsthe shared skills store. Linux ~/.local/state/sandboxes/sandboxes/agent-skills, Windows %LOCALAPPDATA%\DockerSandboxes\sandboxes\state\agent-skillssbx
~/Library/Logs/com.docker.sandboxes/sandboxes/auditkit/audit records written by the daemon. Linux ${XDG_STATE_HOME:-~/.local/state}/sandboxes/sandboxes/auditkit/, Windows %LOCALAPPDATA%\DockerSandboxes\sandboxes\logs\auditkit\sbx
~/.config/sbx/credentials.yamlthe credential bindings file. Windows %APPDATA%\sbx\credentials.yamlsbx
the macOS Keychainthe secret store behind sbx secret set. Windows uses the Credential Manager, Linux the Secret Service, or the file ~/.config/com.docker.sandboxes without onesbx
~/.sbx/run/d/containerd/containerd.sock.ttrpcthe containerd ttrpc socket the daemon binds at start, named in the error the capture recordedsbx
~/.sbxenv.yamla base environment file merged under every project filesbx
/opt/homebrew/Caskroom/sbx/0.47.0/Sbx.app/Contents/MacOS/sbxthe CLI binary of the Homebrew cask, with mkfs.erofs under Contents/libexecsbx
~/.local/state/sandboxes/, ~/.cache/sandboxes/, ~/.config/sandboxes/the three Linux state directories, under XDG_* when set. Windows uses %LOCALAPPDATA%\DockerSandboxessbx
~/.config/cagent/config.yamluser settings, aliases, global permissions and hooks, board projectsdocker-agent
~/.config/cagent/.envthe env file that docker agent setup writes provider keys intodocker-agent
~/.config/cagent/hooks.d/hook drop-in files, loaded in lexicographic orderdocker-agent
~/.cagent/the data directory, which holds session.db, worktrees, and plansdocker-agent
~/.cagent/session.dbevery session, as SQLitedocker-agent
~/.cagent/cagent.debug.logthe debug log, with --debugdocker-agent
~/.cagent/tools/bin/binaries the aqua auto-installer downloadsdocker-agent
~/.cagent/plans/, ~/.cagent/session_plans/shared plans and per-session plansdocker-agent
~/.cagent/memory/<config-name>/memory.dbthe default database of the memory toolsetdocker-agent
~/.cagent/themes/<name>.yamlcustom TUI themesdocker-agent
<data-dir>/runs/<pid>.jsonthe discovery record of a run started with --listendocker-agent
~/Library/Caches/cagent/the cache directory on macOSdocker-agent
~/Library/Caches/cagent/sandbox-kits/<hash>the kit that run --sandbox stages, keyed by the agent referencedocker-agent
a private file under the cache directorythe cached Docker bearer token. Its name is not documenteddocker-agent
~/.codex/skills/, ~/.claude/skills/, ~/.agents/skills/, and the project .claude/skills/, .github/skills/, .agents/skills/the SKILL.md directories docker-agent discoversdocker-agent

The directories of docker-agent keep the name cagent after the rename (conflict C54). Nothing migrates state from the plugin-era directories ~/.docker/sandboxes/ and ~/.sandboxd/ to the sbx state directory (conflict C17).

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