Skip to content

[Bug]: docker_image in config.yaml doesn't load assigned image #4344

@pchason

Description

@pchason

Bug Description

On Apple M1 Pro MacOS 26.3.1, hermes won't launch a linux/arm64 docker image when it's assigned to the docker_image prop in config.yaml and the terminal backend prop is set to docker. Instead, hermes loads nikolaik/python-nodejs:python3.11-nodejs20 as a fallback. Note the config.yaml terminal > docker_image prop:

terminal:
  backend: docker
  cwd: .
  timeout: 180
  env_passthrough: []
  docker_image: rust:trixie
  docker_forward_env: []
  singularity_image: docker://nikolaik/python-nodejs:python3.11-nodejs20
  modal_image: nikolaik/python-nodejs:python3.11-nodejs20
  daytona_image: nikolaik/python-nodejs:python3.11-nodejs20
  container_cpu: 1.0
  container_memory: 5120
  container_disk: 10000
  container_persistent: true
  docker_volumes: []
  docker_mount_cwd_to_workspace: false
  persistent_shell: true
  lifetime_seconds: 10

Steps to Reproduce

  1. Verify Docker Desktop is installed on MacOS
  2. Verify hermes is installed
  3. Assign the ~/.hermes/config.yaml file terminal > docker_image prop the rust:trixie value.
  4. Open a terminal and enter the hermes command.
  5. Ask hermes what version of Rust NodeJS is installed.
  6. Verify hermes' response states that Rust doesn't appear to be NodeJS is installed (rust:trixie doesn't ship with NodeJS).

Expected Behavior

hermes launches the assigned docker_image. In this case, rust:trixie.

Actual Behavior

hermes launches nikolaik/python-nodejs:python3.11-nodejs20 as the docker image when it's not the assigned value of docker_image.

Affected Component

Configuration (config.yaml, .env, hermes setup)

Messaging Platform (if gateway-related)

No response

Operating System

macOS 26.3.1

Python Version

3.11.5

Hermes Version

Hermes Agent v0.6.0 (2026.3.30)

Relevant Logs / Traceback

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    sweeper:implemented-on-mainSweeper: behavior already present on current maintype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions