Running & deploying

Where Hermes runs decides what it can reach, whether it is awake when a job is due, and what it costs. These resources compare the options and cover terminal backends, profiles, the API server and safe updates.

42 resources

Guides

How to run Hermes Agent in DockerHermes Agent has an official Docker image for amd64 and arm64. Run the setup wizard, then start the gateway with your data on a mounted volume.How to run Hermes Agent 24/7 on a VPS or home serverKeep Hermes Agent online around the clock: install the gateway as a service, enable linger or a system service, and lock it down before going public.Where Hermes Agent runs: host vs work environmentDecide where the agent, its tools and its lasting files live before moving a workflow to a server.Hermes Agent terminal backends: local, Docker, SSH, cloudWhat each of Hermes's seven terminal backends does, what it isolates, what persists between sessions, and how to pick one for your situation.Hermes Agent profiles: separate agents for separate jobsHow Hermes profiles give you independent agents on one machine, what they isolate (and what they don't), and the commands for creating, switching, sharing and running them.How to update Hermes Agent safelyWhat hermes update actually does, how to preview and back up before updating, how release channels work, and how to recover if an update goes wrong.Hermes Agent web dashboard: a quick tourWhat the local dashboard can do, which pages save you the most time, and how to reach it from another machine without exposing your API keys.How to set up Hermes Agent with Open WebUI and the API serverUse Open WebUI with the Hermes API server. Set a strong key, keep loopback private and understand Docker reachability and host tool access.

Workflows

Tools & integrations

Skills: reusable procedures for repeated workPackage a successful procedure so Hermes can load the relevant instructions when a similar task returns.Plugins: add tools and lifecycle behaviorExtend Hermes with custom tools, hooks, and integrations when instructions alone cannot supply the needed capability.MCP: connect external tool serversExpose selected tools from a local or remote MCP server to Hermes without building a native tool first.Models and providers: configure the actual inference routeUnderstand which model handles conversation and which auxiliary models handle supporting tasks before diagnosing quality or cost.Scheduled tasks: automate a proven runRun bounded tasks on a schedule and retain separate evidence of execution, useful output, and delivery.Context files: give a project durable instructionsKeep project rules, conventions, and operating boundaries in files that Hermes can discover from the working directory.GitHub: inspect repositories before automating changesBuild repository research and review workflows through documented GitHub CLI or separately configured MCP routes.Deployment: separate the agent host from its execution sandboxUnderstand the difference between running Hermes in a container and using a container only for terminal commands.CLI: run bounded tasks and inspect the working environmentUse the terminal interface for interactive work, bounded single queries, explicit tool selection, and resumable sessions.Desktop: manage conversations and inspect artifacts visuallyUse the native desktop interface to work with the same Hermes core, sessions, configuration, skills, and memory.API server: use Hermes from any OpenAI-compatible clientExpose Hermes as an OpenAI-compatible HTTP endpoint so chat frontends and scripts can talk to your agent.Terminal backends: choose where the agent's commands runRun the agent's shell commands locally, in Docker, on a remote host over SSH, or in cloud sandboxes like Modal, Daytona and Vercel Sandbox.

Troubleshooting

Questions

What are terminal backends?

A terminal backend decides where the agent's shell commands actually run. Hermes has seven: local, docker, ssh, singularity, modal, daytona and vercel_sandbox. Set one with terminal.backend in config.yaml or hermes config set terminal.backend <name>.

The README notes that Daytona and Modal can hibernate when idle, so a cloud environment costs very little between sessions.

Permalink
Can I run Hermes on a cheap VPS and talk to it from my phone?

Yes, that's a common setup. The README mentions running it on a $5 VPS. Install it on the server, connect a chat app with hermes gateway setup, and keep the gateway running as a service (hermes gateway install, or sudo hermes gateway install --system for a boot-time service on Linux).

Then chat with it from Telegram or another platform while it works on the server.

Permalink
How do I run Hermes in Docker?

Mount a data folder and run the setup wizard once: docker run -it --rm -v ~/.hermes:/opt/data nousresearch/hermes-agent setup. Then start a long-running gateway with docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data nousresearch/hermes-agent gateway run.

Docker installs don't support hermes update. To upgrade, pull a new image and recreate the container with the same data mount.

Permalink
Can I run more than one agent on the same machine?

