Skip to content

Sandbox runs broken by version skew: bundled v1.88.1 self-update 404s and ignores --models-gateway #3871

Description

@aboullaite

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

  1. docker model pull ai/gemma4 (Model Runner enabled and serving on the host)
  2. sbx policy init balanced
  3. 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:

  1. 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).
  2. 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).
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/cliCLI commands, flags, output formattingarea/distributionAgent registry, packaging, distribution, sharingarea/providers/docker-model-runnerDocker Model Runner (DMR) local inference

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions