Pimp My IDE / garage dispatchBack to the garage
October 8, 2026 / Docker Agent v1.149.0 / field note

The config is cargo. The run needs restraints.

Docker Agent can ship an agent definition through an OCI registry. That solves distribution. It does not choose your safety mode, isolate the host, or set a spending stop.

Pin the cargo. Own the run controls.

Docker shipped an agent runtime, not a magic container.

Docker Agent is an open-source multi-agent runtime. It reads YAML or HCL, runs agents through a terminal interface, command line, or server, and can call built-in tools or MCP servers. Version 1.149.0 was published on October 7. Its release adds public GitHub repository skill loading, evaluator routing changes, pricing fixes, and terminal stability work.[1][2]

The artifact exists. We downloaded the official Linux AMD64 release and ran its version and help commands. It reported docker-agent version v1.149.0, commit bf4169c, and listed run, share, sandbox, session, evaluation, and server commands. We did not give it a model key or run an agent task.

The useful unit is a portable agent definition with explicit run controls beside it.

A registry reference answers where, not whether.

Docker Agent can push an agent definition to an OCI-compatible registry and run it from a registry reference. A tag is checked on each run. A digest can use the cached exact artifact. The documentation recommends digest pinning for reproducible external sub-agents.[3]

That is a distribution contract. It tells the runtime which package to load. It does not prove who reviewed the package, which model will answer, which external tools are safe, or whether the run may touch the host.

The caller should own the safety floor.

The permission system has four safety modes. Strict asks for each tool call. Balanced allows calls labeled safe and asks about the rest. Restricted allows safe calls and denies the rest without asking. Autonomous allows everything unless another rule blocks it. Docker says restricted mode is defense against unwanted calls, not a security boundary.[4]

An agent author may place a default safety mode in the package. The caller's command-line flag, alias, or user settings take priority. This matters because a third-party package can declare autonomous mode. Set a user-owned floor before running an unfamiliar reference.

Sandboxing is a separate mechanism.

The --sandbox flag asks Docker's separate sbx program to create or reuse a virtual machine. Shell, filesystem, and process work then runs inside that machine. Docker Agent does not implement the sandbox itself, and it does not turn every ordinary run into a container.[5]

The working directory is mounted into the virtual machine. The default network policy denies destinations until the runner opens model, package, or declared hosts. The machine and staged kit remain after a session so later runs can reuse them. Those details belong in the run receipt because they change the authority and residue of the job.

A budget is a stop, with boundaries.

Docker Agent can cap cost, cumulative tokens, and working time. Shared named budgets cover every agent that references the same name, so adding sub-agents does not multiply the allowance. The default is no budget.[6]

The runtime checks limits between turns. A model call or tool already in flight can overshoot before the next check. Cost limits also need model pricing data. An unpriced local or private model contributes no cost unless the config supplies pricing. Treat the budget as a stop policy, not a bank guarantee.

Write the coupling receipt before launch.

AGENT_REF=myorg/reviewer@sha256:[DIGEST]
AGENT_VERSION=[INSPECTED]
SAFETY_MODE=restricted
SANDBOX=enabled
SANDBOX_TEMPLATE=[DIGEST]
WORKSPACE_MOUNT=[PATH]
NETWORK_ALLOWLIST=[HOSTS]
MAX_COST_USD=[VALUE]
MAX_TOKENS=[VALUE]
MAX_WORK_TIME=[VALUE]
REVIEW_OWNER=[NAME]
RESULT=[NOT RUN]

Keep the package identity and runtime controls in one review card. Record the result after the job ends. A checked template means the launch plan is complete. It does not mean the agent ran or the output passed review.

Interactive makeover / agent coupling dyno

Build a launch card.

This replaces one vague "safe" toggle with four independent circuits. Each switch changes the launch card. The final state says the structure is ready, not that a real run passed.

Pin cargoSet safetyPlace runtimeCap and record

Run controls

Select each control your launch plan will require. These switches edit a template. They do not execute Docker Agent.

Coupling bus

No launch controls are selected.

REFERENCE
SAFETY
SANDBOX
BUDGET
0 OF 4 CONNECTED
Template not ready.

Select a control to add its required fields.

Sources read / October 8, 2026

Source log

Open the evidence boundary
  1. Docker Agent repository, read October 8, 2026. The README documents the YAML runtime, supported tool and model routes, OCI distribution, installation choices, and telemetry notice.
  2. Docker Agent v1.149.0 release, published October 7, 2026. We read the release notes, fetched the Linux AMD64 asset from this release, and ran its version and help commands.
  3. Docker Agent distribution documentation, read October 8, 2026. It covers OCI push, pull, direct execution, private registry login, mutable tag checks, and digest-pinned external sub-agents.
  4. Docker Agent permissions documentation, read October 8, 2026. It defines safety modes, caller and author precedence, deny, allow, and ask rules, plus the warning that client-side permissions are not a security boundary.
  5. Docker Agent sandbox mode documentation, read October 8, 2026. It explains the separate sbx runtime, virtual machine placement, mounts, network policy, reusable machines, staged kits, and digest pinning.
  6. Docker Agent budget documentation, read October 8, 2026. It defines shared run and named limits, turn-boundary checks, unpriced-model behavior, and structured budget stops.
  7. Hacker News item 49996259, checked against the official HN API on October 8, 2026. The discussion raised the useful question behind this dispatch: which controls come from the package, and which belong to the runtime and operator?

Evidence boundary: we inspected the repository, current release, official documentation, and the official release binary's version and help output. We did not configure a provider, run an agent, create a sandbox, push an OCI artifact, or test a budget stop. The interactive dyno edits a browser-local template. It does not inspect or launch Docker Agent.