Yes, with profiles. Each profile is a separate Hermes home with its own config, keys, memory, sessions, skills and cron jobs. hermes profile create coder creates one and also gives you a coder command, so you can run coder chat or coder gateway start.

Profiles don't share memory, and two profiles can't use the same bot token, so give each one its own bot.

Permalink
How do I move Hermes, or a single profile or bot, to another computer?

For a whole setup, run hermes backup on the old machine. It creates ~/hermes-backup-<timestamp>.zip with config, credentials, memories, skills, sessions and profiles (not the app itself, browser profiles or caches). Install Hermes on the new machine, copy the zip over, run hermes import <file>, then hermes setup to check your keys. Review the backup's skipped-file report before you wipe the old machine.

To move or share one profile (a Bot Mode bot is a profile), run hermes profile export work -o work.tar.gz and on the other side hermes profile import work.tar.gz --name work. In Desktop the same thing is Export profile… and Import profile… in the command palette, and /export and /import work in chat. Profile exports strip API keys and logins, so sign in again on the new machine.

Going to Docker instead? The official image keeps all user data in one folder mounted at /opt/data, and the image itself holds no state.

Permalink
Can I talk to Hermes with my voice, and can it make phone calls?

Yes. In the CLI, turn on /voice on and press Ctrl+B to record; Hermes detects silence and replies. In Hermes Desktop, the microphone does dictation and the voice button starts a spoken conversation. On Telegram and Discord it can send spoken replies, and on Discord it can join a voice channel.

Desktop also offers a full-duplex mode: set Settings > Voice > Voice Chat Mode to GPT-Live (voice.voice_chat_mode: gpt-live). It uses OpenAI's gpt-live-1, needs your own OpenAI key, is billed by OpenAI per minute of session time, and hands real work to your normal Hermes model. Configure speech-to-text and text-to-speech providers with hermes tools; a Nous Portal plan can supply text-to-speech.

Phone calls aren't built in, but the official optional Telephony skill (hermes skills install official/productivity/telephony) covers Twilio numbers, SMS and AI outbound calls with your own Twilio account.

Permalink
Is there a web interface for managing Hermes?

Yes. hermes dashboard starts a local web server and opens http://127.0.0.1:9119. From there you can manage config, API keys, MCP servers, messaging pairing, webhooks, the gateway, memory, sessions, logs, analytics, cron jobs and skills instead of editing YAML. --port changes the port and --no-open skips opening the browser.

It binds to localhost by default. If you bind it elsewhere with --host, a public bind always requires an auth provider, either a password or OAuth.

Permalink
Can I use Hermes inside VS Code, Zed or JetBrains?

Yes, through ACP (Agent Client Protocol). hermes acp runs Hermes as an ACP server over stdio, and editors can show its chat, tool activity, file diffs, terminal commands and approval prompts. In VS Code, install the ACP Client extension and pick Hermes Agent. In Zed, add a custom agent server with command hermes and args acp. JetBrains works through an ACP-compatible plugin.

ACP sessions keep your provider setup, memory and skills but leave out messaging delivery and cron management. hermes acp --check verifies the install.

Permalink
Is there an official Hermes mobile app for iOS or Android?

Not yet. The current release has no official iOS or Android app; there's no mobile app in the official repository and none in the docs. The Nous team has said on X that one is in the works, without a public date.

Today, the supported way to use Hermes from your phone is the messaging gateway: run Hermes on a computer, server or Hermes Cloud and chat with it on Telegram, Discord, WhatsApp, Signal, Slack and other apps. You can even move a live CLI session to your phone with /handoff.

Android users can also run Hermes itself on the phone through the official Termux package (64-bit ARM). Be wary of third-party apps claiming to be the official one.

Permalink
Can Hermes Desktop connect to a remote agent on a VPS, NAS or Hermes Cloud without running the agent locally?

Yes. Desktop can attach to a backend on another machine and act as the client: your sessions, memory and tools all live on that host. Go to Settings > Gateways. Hermes Cloud lets you sign in and pick an agent with nothing to paste; Remote gateway takes the URL of a backend you run; SSH opens a tunnel to a Hermes install for you.

