# 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.

Canonical: https://hermeswatcher.com/tools/terminal-backends  
Kind: Capability · Running & deploying  
Last reviewed: Oct 20, 2026  
Basis: Explained from the official Hermes Agent docs and repository (Nous Research). Steps follow the linked official sources.

## What it 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

## Setting it up

1. Switch backend, for example `hermes config set terminal.backend docker`, and confirm Docker works with `docker version`
2. Set backend options under terminal in config.yaml, such as docker_image, container_cpu, container_memory or docker_network
3. Run `hermes doctor` to check setup (it covers Modal), and `hermes config set terminal.backend local` to revert

## How to 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

- 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

## Sources

- [Hermes Agent docs: Configuration (terminal backends)](https://hermes-agent.nousresearch.com/docs/user-guide/configuration)
- [Hermes Agent docs: Security (container isolation)](https://hermes-agent.nousresearch.com/docs/user-guide/security)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
