Hermes
Hermes is Nous Research's open source terminal coding agent. Its Vercel Sandbox terminal backend runs every command the agent executes inside an isolated Vercel Sandbox microVM instead of on your machine.
Before you begin, make sure you have:
- macOS, Linux, or Windows with WSL2
- Hermes 0.20.0 or newer. Older releases do not include the Vercel Sandbox backend.
- Vercel CLI installed, logged in, and a Git repository linked to a Vercel
project with
vercel link
Sandbox time that Hermes uses is billed as normal Vercel Sandbox usage, including snapshot storage for persisted task filesystems.
Install with the official installer, or update an existing install:
Terminalcurl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashIf Hermes is already installed, run
hermes updateand confirm the version is 0.20.0 or newer withhermes version.Point the terminal backend at Vercel Sandbox and give the sandbox a valid resource shape:
Terminalhermes config set terminal.backend vercel_sandbox hermes config set terminal.vercel_runtime node24 hermes config set terminal.container_cpu 2 hermes config set terminal.container_memory 4096The runtime is one of
node24(the default),node22, orpython3.13. These are Vercel Sandbox's legacy runtimes: theterminal.vercel_runtimesetting configures a legacy runtime, while new SDK v3 sandboxes default to the Ubuntu-basedvercel/sandbox/universal:latestmanaged image.You can also configure the same settings interactively with
hermes setup terminal. When the current directory is linked to a Vercel project, the setup prompt reads its defaults from the nearest.vercel/project.json.For local development, pull a short-lived OIDC token from your linked project and export it:
Terminalvercel env pull export VERCEL_OIDC_TOKEN="<value of VERCEL_OIDC_TOKEN from .env.local>"OIDC tokens are development-only and expire. For deployments and long-running Hermes processes, set
VERCEL_TOKEN,VERCEL_PROJECT_ID, andVERCEL_TEAM_IDinstead. See Sandbox authentication for both methods.Run the built-in diagnostics:
Terminalhermes doctorThe report should show passing checks for the Vercel runtime, the
vercelSDK, and Vercel auth, including which auth mode is active.Start a conversation with
hermes. When the agent uses its terminal tool, the command executes inside a Sandbox microVM as thevercel-sandboxuser with/vercel/sandboxas the workspace root, not on your machine.
- One sandbox per task: Hermes creates a sandbox on demand when the agent first runs a terminal command and reuses it for the rest of the task. Sandboxes are short-lived and are recreated automatically as needed.
- Snapshot persistence: With
terminal.container_persistent: true(the default), Hermes snapshots the sandbox filesystem per task and restores it when the task resumes. Live processes do not survive sandbox recreation. - Isolation: Commands run in a Firecracker microVM with its own filesystem and network. See Sandbox concepts for the isolation model.
| Setting | Config key | Environment variable | Default |
|---|---|---|---|
| Terminal backend | terminal.backend | None | local |
| Runtime | terminal.vercel_runtime | TERMINAL_VERCEL_RUNTIME | node24 |
| Resources | terminal.container_cpu, terminal.container_memory | None | 1 vCPU, 5,120 MB (invalid for this backend; set a valid pair such as 2 and 4096) |
| Development auth | None | VERCEL_OIDC_TOKEN | None |
| Access token auth | None | VERCEL_TOKEN, VERCEL_PROJECT_ID, VERCEL_TEAM_ID | None |
To route Hermes model requests through Vercel AI Gateway, run
hermes model and choose Vercel AI Gateway. That configuration is
covered on the Hermes page in the AI Gateway docs.
The configured memory does not match Vercel's allocation model. Set a valid
pair, for example terminal.container_cpu 2 with
terminal.container_memory 4096 (2,048 MB per vCPU).
Your VERCEL_OIDC_TOKEN has expired. Run vercel env pull in the linked
project and export the fresh token. For processes that outlive a development
session, use access-token auth instead.
pip install 'hermes-agent[vercel]' installs 0.19.0 from PyPI, which
predates the Vercel Sandbox backend, and warns that the vercel extra does
not exist. Install or update with the official installer instead, and
confirm hermes version reports 0.20.0 or newer.
Was this helpful?