Chapters

Chapter 15

Settings reference

Every setting Dozable has is in one file, ~/.config/dozer-sandbox/doz.toml (under $XDG_CONFIG_HOME when that is set).

On this page
  1. Where a value comes from
  2. Read and change settings
    1. Per sandbox
  3. About the file
  4. Not settable, on purpose
  5. Every setting
    1. [ui]
    2. [serve]
    3. [host]
    4. [store]
    5. [claude]
    6. [codex]
    7. [antigravity]
    8. [gemini]
    9. [grok]
    10. [gptme]
    11. [copilot]
    12. [qwen-code]
    13. [mistral-vibe]
    14. [droid]
    15. [dirac]
    16. [kimi-code]
    17. [openhands]
    18. [docker-agent]
    19. [nanocoder]
    20. [mini-swe-agent]
    21. [open-interpreter]
    22. [crush]
    23. [mimo-code]
    24. [codewhale]
    25. [maki]
    26. [defaults]
    27. [agent]
    28. [updates]
    29. [telemetry]
    30. [resources]
    31. [sandbox]
    32. [sessions]
    33. [bridges]
    34. [workspace]
    35. [github]
    36. [images]
    37. [images.lab]
    38. [images.claude-code]
    39. [images.pi]
    40. [images.codex]
    41. [images.antigravity]
    42. [images.gemini]
    43. [images.grok]
    44. [images.fabric]
    45. [images.openclaw]
    46. [images.nanobot]
    47. [images.gptme]
    48. [images.llm]
    49. [images.shell-gpt]
    50. [images.zeroclaw]
    51. [images.aichat]
    52. [images.tgpt]
    53. [images.opencode]
    54. [images.smolagents]
    55. [images.adk]
    56. [images.promptfoo]
    57. [images.clai]
    58. [images.copilot]
    59. [images.qwen-code]
    60. [images.goose]
    61. [images.kilo]
    62. [images.mistral-vibe]
    63. [images.droid]
    64. [images.dirac]
    65. [images.kimi-code]
    66. [images.cline]
    67. [images.openhands]
    68. [images.letta-code]
    69. [images.docker-agent]
    70. [images.nanocoder]
    71. [images.mini-swe-agent]
    72. [images.open-interpreter]
    73. [images.crush]
    74. [images.mimo-code]
    75. [images.codewhale]
    76. [images.maki]
    77. [images.omp]
    78. [images.tau]
    79. [images.stitch]
    80. [images.opencode2]
    81. [kernel]
  6. Environment variables

Every setting Dozable has is in one file, ~/.config/dozer-sandbox/doz.toml (under $XDG_CONFIG_HOME when that is set). The file lists every setting with a description and its default, commented out; only the values you set are uncommented. An agent or tool's own settings (images.ID_version, ID.permissions, [images.ID]) are written there only once one of them is set — then its whole block, defaults commented as usual — so the file stays small however many agents Dozable offers; doz config show --agent ID lists them. The dashboard's Settings page shows and edits the same file.

Where a value comes from#

For each setting, the first of these that says something wins:

  1. a command-line flag (for the few settings that have one — --store, --progress, doz create --cpus, …);
  2. its environment variable (DOZ_STORE, DOZ_PROGRESS, DOZ_HOST_IDLE, DOZ_SCREEN_CAPTURE, DOZ_BOOT_LOGS, DOZ_SUBNET, DOZ_KERNEL, DOZ_KERNEL_CACHE);
  3. the file;
  4. the default.

doz config show names the source of every value. A few settings can also be one sandbox's own (below); a sandbox's own value wins over the file's.

Read and change settings#

sh
doz config                                  # every setting: value, source, default
doz config get ui.theme                     # one value (--json adds its source and default)
doz config set ui.theme dark                # write it to the file (checked against its type first)
doz config unset ui.theme                   # back to the default (commented out again)
doz config init                             # write the file with every setting commented out
doz config show --agent grok                # one agent or tool's own settings
doz config path                             # where the file is

In the dashboard: Settings lists every setting with its value, default, description and source, and changes it in place (Default puts one back). A value set by an environment variable, and the settings that name a folder on your Mac, are shown read-only there — change them with doz config set.

Per sandbox#

sandbox.clipboard, sandbox.browser_bridge, sandbox.open_files, sandbox.ssh_agent, sessions.tmux and sandbox.agent_sudo can also be set for one sandbox:

sh
doz config show --sandbox my-app                          # its values, and whose value each is
doz config set --sandbox my-app sandbox.clipboard off
doz config get --sandbox my-app sessions.tmux
doz config unset --sandbox my-app sandbox.clipboard       # follow the setting again

Or when you create it (doz create --clipboard off --browser-bridge off --open-files off --ssh-agent on --tmux --no-agent-sudo), or in its doz_project.yaml (clipboard:, browser_bridge:, open_files:, ssh_agent:, tmux:, agent_sudo:).

"Use GitHub as you" is a permission, not a setting: doz net allow NAME github:as-you (and github:push), doz create --github read|push, github: in doz_project.yaml — see GitHub as you.

About the file#

  • The file is Dozable's. set, unset, init and the Settings page rewrite it whole, atomically, readable only by you. Comments you add aren't kept.
  • A mistake never breaks Dozable. An unknown key or a value of the wrong type is a warning (that line is ignored, the default applies). A file that doesn't parse at all is ignored — with the line that's wrong — and never overwritten until you fix it.
  • When a change applies is part of each setting: at once, for the next command, the next sandbox created, the next session, the next start or wake, or after doz host stop.

Not settable, on purpose#

The dashboard's security limits and checks (session and link lifetimes, request and connection caps, the Host/Origin/CSRF checks, the content policy); a browser terminal's one-use tickets and paste limits; the guest programs; and any credential. ui.terminals can only take something away.

Every setting#

This table is generated from doz config show and checked against it on every build.

[ui]#

keydefaultvaluesappliesoverridden bywhat it does
ui.boot_view_on_startfalsebooleanat once—After Start the page stays on tab zero, Console (the kernel and vminitd), and marks the agent's tab when it is ready; false (the default): it switches to the agent's tab as soon as that has drawn its screen.
ui.confirm_shutdowntruebooleanat once—Shut Down asks first (its dialog's "don't ask again" sets this to false). Reset and Remove always ask with a box to tick.
ui.split_defaultshellshell | watch | attach | dialogat once—What a terminal's Split opens: shell (a new shell session), watch (a read-only view of the left terminal's session), attach (a second, shared view of it), dialog (choose each time).
ui.terminalstruebooleanat once—Terminals in the browser. false: the UI opens none and refuses a terminal ticket (Terminal.app still works).
ui.terminal_title{sandbox} · {session} · {time}a title with {sandbox} {session} {image} {time} {phase} ("" = leave the title alone)at once—The title doz attach gives your terminal (window or tab) while attached, and a doz ui terminal's tab: {sandbox} {session} {image} {time} (this Mac's, HH:MM, refreshed each minute) {phase}. The terminal's own title comes back when you detach (where the terminal keeps a title stack: iTerm2, Ghostty, kitty, xterm). While doz sets it, a session's own title is not shown; "" leaves the title to the session.
ui.terminal_font_size13integer 9–32at once—The browser terminal's font size, in points (a terminal opened from now on).
ui.themeautoauto | light | darkat once—The UI's colours: auto follows macOS.
ui.details_opentruebooleanat once—A sandbox's page shows its details panel (sessions, restore points, network, keys) beside the terminals; false: collapsed.
ui.allow_secret_entrytruebooleanat once—The web UI takes an Anthropic API key or a Claude setup token in a masked field — an account (the setup wizard, Accounts & keys: stored exactly as doz account add stores it, the login keychain) or a sandbox's own key (its page: exactly as doz key set does, held by the host) — sent once, in a request body. false: the pages show the command instead. The UI can turn this off, never on.
ui.open_browserautoauto | always | nevernext command—When doz ui opens a browser tab: auto (only when no page of this store's UI is open — an open page reconnects by itself instead), always (every start), never (it prints the address; doz ui link opens a page). --open and --no-open override it.
ui.port0integer 0–65535ui-restart$DOZ_UI_PORT, --port NThe port doz ui listens on, always on 127.0.0.1 (this Mac only): 0 = automatic (the port this store's last doz ui had, when it is free — else one the system picks, and doz ui says so), or a fixed port 1024–65535 (doz ui refuses to start, naming the program, when another holds it). An installed dashboard app belongs to one port: keep it fixed for one.
ui.grid_live_tiles8integer 1–12at once—All sessions: at most this many tiles show their session live at once (each is a terminal engine and a socket); the rest say so.
ui.grid_tile_sizemediumsmall | medium | largeat once—All sessions: the size of a tile.
ui.progressanimatedanimated | plainat once$DOZ_PROGRESS, --progress auto|plainHow a start, wake or bake shows its progress — in the web UI's boot view and in the CLI on a terminal: animated (a spinner on the step under way, download bars, the output's last lines) or plain (one line per step, and a summary line per download). Not a terminal, --json or NO_COLOR: always plain.

[serve]#

keydefaultvaluesappliesoverridden bywhat it does
serve.port7443integer 1024–65535serve-restart$DOZ_SERVE_PORT, doz serve --port NThe port doz serve listens on — the dashboard for the other browsers of your network. It stays the same (an installed app and a bookmark belong to it): when another program holds it, doz serve refuses and names it.
serve.bindlanlan | loopback | the Mac's addresses, comma-separatedserve-restart$DOZ_SERVE_BIND, doz serve --bind lan|loopback|ADDRESSESWhere doz serve listens: lan (every network interface of this Mac and Tailscale — never a sandbox's network), loopback (127.0.0.1 and ::1 only: for a reverse proxy on this Mac), or this Mac's own addresses separated by commas (for a reverse proxy elsewhere on your network).
serve.public_origins""origins like https://doz.home.example, comma-separated ("" = none)serve-restart—The addresses your reverse proxy serves the dashboard at, like https://doz.home.example (comma-separated). A browser may use one only through a proxy listed in serve.trusted_proxies. Over https, keys and tokens may be typed in the dashboard; over plain http they never are.
serve.trusted_proxies""addresses or networks like 127.0.0.1, 192.168.1.0/24, comma-separated ("" = none)serve-restart—The reverse proxies whose X-Forwarded-Proto, X-Forwarded-Host and X-Forwarded-For doz serve believes — their addresses or networks, comma-separated (a proxy on this Mac: 127.0.0.1, ::1). From anyone else those headers are ignored.
serve.advertisetruebooleanserve-restart—Announce doz serve on your network with Bonjour ("Dozable on <this Mac>", http://<this Mac>.local:<port>), so other Macs and phones can find it.

[host]#

keydefaultvaluesappliesoverridden bywhat it does
host.idle_timeout_minutes5integer 0–10080after doz host stop$DOZ_HOST_IDLE, doz host start --idle-timeoutMinutes with nothing running before the host exits; 0 = never.
host.screen_capture_minutes5integer 0–1440after doz host stop$DOZ_SCREEN_CAPTUREEvery this many minutes, save the screen of each running sandbox's sessions that printed something since (what a sleep or hibernation falls back on); 0 = only when it pauses, sleeps or hibernates.
host.boot_logs_kept5integer 1–50next boot$DOZ_BOOT_LOGSHow many boots of each sandbox to keep (its steps and kernel console — the web UI's Boot log, doz console --boot N); the oldest goes.
host.keepalivefalsebooleana store that hasn't chosen—Near a Mac login's expiry, while a sandbox uses it and no Claude Code runs, the host runs the Mac's claude once to renew it.

[store]#

keydefaultvaluesappliesoverridden bywhat it does
store.path~/Library/Application Support/dozer-sandboxpath ("" = automatic)next command$DOZ_STORE, --storeThe store: images, kernels, sandboxes and the host's files.

[claude]#

keydefaultvaluesappliesoverridden bywhat it does
claude.permissionsskipskip | asknext session-e DOZ_CLAUDE_PERMISSIONS=… on run/execClaude Code in a claude-code sandbox: skip its permission prompts (the sandbox is the boundary), or ask as on a Mac.

[codex]#

keydefaultvaluesappliesoverridden bywhat it does
codex.permissionsskipskip | asknext session-e DOZ_CODEX_PERMISSIONS=… on run/execCodex in a codex sandbox: skip its approvals and its own Linux sandbox (the VM is the boundary), or ask as on a Mac.
codex.keep_alivefalsebooleanat once—Codex sandboxes on the account mac (this Mac's own Codex login): when its access token is about to expire and a sandbox used it in the last 15 minutes, run this Mac's codex doctor once — no model call — which renews the login the way Codex itself does. Off: the login renews only while Codex (the app or a codex session) runs on this Mac; when it has expired, Codex in a sandbox says so.

[antigravity]#

keydefaultvaluesappliesoverridden bywhat it does
antigravity.permissionsskipskip | asknext session-e DOZ_AGY_PERMISSIONS=… on run/execAntigravity CLI in an antigravity sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[gemini]#

keydefaultvaluesappliesoverridden bywhat it does
gemini.permissionsskipskip | asknext session-e DOZ_GEMINI_PERMISSIONS=… on run/execGemini CLI in a gemini sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[grok]#

keydefaultvaluesappliesoverridden bywhat it does
grok.permissionsskipskip | asknext session-e DOZ_GROK_PERMISSIONS=… on run/execGrok Build in a grok sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[gptme]#

keydefaultvaluesappliesoverridden bywhat it does
gptme.permissionsskipskip | asknext session-e DOZ_GPTME_PERMISSIONS=… on run/execgptme in a gptme sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[copilot]#

keydefaultvaluesappliesoverridden bywhat it does
copilot.permissionsskipskip | asknext session-e DOZ_COPILOT_PERMISSIONS=… on run/execGitHub Copilot CLI in a copilot sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[qwen-code]#

keydefaultvaluesappliesoverridden bywhat it does
qwen-code.permissionsskipskip | asknext session-e DOZ_QWEN_PERMISSIONS=… on run/execQwen Code in a qwen-code sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[mistral-vibe]#

keydefaultvaluesappliesoverridden bywhat it does
mistral-vibe.permissionsskipskip | asknext session-e DOZ_VIBE_PERMISSIONS=… on run/execMistral Vibe in a mistral-vibe sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[droid]#

keydefaultvaluesappliesoverridden bywhat it does
droid.permissionsskipskip | asknext session-e DOZ_DROID_PERMISSIONS=… on run/execFactory Droid in a droid sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[dirac]#

keydefaultvaluesappliesoverridden bywhat it does
dirac.permissionsskipskip | asknext session-e DOZ_DIRAC_PERMISSIONS=… on run/execDirac in a dirac sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[kimi-code]#

keydefaultvaluesappliesoverridden bywhat it does
kimi-code.permissionsskipskip | asknext session-e DOZ_KIMI_PERMISSIONS=… on run/execKimi Code in a kimi-code sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[openhands]#

keydefaultvaluesappliesoverridden bywhat it does
openhands.permissionsskipskip | asknext session-e DOZ_OPENHANDS_PERMISSIONS=… on run/execOpenHands CLI in an openhands sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[docker-agent]#

keydefaultvaluesappliesoverridden bywhat it does
docker-agent.permissionsskipskip | asknext session-e DOZ_DOCKER_AGENT_PERMISSIONS=… on run/execDocker Agent in a docker-agent sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[nanocoder]#

keydefaultvaluesappliesoverridden bywhat it does
nanocoder.permissionsskipskip | asknext session-e DOZ_NANOCODER_PERMISSIONS=… on run/execNanocoder in a nanocoder sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[mini-swe-agent]#

keydefaultvaluesappliesoverridden bywhat it does
mini-swe-agent.permissionsskipskip | asknext session-e DOZ_MINI_PERMISSIONS=… on run/execmini-swe-agent in a mini-swe-agent sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[open-interpreter]#

keydefaultvaluesappliesoverridden bywhat it does
open-interpreter.permissionsskipskip | asknext session-e DOZ_INTERPRETER_PERMISSIONS=… on run/execOpen Interpreter in an open-interpreter sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[crush]#

keydefaultvaluesappliesoverridden bywhat it does
crush.permissionsskipskip | asknext session-e DOZ_CRUSH_PERMISSIONS=… on run/execCrush in a crush sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[mimo-code]#

keydefaultvaluesappliesoverridden bywhat it does
mimo-code.permissionsskipskip | asknext session-e DOZ_MIMO_PERMISSIONS=… on run/execMiMo Code in a mimo-code sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[codewhale]#

keydefaultvaluesappliesoverridden bywhat it does
codewhale.permissionsskipskip | asknext session-e DOZ_CODEWHALE_PERMISSIONS=… on run/execCodeWhale in a codewhale sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[maki]#

keydefaultvaluesappliesoverridden bywhat it does
maki.permissionsskipskip | asknext session-e DOZ_MAKI_PERMISSIONS=… on run/execMaki in a maki sandbox: skip its approval prompts (the sandbox is the boundary), or ask as on a Mac.

[defaults]#

keydefaultvaluesappliesoverridden bywhat it does
defaults.cpus2integer 1–64new sandboxesdoz create --cpusCPUs of a new sandbox.
defaults.nat_subnet""IPv4 subnet, a.b.c.d/nn ("" = a free one)new sandboxes$DOZ_SUBNET, doz create --subnetThe vmnet subnet of a new --network nat sandbox.
defaults.imagelablab | claude-code | pi | codex, or an agent or tool's id (doz try lists them)new sandboxesdoz create --imageThe image of a new sandbox when none is named (doz up NAME, doz init, the UI's New sandbox). doz onboard writes the one you chose.
defaults.projects_dir~/doz-workspacespath ("" = automatic)new sandboxes—The base folder of new sandboxes' workspaces (a Mac that already has ~/dozer-sandbox-workspaces keeps using it until you set this): the web UI's New sandbox and Quick add, and doz new, share <projects_dir>/<sandbox name> (created when missing, like any workspace). doz create is isolated unless --workspace; doz init uses the folder it runs in. In the web UI, Settings › Choose… sets it with the Mac's folder picker.
defaults.accountmacmac | nonea store that hasn't chosen—The Anthropic account of a store that has not chosen one: mac (this Mac's Claude Code login) or none. doz account default decides for a store once it has.
defaults.permissionsstandardstandard | locked | open, or permissions like +web,-error-reports (doz net permissions)new sandboxesdoz create --allow / --networkWhat a new sandbox's agent may do (its network, as permissions — doz net permissions): standard (talk to its AI model, update itself, install system packages and its base's language packages, use GitHub, send error reports), locked (its AI model only), open (everything, the web included), or standard with changes like +web,-error-reports. Stored by name: a Dozable update that adds a host to a permission reaches every sandbox that has it.
defaults.githuboffoff | read | pushnew sandboxesdoz create --github off|read|push"Use GitHub as you" for new sandboxes: off, read (git and gh signed in as you on GitHub, read-only) or push (also push and make changes) — the Access step's choice (doz access set --github). A sandbox can differ: doz create --github, github: in doz_project.yaml, or its permissions later (doz net allow|deny NAME github:as-you). Proxied sandboxes only.

