Summary
Running docker agent run <agent> --sandbox with a Docker Model Runner model fails
end to end because of a version mismatch between the host CLI and the docker-agent
binary bundled in the sandbox template, and the bundled version cannot self-update.
Environment
- Host: macOS 15 (M1 Max), Docker Desktop 4.83.0, Docker CLI 29.6.2
- Host docker-agent: v1.119.0
- Sandbox template
docker/sandbox-templates:docker-agent: bundles docker-agent v1.88.1
- sbx CLI installed from docker/tap (July 2026)
Steps to reproduce
docker model pull ai/gemma4 (Model Runner enabled and serving on the host)
sbx policy init balanced
- In a project directory:
docker agent run coder --sandbox --yolo --exec --model dmr/ai/gemma4 --models-gateway http://host.docker.internal:12434/engines "any task"
What happens
Host side, the CLI dies after sandbox creation:
Models gateway: http://host.docker.internal:12434/engines (allowlisting host.docker.internal:12434 in the sandbox proxy)
ERROR: inspect exec: context deadline exceeded
Meanwhile inside the sandbox the agent process is still alive (orphaned), so failed
runs leave zombie docker-agent processes in the VM.
Running docker-agent manually inside the sandbox surfaces the underlying failures:
docker-agent: updating from v1.88.1 to v1.119.0...
WARN Self-update skipped; continuing with current binary error="fetching checksums.txt: HTTP 404"
docker-agent: self-update failed (fetching checksums.txt: HTTP 404); continuing with current version
Error: docker model runner is not available
please install it and try again (https://docs.docker.com/ai/model-runner/get-started/)
Three distinct problems:
- Self-update 404: the in-sandbox binary tries to update to the host version and
fails fetching checksums.txt from the release assets (the sandbox proxy allows
github.com/release-assets, so this looks like a missing artifact, not a policy block).
- v1.88.1 ignores
--models-gateway for the DMR provider availability check: it
probes for a VM-local Model Runner and hard-fails, even though the gateway endpoint
is reachable through the sandbox proxy (verified with curl from inside the VM).
- Host CLI times out (
inspect exec: context deadline exceeded) instead of
surfacing the in-VM error, and leaves the agent process running.
Workaround
Define a custom agent YAML using the openai provider with
base_url: http://host.docker.internal:12434/engines/v1 and run docker-agent
directly inside the sandbox via sbx exec (works flawlessly; the model serves from
the host and the agent completes tasks).
Expected
- Sandbox template tracks the released docker-agent version, or self-update artifacts
include checksums.txt
--models-gateway respected by the dmr provider availability probe
- Host CLI surfaces in-VM startup errors instead of timing out, and reaps the agent
process on failure
Summary
Running
docker agent run <agent> --sandboxwith a Docker Model Runner model failsend to end because of a version mismatch between the host CLI and the docker-agent
binary bundled in the sandbox template, and the bundled version cannot self-update.
Environment
docker/sandbox-templates:docker-agent: bundles docker-agent v1.88.1Steps to reproduce
docker model pull ai/gemma4(Model Runner enabled and serving on the host)sbx policy init balanceddocker agent run coder --sandbox --yolo --exec --model dmr/ai/gemma4 --models-gateway http://host.docker.internal:12434/engines "any task"What happens
Host side, the CLI dies after sandbox creation:
Meanwhile inside the sandbox the agent process is still alive (orphaned), so failed
runs leave zombie docker-agent processes in the VM.
Running docker-agent manually inside the sandbox surfaces the underlying failures:
Three distinct problems:
fails fetching
checksums.txtfrom the release assets (the sandbox proxy allowsgithub.com/release-assets, so this looks like a missing artifact, not a policy block).
--models-gatewayfor the DMR provider availability check: itprobes for a VM-local Model Runner and hard-fails, even though the gateway endpoint
is reachable through the sandbox proxy (verified with curl from inside the VM).
inspect exec: context deadline exceeded) instead ofsurfacing the in-VM error, and leaves the agent process running.
Workaround
Define a custom agent YAML using the
openaiprovider withbase_url: http://host.docker.internal:12434/engines/v1and run docker-agentdirectly inside the sandbox via
sbx exec(works flawlessly; the model serves fromthe host and the agent completes tasks).
Expected
include checksums.txt
--models-gatewayrespected by the dmr provider availability probeprocess on failure