Terminal backends: choose where the agent's commands run

Run the agent's shell commands locally, in Docker, on a remote host over SSH, or in cloud sandboxes like Modal, Daytona and Vercel Sandbox.

Docs-backedReviewed Oct 20, 2026

What Terminal backends is for

Hermes's terminal tool can run commands in seven environments: local (the default, with no isolation), docker, ssh, modal, daytona, vercel_sandbox and singularity. Switching the backend changes where the agent's shell commands and file work happen without changing how you chat with it. Docker gives a hardened, persistent container on your machine. SSH sends work to a remote server, and the cloud options give disposable or persistent sandboxes that keep the agent away from your own files. You set the backend and its image and resource limits under terminal in config.yaml, with most keys also available as TERMINAL_ environment variables.

What you need

  • The runtime for the chosen backend, such as Docker or Podman, or apptainer/singularity on PATH
  • Credentials for remote backends: TERMINAL_SSH_HOST and TERMINAL_SSH_USER for SSH, MODAL_TOKEN_ID and MODAL_TOKEN_SECRET for Modal, DAYTONA_API_KEY for Daytona
  • For Vercel Sandbox, VERCEL_TOKEN, VERCEL_PROJECT_ID and VERCEL_TEAM_ID

Set it up

  1. 1

    Switch backend, for example hermes config set terminal.backend docker, and confirm Docker works with docker version

  2. 2

    Set backend options under terminal in config.yaml, such as docker_image, container_cpu, container_memory or docker_network

  3. 3

    Run hermes doctor to check setup (it covers Modal), and hermes config set terminal.backend local to revert

Check it works

  • Ask the agent to run a harmless command such as printing its hostname or working directory, and confirm it reflects the chosen backend
  • Run hermes doctor and review any backend warnings

Limits and failure points

  • The local backend has no isolation; the agent has the same file access as your user account
  • For SSH, Modal and Daytona, working-tree files are not synced back at teardown, so copy out important artifacts first
  • Persistence keeps filesystem state only, not running processes; Daytona caps disk at 10 GiB

Primary sources

Spotted something wrong or out of date? Tell us on X at @HermesWatcher (opens in a new tab) and we will fix it.

Want Hermes set up for you?

Setup help, custom agent builds and one-off projects. Tell us what you need and get a quote by email.