[agent]#

keydefaultvaluesappliesoverridden bywhat it does
agent.prompttruebooleannext session—Tell the agent where it runs: a short facts block appended to its system prompt (the sandbox, its /workspace share, the network, credentials) and the dozer skill, written at every session start. Your own template: agent-prompt.md beside this file.

[updates]#

keydefaultvaluesappliesoverridden bywhat it does
updates.modenotifyoff | notify | autonext command$DOZ_UPDATESUpdates: notify (at most once a day, and when doz ui opens, look for a newer doz and say how to upgrade — one line on a terminal, a banner on the dashboard), auto (also install it: brew upgrade, or the signed download for a tarball install — only while no sandbox runs and no session is attached, else it notifies; then: restart to apply, doz host restart), or off (never look). Never a downgrade; a feed that does not verify is ignored.
updates.channelstablestable | beta | canarynext command—Which releases you are offered: stable, beta (beta and stable) or canary (every build, first). A Homebrew install's own formula (doz, doz-beta, doz-canary) decides while this is not set; doz upgrade --channel switches both.

[telemetry]#

keydefaultvaluesappliesoverridden bywhat it does
telemetry.send_anonymous_usage_statstruebooleannext command$DOZ_SEND_ANONYMOUS_USAGE_STATS, --no-send-anonymous-usage-stats / --send-anonymous-usage-statsOfficial builds send anonymous usage statistics: at most once a day, counts and ranges about how Dozable itself is used (commands by name, failures by exit code, which agents, bases and network presets new sandboxes use, setup sizes as ranges, start and wake times rounded to 50 ms, how long sandboxes ran and slept as ranges, which features were used, this Mac's macOS version, chip family, memory and cores as ranges) with a random install id — never a name, path, host, command argument, file or anything from inside a sandbox. false (or DO_NOT_TRACK=1, or --no-send-anonymous-usage-stats on one command) sends nothing and records nothing. doz telemetry show prints exactly what would be sent. Builds from the open-source repository send nothing whatever this says.

[resources]#

keydefaultvaluesappliesoverridden bywhat it does
resources.clean_unused_days30integer 1–3650at once—Clean up (the Resources page, doz resources clean) removes a prepared image no sandbox was created from in this many days; it is prepared again when next needed.

[sandbox]#

keydefaultvaluesappliesoverridden bywhat it does
sandbox.agent_sudotruebooleannext sessiondoz create --no-agent-sudo / --agent-sudoThe agent (the image's user in claude-code and pi sandboxes) has passwordless sudo inside its sandbox, so it can install system packages (sudo apt-get install …). The VM, the network policy and the absent credentials are the boundary — root inside reaches no more than the agent does. Applied at every boot and every agent session start (no image is rebuilt); a sandbox's own choice (doz create --no-agent-sudo, agent_sudo in doz_project.yaml) wins over this.
sandbox.timezonemacmac, or a time zone like Australia/Sydneynext start or wake—The sandboxes' time zone: mac (this Mac's, read again at every boot and wake — a laptop that travels while a sandbox sleeps is followed) or a zone like Australia/Sydney. Written to the guest's /etc/localtime; the agent's facts say it.
sandbox.clipboardwritewrite | offat oncedoz create --clipboard write|offThe clipboard bridge: a program in a sandbox that copies (OSC 52 — Claude Code, vim, tmux) puts the text on this Mac's clipboard, and every copy shows a notice (SANDBOX copied N chars) in doz attach and doz ui. At most 1 MiB a copy and 10 copies in 10 s. A sandbox can never READ the Mac clipboard. The risk: an agent could put a command there for you to paste — off turns the bridge off (copies are dropped, and said). A sandbox's own choice (doz config set --sandbox NAME, clipboard in doz_project.yaml) wins over this.
sandbox.browser_bridgeonon | offat oncedoz create --browser-bridge on|offThe browser bridge: xdg-open (and $BROWSER, open, sensible-browser) in a sandbox opens an http or https URL in this Mac's default browser, with a notice every time (at most 3 in 10 s). A sign-in whose redirect is the sandbox's localhost (Claude Code's /login) gets that port forwarded from the Mac into the sandbox for up to 10 minutes, so the login completes. Never file: or other schemes, never the Mac's own localhost. off: nothing opens (said). A sandbox's own choice (doz config set --sandbox NAME, browser_bridge in doz_project.yaml) wins over this.
sandbox.open_filesonon | offat oncedoz create --open-files on|offOpen workspace files on this Mac: xdg-open PATH (and open PATH, doz-open PATH) in a sandbox opens a document from its /workspace in the Mac's default app — an html page in your browser, markdown in your editor — or a folder (the workspace itself, open .) in the Finder, and doz-open --reveal PATH shows a file selected in its folder; a notice every time (at most 3 in 10 s). Only the shared folder's own files (a link or .. that leads out is refused), only documents (html, md, pdf, images, txt, csv, json, yaml, xml…) — never an app or package folder, a script, an installer or an executable. An isolated sandbox has no file to open. An app other than the default only when it is in bridges.open_apps. off: nothing opens (said). A sandbox's own choice (doz config set --sandbox NAME, open_files in doz_project.yaml) wins over this.
sandbox.ssh_agentoffoff | onat oncedoz create --ssh-agent on|offForward this Mac's SSH agent into the sandbox (proxied sandboxes): ssh and git over SSH there can ask your agent to sign — your keys never enter the sandbox — and only github.com:22 is reachable over SSH. A notice on first use. While it is on, the agent can authenticate as you to github.com. A sandbox's own choice (doz create --ssh-agent on, ssh_agent in doz_project.yaml, doz config set --sandbox NAME) wins over this.

[sessions]#

keydefaultvaluesappliesoverridden bywhat it does
sessions.tmuxfalsebooleannext sessiondoz create --tmux / --no-tmuxRun each new session inside tmux (within Dozable's own session holder, so saved screens, sleep and wake, browser terminals and Ctrl-] detach keep working): tmux's windows, panes and copy mode, its status bar and prefix key (Ctrl-b). tmux takes the mouse, and the kitty keyboard protocol and modifyOtherKeys do not fully pass through it; the session's exit code is tmux's. Needs tmux in the image (the built-in images this doz prepares have it; on an image an older doz prepared the session runs without it, and says so). A sandbox's own choice (doz create --tmux, tmux: true in doz_project.yaml, doz config set --sandbox) wins over this.

[bridges]#

keydefaultvaluesappliesoverridden bywhat it does
bridges.open_apps""app names, comma-separated, like "Typora, Visual Studio Code" ("" = none)at once—The Mac apps a sandbox may name to open a workspace file in (doz-open --app NAME FILE, or open -a NAME FILE in the sandbox), comma-separated — e.g. "Typora, Visual Studio Code". Empty: a file opens only in its default app, and naming an app is refused. Never a path, only an app's name. For every sandbox.

[workspace]#

keydefaultvaluesappliesoverridden bywhat it does
workspace.ignore_modelocklock | hidenext start or wakedoz create --ignore-mode lock|hideWhat a .dozignore at the root of a sandbox's workspace folder does to the paths it lists (Docker's .dockerignore syntax): lock (they stay listed, shown with no permissions, and every read, write, rename or delete of them is refused — so a program that bumps into one by name sees why) or hide (they are not there at all). A .dozreadonly beside it (same syntax) makes paths visible but read-only; doz_project.yaml, .git/hooks and the two rule files are read-only too. Without either file the folder is shared as it is. A convenience mask, not a security boundary: root in the sandbox can get around it. A sandbox's own choice (doz create --ignore-mode, ignore_mode in doz_project.yaml, doz config set --sandbox NAME) wins over this.
workspace.viewonon | offnext-startdoz create --workspace-view on|offHow a sandbox's workspace folder reaches it. on: through Dozable's live view of the folder, so a program working in /workspace (an agent, a shell) keeps its folder when the sandbox wakes from hibernation or after a host restart. The view costs a little: the first scan of a big folder after a start or a wake is slower (e.g. git status on a large repository, or find), later ones are about as fast as without it. off: the folder is shared directly (a little faster) — but a program working inside /workspace loses its folder at such a wake and must be restarted (Codex says "invalid cwd"). A folder with a .dozignore or .dozreadonly always uses the view. Changes take effect at the sandbox's next start. A sandbox's own choice (doz create --workspace-view, workspace_view in doz_project.yaml, doz config set --sandbox NAME) wins over this.

[github]#

keydefaultvaluesappliesoverridden bywhat it does
github.credentialsghgh | key | offat once—Where "Use GitHub as you" (a permission, off by default) gets your GitHub login: gh (this Mac's gh login, read when used — gh auth token — and kept in memory a few minutes, never written anywhere; gh auth logout revokes it), key (only a token you give a sandbox with doz key set NAME --github — a fine-grained token limited to some repositories is best), or off (never, even with the permission on). The sandbox only ever sees a placeholder; Dozable's proxy puts the real token in on the way to GitHub.

[images]#

keydefaultvaluesappliesoverridden bywhat it does
images.claude_code_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Claude Code the claude-code image is prepared with: latest (asked of the npm registry when the image is prepared, then installed at that exact version, integrity-checked; a newer one is only said — doz image bake claude-code rebuilds when you choose) or an exact version like 2.1.227. A sandbox keeps the version it was created with; doz reset NAME moves it to the image's current one.
images.pi_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The pi coding agent the pi image is prepared with: latest or an exact version, as images.claude_code_version.
images.codex_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The OpenAI Codex CLI the codex image (and every base's Codex image) is prepared with: latest or an exact version like 0.160.1, as images.claude_code_version.
images.antigravity_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Antigravity CLI the antigravity image (and every base's Antigravity CLI image) is prepared with: latest or an exact version like 1.3.4+5524158944247808, as images.claude_code_version.
images.gemini_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Gemini CLI the gemini image (and every base's Gemini CLI image) is prepared with: latest or an exact version like 0.63.0, as images.claude_code_version.
images.grok_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Grok Build the grok image (and every base's Grok Build image) is prepared with: latest or an exact version like 1.0.52, as images.claude_code_version.
images.fabric_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Fabric the fabric image (and every base's Fabric image) is prepared with: latest or an exact version like 1.4.518, as images.claude_code_version.
images.openclaw_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The OpenClaw the openclaw image (and every base's OpenClaw image) is prepared with: latest or an exact version like 2026.10.3, as images.claude_code_version.
images.nanobot_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The nanobot the nanobot image (and every base's nanobot image) is prepared with: latest or an exact version like 0.3.5, as images.claude_code_version.
images.gptme_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The gptme the gptme image (and every base's gptme image) is prepared with: latest or an exact version like 0.34.0, as images.claude_code_version.
images.llm_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The llm the llm image (and every base's llm image) is prepared with: latest or an exact version like 0.36, as images.claude_code_version.
images.shell_gpt_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The ShellGPT the shell-gpt image (and every base's ShellGPT image) is prepared with: latest or an exact version like 1.5.1, as images.claude_code_version.
images.zeroclaw_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The ZeroClaw the zeroclaw image (and every base's ZeroClaw image) is prepared with: latest or an exact version like 0.8.5, as images.claude_code_version.
images.aichat_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The AIChat the aichat image (and every base's AIChat image) is prepared with: latest or an exact version like 0.30.0, as images.claude_code_version.
images.tgpt_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The tgpt the tgpt image (and every base's tgpt image) is prepared with: latest or an exact version like 2.15.0, as images.claude_code_version.
images.opencode_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The OpenCode the opencode image (and every base's OpenCode image) is prepared with: latest or an exact version like 1.19.0, as images.claude_code_version.
images.smolagents_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The smolagents the smolagents image (and every base's smolagents image) is prepared with: latest or an exact version like 1.26.0, as images.claude_code_version.
images.adk_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Agent Development Kit the adk image (and every base's Agent Development Kit image) is prepared with: latest or an exact version like 2.12.0, as images.claude_code_version.
images.promptfoo_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The promptfoo the promptfoo image (and every base's promptfoo image) is prepared with: latest or an exact version like 0.124.1, as images.claude_code_version.
images.clai_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The clai (Pydantic AI) the clai image (and every base's clai (Pydantic AI) image) is prepared with: latest or an exact version like 2.55.0, as images.claude_code_version.
images.copilot_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The GitHub Copilot CLI the copilot image (and every base's GitHub Copilot CLI image) is prepared with: latest or an exact version like 1.0.97, as images.claude_code_version.
images.qwen_code_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Qwen Code the qwen-code image (and every base's Qwen Code image) is prepared with: latest or an exact version like 0.25.1, as images.claude_code_version.
images.goose_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Goose the goose image (and every base's Goose image) is prepared with: latest or an exact version like 1.54.0, as images.claude_code_version.
images.kilo_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Kilo Code CLI the kilo image (and every base's Kilo Code CLI image) is prepared with: latest or an exact version like 7.8.8, as images.claude_code_version.
images.mistral_vibe_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Mistral Vibe the mistral-vibe image (and every base's Mistral Vibe image) is prepared with: latest or an exact version like 2.26.1, as images.claude_code_version.
images.droid_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Factory Droid the droid image (and every base's Factory Droid image) is prepared with: latest or an exact version like 0.240.1, as images.claude_code_version.
images.dirac_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Dirac the dirac image (and every base's Dirac image) is prepared with: latest or an exact version like 0.5.20, as images.claude_code_version.
images.kimi_code_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Kimi Code the kimi-code image (and every base's Kimi Code image) is prepared with: latest or an exact version like 2.1.1, as images.claude_code_version.
images.cline_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Cline CLI the cline image (and every base's Cline CLI image) is prepared with: latest or an exact version like 3.0.71, as images.claude_code_version.
images.openhands_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The OpenHands CLI the openhands image (and every base's OpenHands CLI image) is prepared with: latest or an exact version like 1.16.0, as images.claude_code_version.
images.letta_code_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Letta Code the letta-code image (and every base's Letta Code image) is prepared with: latest or an exact version like 0.34.13, as images.claude_code_version.
images.docker_agent_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Docker Agent the docker-agent image (and every base's Docker Agent image) is prepared with: latest or an exact version like 1.150.0, as images.claude_code_version.
images.nanocoder_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Nanocoder the nanocoder image (and every base's Nanocoder image) is prepared with: latest or an exact version like 1.31.0, as images.claude_code_version.
images.mini_swe_agent_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The mini-swe-agent the mini-swe-agent image (and every base's mini-swe-agent image) is prepared with: latest or an exact version like 2.4.6, as images.claude_code_version.
images.open_interpreter_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Open Interpreter the open-interpreter image (and every base's Open Interpreter image) is prepared with: latest or an exact version like 0.0.56, as images.claude_code_version.
images.crush_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Crush the crush image (and every base's Crush image) is prepared with: latest or an exact version like 0.98.1, as images.claude_code_version.
images.mimo_code_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The MiMo Code the mimo-code image (and every base's MiMo Code image) is prepared with: latest or an exact version like 0.1.15, as images.claude_code_version.
images.codewhale_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The CodeWhale the codewhale image (and every base's CodeWhale image) is prepared with: latest or an exact version like 0.10.1, as images.claude_code_version.
images.maki_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Maki the maki image (and every base's Maki image) is prepared with: latest or an exact version like 0.6.3, as images.claude_code_version.
images.omp_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The oh-my-pi the omp image (and every base's oh-my-pi image) is prepared with: latest or an exact version like 18.10.4, as images.claude_code_version.
images.tau_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Tau the tau image (and every base's Tau image) is prepared with: latest or an exact version like 0.4.7, as images.claude_code_version.
images.stitch_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The Google Stitch CLI the stitch image (and every base's Google Stitch CLI image) is prepared with: latest or an exact version like 0.11.1, as images.claude_code_version.
images.opencode2_versionlatestlatest, or an exact version like 2.1.227new sandboxes—The OpenCode 2 the opencode2 image (and every base's OpenCode 2 image) is prepared with: latest or an exact version like 2.0.29, as images.claude_code_version.

[images.lab]#

keydefaultvaluesappliesoverridden bywhat it does
images.lab.memory_mib1024integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new lab sandbox (a custom image follows the image it was saved from).
images.lab.networkbakeagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new lab sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.claude-code]#

keydefaultvaluesappliesoverridden bywhat it does
images.claude-code.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new claude-code sandbox (a custom image follows the image it was saved from).
images.claude-code.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new claude-code sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.pi]#

keydefaultvaluesappliesoverridden bywhat it does
images.pi.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new pi sandbox (a custom image follows the image it was saved from).
images.pi.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new pi sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.codex]#

keydefaultvaluesappliesoverridden bywhat it does
images.codex.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new codex sandbox (a custom image follows the image it was saved from).
images.codex.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new codex sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.antigravity]#

keydefaultvaluesappliesoverridden bywhat it does
images.antigravity.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new antigravity sandbox (a custom image follows the image it was saved from).
images.antigravity.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new antigravity sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.gemini]#

keydefaultvaluesappliesoverridden bywhat it does
images.gemini.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new gemini sandbox (a custom image follows the image it was saved from).
images.gemini.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new gemini sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.grok]#

keydefaultvaluesappliesoverridden bywhat it does
images.grok.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new grok sandbox (a custom image follows the image it was saved from).
images.grok.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new grok sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.fabric]#

keydefaultvaluesappliesoverridden bywhat it does
images.fabric.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new fabric sandbox (a custom image follows the image it was saved from).
images.fabric.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new fabric sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.openclaw]#

keydefaultvaluesappliesoverridden bywhat it does
images.openclaw.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new openclaw sandbox (a custom image follows the image it was saved from).
images.openclaw.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new openclaw sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.nanobot]#

keydefaultvaluesappliesoverridden bywhat it does
images.nanobot.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new nanobot sandbox (a custom image follows the image it was saved from).
images.nanobot.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new nanobot sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.gptme]#

keydefaultvaluesappliesoverridden bywhat it does
images.gptme.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new gptme sandbox (a custom image follows the image it was saved from).
images.gptme.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new gptme sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.llm]#

keydefaultvaluesappliesoverridden bywhat it does
images.llm.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new llm sandbox (a custom image follows the image it was saved from).
images.llm.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new llm sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.shell-gpt]#

keydefaultvaluesappliesoverridden bywhat it does
images.shell-gpt.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new shell-gpt sandbox (a custom image follows the image it was saved from).
images.shell-gpt.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new shell-gpt sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.zeroclaw]#

keydefaultvaluesappliesoverridden bywhat it does
images.zeroclaw.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new zeroclaw sandbox (a custom image follows the image it was saved from).
images.zeroclaw.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new zeroclaw sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.aichat]#

keydefaultvaluesappliesoverridden bywhat it does
images.aichat.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new aichat sandbox (a custom image follows the image it was saved from).
images.aichat.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new aichat sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.tgpt]#

keydefaultvaluesappliesoverridden bywhat it does
images.tgpt.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new tgpt sandbox (a custom image follows the image it was saved from).
images.tgpt.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new tgpt sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.opencode]#

keydefaultvaluesappliesoverridden bywhat it does
images.opencode.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new opencode sandbox (a custom image follows the image it was saved from).
images.opencode.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new opencode sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.smolagents]#

keydefaultvaluesappliesoverridden bywhat it does
images.smolagents.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new smolagents sandbox (a custom image follows the image it was saved from).
images.smolagents.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new smolagents sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.adk]#

keydefaultvaluesappliesoverridden bywhat it does
images.adk.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new adk sandbox (a custom image follows the image it was saved from).
images.adk.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new adk sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.promptfoo]#

keydefaultvaluesappliesoverridden bywhat it does
images.promptfoo.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new promptfoo sandbox (a custom image follows the image it was saved from).
images.promptfoo.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new promptfoo sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.clai]#

keydefaultvaluesappliesoverridden bywhat it does
images.clai.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new clai sandbox (a custom image follows the image it was saved from).
images.clai.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new clai sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.copilot]#

keydefaultvaluesappliesoverridden bywhat it does
images.copilot.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new copilot sandbox (a custom image follows the image it was saved from).
images.copilot.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new copilot sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.qwen-code]#

keydefaultvaluesappliesoverridden bywhat it does
images.qwen-code.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new qwen-code sandbox (a custom image follows the image it was saved from).
images.qwen-code.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new qwen-code sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.goose]#

keydefaultvaluesappliesoverridden bywhat it does
images.goose.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new goose sandbox (a custom image follows the image it was saved from).
images.goose.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new goose sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.kilo]#

keydefaultvaluesappliesoverridden bywhat it does
images.kilo.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new kilo sandbox (a custom image follows the image it was saved from).
images.kilo.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new kilo sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.mistral-vibe]#

keydefaultvaluesappliesoverridden bywhat it does
images.mistral-vibe.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new mistral-vibe sandbox (a custom image follows the image it was saved from).
images.mistral-vibe.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new mistral-vibe sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.droid]#

keydefaultvaluesappliesoverridden bywhat it does
images.droid.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new droid sandbox (a custom image follows the image it was saved from).
images.droid.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new droid sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.dirac]#

keydefaultvaluesappliesoverridden bywhat it does
images.dirac.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new dirac sandbox (a custom image follows the image it was saved from).
images.dirac.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new dirac sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.kimi-code]#

keydefaultvaluesappliesoverridden bywhat it does
images.kimi-code.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new kimi-code sandbox (a custom image follows the image it was saved from).
images.kimi-code.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new kimi-code sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.cline]#

keydefaultvaluesappliesoverridden bywhat it does
images.cline.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new cline sandbox (a custom image follows the image it was saved from).
images.cline.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new cline sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.openhands]#

keydefaultvaluesappliesoverridden bywhat it does
images.openhands.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new openhands sandbox (a custom image follows the image it was saved from).
images.openhands.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new openhands sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.letta-code]#

keydefaultvaluesappliesoverridden bywhat it does
images.letta-code.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new letta-code sandbox (a custom image follows the image it was saved from).
images.letta-code.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new letta-code sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.docker-agent]#

keydefaultvaluesappliesoverridden bywhat it does
images.docker-agent.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new docker-agent sandbox (a custom image follows the image it was saved from).
images.docker-agent.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new docker-agent sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.nanocoder]#

keydefaultvaluesappliesoverridden bywhat it does
images.nanocoder.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new nanocoder sandbox (a custom image follows the image it was saved from).
images.nanocoder.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new nanocoder sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.mini-swe-agent]#

keydefaultvaluesappliesoverridden bywhat it does
images.mini-swe-agent.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new mini-swe-agent sandbox (a custom image follows the image it was saved from).
images.mini-swe-agent.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new mini-swe-agent sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.open-interpreter]#

keydefaultvaluesappliesoverridden bywhat it does
images.open-interpreter.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new open-interpreter sandbox (a custom image follows the image it was saved from).
images.open-interpreter.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new open-interpreter sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.crush]#

keydefaultvaluesappliesoverridden bywhat it does
images.crush.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new crush sandbox (a custom image follows the image it was saved from).
images.crush.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new crush sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.mimo-code]#

keydefaultvaluesappliesoverridden bywhat it does
images.mimo-code.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new mimo-code sandbox (a custom image follows the image it was saved from).
images.mimo-code.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new mimo-code sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.codewhale]#

keydefaultvaluesappliesoverridden bywhat it does
images.codewhale.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new codewhale sandbox (a custom image follows the image it was saved from).
images.codewhale.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new codewhale sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.maki]#

keydefaultvaluesappliesoverridden bywhat it does
images.maki.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new maki sandbox (a custom image follows the image it was saved from).
images.maki.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new maki sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.omp]#

keydefaultvaluesappliesoverridden bywhat it does
images.omp.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new omp sandbox (a custom image follows the image it was saved from).
images.omp.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new omp sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.tau]#

keydefaultvaluesappliesoverridden bywhat it does
images.tau.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new tau sandbox (a custom image follows the image it was saved from).
images.tau.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new tau sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.stitch]#

keydefaultvaluesappliesoverridden bywhat it does
images.stitch.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new stitch sandbox (a custom image follows the image it was saved from).
images.stitch.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new stitch sandbox: agent, bake, locked, open (proxied presets), nat or none.

[images.opencode2]#

keydefaultvaluesappliesoverridden bywhat it does
images.opencode2.memory_mib2048integer 256–262144new sandboxesdoz create --memoryMemory (MiB) of a new opencode2 sandbox (a custom image follows the image it was saved from).
images.opencode2.networkagentagent | bake | locked | open | nat | nonenew sandboxesdoz create --networkThe network of a new opencode2 sandbox: agent, bake, locked, open (proxied presets), nat or none.

[kernel]#

keydefaultvaluesappliesoverridden bywhat it does
kernel.path""path ("" = automatic)new sandboxes$DOZ_KERNELAn explicit Linux kernel for new sandboxes ("": the pinned kernel, fetched into the cache).
kernel.cache""path ("" = automatic)new sandboxes$DOZ_KERNEL_CACHEWhere the pinned kernel is cached ("": the store's own); share one between stores.

Environment variables#

variableoverrides
DOZ_STOREstore.paththe store folder
DOZ_PROGRESSui.progressanimated or plain progress
DOZ_HOST_IDLEhost.idle_timeout_minuteshost idle timeout, minutes (fractions allowed)
DOZ_SCREEN_CAPTUREhost.screen_capture_minuteshow often screens are saved
DOZ_BOOT_LOGShost.boot_logs_keptboots kept per sandbox
DOZ_SUBNETdefaults.nat_subnetsubnet of a new nat sandbox
DOZ_KERNEL · DOZ_KERNEL_CACHEkernel.path · kernel.cachean explicit kernel · a shared kernel cache
XDG_CONFIG_HOME—where dozer-sandbox/doz.toml is (default ~/.config)
NO_COLOR—plain progress, no colours

Edit this page on GitHub · Chapter 15 of 29