For your own server, run hermes serve there (the headless backend; hermes dashboard works too) bound to a reachable address, for example hermes serve --host 0.0.0.0 --port 9119. A non-loopback bind requires sign-in: use a username and password only on a trusted network or VPN such as Tailscale, and OAuth through Nous Portal (hermes dashboard register) for anything reachable from the internet. Then enter http://<host>:9119 in Desktop and sign in.

Without a local runtime the app offers to connect or install, and hermes desktop --ignore-existing skips an installed one so no local backend starts. The messaging gateway on the server is a separate process you keep running yourself.

Permalink
What is Bot Screen, where does it run, and how heavy is it?

Bot Screen gives each bot its own desktop on a headless Linux gateway host (a server, cloud VM or Hermes Cloud), which the bot's computer use and browser act on, streamed live into Hermes Desktop. Your Mac or PC is only the viewer, and the bot keeps working when you close the app. It isn't offered when the gateway itself runs on macOS or Windows, which already have a real display.

It's off by default. Start it from the Screen pane in Desktop or with hermes computer-use screen start on the host; hermes computer-use screen status shows whether the needed TigerVNC and Xfce packages are installed, and hermes computer-use screen install adds them. Unused screens stop after 30 minutes.

Plan for about 1.1–1.5 GB of RAM per open screen with a browser: the desktop is cheap, the browser is the cost. 4 GB runs it and 8 GB is comfortable for takeovers. With a Docker or SSH terminal backend, the screen runs inside that sandbox.

Permalink
How do I watch the agent, or take over for a login, 2FA or CAPTCHA, and does it keep going afterwards?

When the bot hits a step it shouldn't do itself (a login, a 2FA prompt, a CAPTCHA, a payment), it says so in chat and ends its turn. On a hosted gateway with Bot Screen, open the bot's Screen, click Take over, do the step, then click Hand back and tell it to continue.

While you hold control its computer-use and browser tools are refused; on hand-back it re-captures the screen and carries on in the same conversation, with the session you just signed in to. The browser profile persists per bot, so the login usually sticks for later runs.

On your own computer you can simply watch: set browser.headed: true for a visible browser. For many sites the vault can fill saved logins and generate 2FA codes without a takeover.

Permalink
Can a cloud or VPS agent control my local computer, and why does Desktop act differently on a remote gateway?

Tools run where the backend runs. With Desktop connected to a cloud or VPS gateway, terminal commands, file edits, computer use and the browser all happen on that remote machine, not on your PC. That's why a remote agent can't click around your local apps or read your local files.

A few things are tied to the machine running the app, so they behave differently remotely: Open containing folder only works for local sessions (use Reveal in filetree), artifacts download through the gateway, logs for a failed turn live on the remote host, and settings, sessions and memory follow the gateway you're connected to.

To have an agent act on your computer, run Hermes on it, either as Desktop's local gateway or as a second registered gateway, and switch between gateways in the Sessions sidebar.

Permalink
What is Hermes Cloud, how is it priced, and is storage persistent?

Hermes Cloud is Nous Research's hosted Hermes Agent: an always-on agent on a dedicated cloud instance with its own workspace and dashboard, managed from the agents page in Nous Portal. Hermes Desktop connects to it from Settings > Gateways > Hermes Cloud.

According to the Cloud page, instances are billed daily from your Nous credit based on actual use (compute plus storage), stopped instances pay only storage, and model and tool use is billed separately. Deploying needs at least $2 in credits or an active subscription; current instance sizes and prices are listed in Nous Portal.

Storage is persistent: files, memory and configuration are kept whether the agent is running or stopped, and disks never shrink. The Nous team has said on X that each instance has roughly a 12 GB persistent volume at /opt/data holding the Hermes home; check the Portal for current sizes.

Permalink
How do I back up my Hermes setup?

Run hermes backup. It writes ~/hermes-backup-<timestamp>.zip with your config, credentials, memories, skills, sessions and profiles, and it's safe to run while Hermes is working. Restore with hermes import <file>. Check its report of files that failed to copy, and store the zip somewhere private, since it contains your keys.

hermes backup --quick saves only selected state files. Updates take a quick snapshot automatically; hermes update --backup, or updates.pre_update_backup: full, makes a full one before each update.

For a VM or Docker host, back up the Hermes data folder itself (/opt/data in the official image), or snapshot the whole VM with your provider's tools.

Permalink

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.