Hermes Agent FAQ

137 straight answers to the questions people ask most, each linked to the official documentation it came from.

Getting started

What is Hermes Agent?

Hermes Agent is an open-source AI agent built by Nous Research. You can chat with it in a terminal, a desktop app, or through messaging apps like Telegram and Discord, and it can run commands, edit files, browse the web and use other tools on your behalf.

Its main selling point is a learning loop: it keeps curated memory about you and your setup, saves reusable procedures as skills, and can search its own past conversations.

Hermes Agent README (GitHub) (opens in a new tab)

Is Hermes Agent free, and how do I get the free models?

Asked often by the community

Yes. The software itself is free and open source under the MIT license. What you pay for is the AI model behind it: usage fees from whichever provider you connect, such as OpenRouter or OpenAI, or a Nous Portal plan if you choose that route.

For free models, Nous Portal has a $0 Free plan. Sign in with hermes model (pick Nous Portal) or hermes setup --portal, choose the Free plan in the browser, then pick a model marked as free tier, such as a variant with a :free tag. A fresh Hermes Desktop install can also start you on a free tier before you sign in, and hermes auth upgrade in a terminal (or /login in a chat) signs you in later.

If you run a local model on your own hardware, there are no model fees at all. The free tier is rate-limited, so heavy agent use usually needs a paid plan or your own provider key.

Nous Portal (opens in a new tab) Run Nemotron 3 Ultra free in Hermes Agent (opens in a new tab) Nous free-tier sign-in code (GitHub) (opens in a new tab)

What's the best way to start learning Hermes?

Asked often by the community

If you don't want a terminal, install Hermes Desktop: first-run onboarding gets you to a first message quickly, and you can connect Nous Portal (one sign-in for models plus web search, images, voice and a browser) or pick a provider later. If you like terminals, run the installer, then hermes setup.

Then follow the official Learning Path page, which has reading orders by level (beginner, intermediate, advanced) and by goal: coding assistant, Telegram or Discord bot, automation, a team of bots, or building your own skills. Beginners need about an hour: install, quickstart, CLI basics and configuration.

For help, the official channels are the docs (including the FAQ & Troubleshooting page), GitHub issues and the Nous Research Discord.

Learning Path (opens in a new tab) Hermes Desktop (opens in a new tab) FAQ & Troubleshooting (opens in a new tab)

Desktop app, CLI, TUI, web dashboard or chat apps: which interface should I use?

Asked often by the community

They are all front ends to the same agent, with the same config, keys, memory, skills and session history, so you can start a session in one and resume it in another. Pick by situation.

Hermes Desktop (hermes desktop) is the most complete: multiple chat tabs and windows, file browser and previews, Git review and worktrees, Bot Mode, voice, scheduled jobs and settings without YAML. The CLI (hermes) and TUI (hermes --tui) suit terminal users and servers. The web dashboard (hermes dashboard) is a browser admin panel for config, keys, sessions, logs, cron and skills.

Messaging apps through the gateway (Telegram, Discord, Slack and many more) are how you reach Hermes from your phone and run it around the clock. A few commands are surface-specific; for example /handoff and /browser connect are CLI-only, while /sethome and /restart are messaging-only.

Hermes Desktop (opens in a new tab) TUI (opens in a new tab) Slash Commands Reference (opens in a new tab)

Can I customize the Desktop app's theme, fonts, layout and language?

Asked often by the community

Yes. Settings > Appearance has theme presets plus a live VS Code Marketplace search that converts any color theme into a Desktop theme, a Chat Font (desktop.font_family, including readability fonts like OpenDyslexic once installed) and a Terminal Font for the embedded terminal. Most bindings can be remapped in Settings > Keyboard Shortcuts.

For layout, the layout editor (titlebar button or Cmd/Ctrl+Shift+\) offers Simple (chat-first) and Advanced modes and saved layouts, and Hide keeps panes like the in-app Browser or Terminal running while collapsed. The in-app browser has a comment mode for annotating live pages.

The app's interface language can be switched in-app, and language packs can add or override UI languages. That only changes interface text; to have the agent answer in another language, just ask it to. Desktop plugins can add your own panes, pages and commands.

Hermes Desktop (opens in a new tab) Language Packs (opens in a new tab) Desktop Plugin SDK (opens in a new tab)

Which operating systems does Hermes Agent run on? What about old Macs, Docker or unRAID?

The docs list macOS on Apple Silicon, Windows 10 and 11 (native, no WSL required), Linux, WSL2 and Docker as top-priority (Tier 1) platforms. Nix and Android via Termux (aarch64 only) are best-effort Tier 2. The Windows MSIX desktop package needs Windows 11 22H2 or later; the PowerShell installer covers Windows 10.

Intel Macs: stable releases build the desktop bundle for Apple Silicon only, so on an Intel Mac install the CLI with the regular installer and run hermes desktop. 32-bit Macs are unsupported.

Docker hosts such as a NAS or unRAID box can run the official nousresearch/hermes-agent image with a data folder mounted at /opt/data; update by pulling a new image. Installing through pip/PyPI, Homebrew or the AUR is not supported.

Platform Support (opens in a new tab) Docker (opens in a new tab) Windows (Native) Guide (opens in a new tab)

What should I use Hermes for first?

Start with something that recurs and that you'd otherwise do by hand, because that's where memory, skills and scheduling pay off. Good first projects: a morning briefing delivered to your phone (/blueprint morning-brief), a news or paper digest, research fanned out to subagents, turning notes into a weekly plan, or an inbox and calendar helper through the Google Workspace skill.

The docs' Automation Blueprints and Guides sections have ready recipes, from a daily briefing bot to GitHub PR review, uptime checks and revenue summaries. On a computer, it's also a full coding and file assistant in your terminal or Desktop.

Tell it about yourself and your setup early, so it can write useful memory, and correct it when it gets something wrong; that's how it improves.

Automation Blueprints (opens in a new tab) Daily Briefing Bot (opens in a new tab) Learning Path (opens in a new tab)

How do I update Hermes Agent and the Desktop app?

For a normal installer-based (source) install, run hermes update. It moves you to the latest published stable release, refreshes dependencies, syncs bundled skills to every profile and restarts running gateways. hermes update --check previews first, and you can also send /update from a connected messaging app.

Hermes Desktop checks for updates in the background and offers a one-click update (About > Update now, or Update Hermes in the command palette). The app and the backend it talks to update separately; when you're connected to remote gateways, that button updates the backends first and the app last.

Other install types update their own way: Docker users pull a new image and recreate the container, Termux uses pkg upgrade hermes-agent, and Microsoft Store installs update through the Store. Check your version with hermes --version.

Updating & Uninstalling (opens in a new tab) Hermes Desktop (opens in a new tab)

How do I change models in the CLI or the Desktop app?

In a terminal, hermes model is the full picker: add providers, sign in or enter keys, and set your default model. Inside a chat, /model switches between providers you've already set up, for example /model provider:model; add --global to keep it beyond the current session.

In Hermes Desktop the model picker sits in the composer, left of the microphone. A pick there applies to the current chat and follows you to new chats on that device, but doesn't change your saved default; set that in Settings > Model > Main model and click Apply. Each profile has its own default.

Switching mid-conversation makes the next message re-read the whole conversation at full price, so on long chats a fresh session on the new model is often cheaper.

Configuring Models (opens in a new tab) Hermes Desktop (opens in a new tab) FAQ & Troubleshooting (opens in a new tab)

How do I switch from Claude Code or Codex to Hermes?

Start with hermes import-agent. It auto-detects ~/.claude or ~/.codex, or you can name one: hermes import-agent claude-code or hermes import-agent codex. It shows a plan before writing anything, and --dry-run never touches disk.

For Claude Code it maps global CLAUDE.md into memory, Bash permission rules into command_allowlist and approvals.deny, MCP servers into mcp_servers, and skills into ~/.hermes/skills/claude-code-imports/. Your project instruction files keep working too, because Hermes reads CLAUDE.md and AGENTS.md as context files.

You don't have to choose one or the other. Hermes ships claude-code and codex skills that let it hand coding work to those CLIs, and hermes acp puts Hermes inside editors such as VS Code and Zed.

Import from Other Agents (opens in a new tab) Context Files (opens in a new tab) ACP Host Integration (opens in a new tab)

Can Hermes set itself up and configure things for me?

Largely, yes. Describe what you want in chat and it can create scheduled jobs, install and write skills, and walk you through connections such as Google Workspace, whose setup is agent-driven. The bundled hermes-agent skill teaches it how Hermes itself is configured and extended.

Some steps still need you: signing in to providers (hermes model or Desktop's Providers page), creating bot tokens with services like Telegram's @BotFather, approving risky commands, and confirming blueprint jobs before they're scheduled. Those are deliberate checkpoints.

After it changes something, confirm it worked: hermes cron list for jobs, hermes skills list for skills, hermes doctor for overall health.

hermes-agent skill (GitHub) (opens in a new tab) Google Workspace skill (opens in a new tab) Automation Blueprints Catalog (opens in a new tab)

How do I install a ready-made agent or profile someone else built?

If it's published as a profile distribution (a git repository), install it with hermes profile install github.com/<owner>/<repo> --alias. It brings the author's SOUL.md, config, skills, cron jobs and MCP connections; your own credentials, memories and sessions stay on your machine. hermes profile update <name> pulls the author's next version and keeps your data, and hermes profile info <name> shows its manifest.

If someone sends you a single .tar.gz export instead, run hermes profile import <file> --name <name>, or /import in chat, or Import profile… in Desktop. API keys are stripped from exports, so sign in again.

Read what you're installing first. A profile can schedule jobs and enable tools, so treat one from a stranger like any other third-party code.

Profile Distributions (opens in a new tab) Profiles (opens in a new tab) CLI Commands Reference (opens in a new tab)

How do I install Hermes Agent?

On Linux, macOS or WSL2, run: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash. On native Windows, run iex (irm https://hermes-agent.nousresearch.com/install.ps1) in PowerShell. Desktop app packages are also available for macOS and Windows.

Afterwards reload your shell (for example source ~/.bashrc) and type hermes to start chatting. Don't run the installer with sudo; it installs into your user account.

Installation (opens in a new tab) Hermes Agent README (GitHub) (opens in a new tab) FAQ & Troubleshooting (opens in a new tab)

How do I uninstall Hermes Agent?

Run hermes uninstall. For source installs, preview what it will do first with hermes uninstall --dry-run. By default it can keep your configuration and data; --full also removes data, and --data removes user data only. Make a backup first, since these are destructive.

Desktop and package installs are removed with their own tools, for example Windows Settings for the MSIX/Store app or moving the macOS app to Trash.

Updating & Uninstalling (opens in a new tab)

Can I move over from OpenClaw?

Yes. hermes setup detects ~/.openclaw and offers to migrate, or you can run hermes claw migrate anytime. Add --dry-run to preview, or --preset user-data to skip infrastructure config (no preset imports secrets without --migrate-secrets).

It can bring over your SOUL.md persona, MEMORY.md and USER.md entries, user-created skills (into ~/.hermes/skills/openclaw-imports/), command allowlist, messaging settings, allowlisted API keys and, with --workspace-target, AGENTS.md.

Hermes Agent README (GitHub) (opens in a new tab) Migrate from OpenClaw (opens in a new tab)

Can I run Hermes on my Android phone?

There is an official Termux package for 64-bit ARM (aarch64) Android devices. You add a signed APT repository, install it with pkg install hermes-agent, then run hermes setup. The package bundles Python, Node.js, ffmpeg and the other runtime pieces, so nothing has to compile on the phone. Don't use the desktop install.sh there.

Check the Termux page before you start: at the time of writing it carries a warning that the Termux package is currently broken and a fix is in progress.

Android / Termux (opens in a new tab) Platform Support (opens in a new tab)

Should I use native Windows or WSL2?

Either works. Native Windows needs no WSL, Cygwin or Docker: the PowerShell installer puts Hermes in %LOCALAPPDATA%\hermes without admin rights, and the CLI, TUI, messaging gateway, cron, browser tool, MCP servers and web dashboard all run natively. hermes gateway install registers a Scheduled Task so the gateway starts at login.

WSL2 suits people who want a POSIX environment, for example fork semantics or Linux-style file watchers. The two installs coexist, because WSL keeps its data in ~/.hermes.

Windows (Native) Guide (opens in a new tab) Windows (WSL2) Guide (opens in a new tab)

Comparisons

Is Hermes good for coding, and can it replace Claude Code or Codex?

Asked often by the community

It's a capable coding agent: it reads, edits and runs code in your projects, follows AGENTS.md or CLAUDE.md, gets real type errors from bundled language servers after each edit, can work in isolated git worktrees, and has /review to send a second agent over your diff or PR. Desktop adds a Git review pane with commit, push and PR actions.

Claude Code and Codex are coding-focused agents from Anthropic and OpenAI, built around their own models. Hermes is a general-purpose personal agent that works with any provider, and adds memory across sessions, scheduled jobs and messaging-app access. How well it codes depends heavily on the model you pick.

You don't have to choose. Hermes ships claude-code and codex skills to delegate work to those CLIs, hermes import-agent brings over an existing Claude Code or Codex setup, and hermes acp runs Hermes inside editors like VS Code and Zed.

LSP (semantic diagnostics) (opens in a new tab) Git Worktrees (opens in a new tab) Import from Other Agents (opens in a new tab)

What can Hermes do that Claude Code, ChatGPT or other assistants can't?

Asked often by the community

The differences are mostly about where it runs and who controls it. Hermes is open source (MIT) and runs on your own machine, a server or a hosted instance, so it can stay on around the clock, run scheduled jobs while you're away, and answer you on Telegram, Discord, Slack and other apps.

It works with almost any model provider or a local model, and keeps its own memory, skills and searchable session history on disk you control. You can switch models without losing that.

The trade-off is that you run and configure it. Hosted assistants such as ChatGPT handle that for you, and dedicated coding agents like Claude Code and Codex are tuned for their makers' models. Many people use Hermes alongside them; it can even delegate coding to the Claude Code and Codex CLIs.

Hermes Agent README (GitHub) (opens in a new tab) What is Hermes Agent? (docs home) (opens in a new tab) AI Providers (opens in a new tab)

Memory & context

Which memory setup should I use: built-in, Honcho, Hindsight, Mem0, Obsidian or something else?

Asked often by the community

Start with built-in memory. It's always on, costs nothing extra, and together with session search covers most personal use. An external provider is additive: it runs alongside MEMORY.md and USER.md, never replacing them, and only one can be active at a time.

Add one when you want richer recall across many sessions or memory shared between profiles. The docs cover Honcho, Hindsight, Supermemory, Mem0, OpenViking and Holographic (from the plugin catalog) plus bundled RetainDB and ByteRover, with a comparison table. Run hermes memory setup to pick and configure one, hermes memory status to check it, and hermes memory off to go back.

For a knowledge base you can read and edit yourself, an Obsidian vault works well alongside memory: the bundled Obsidian skill lets the agent read, search and write notes there. Keep durable facts in memory and long notes in the vault.

Memory Providers (opens in a new tab) Persistent Memory (opens in a new tab) Obsidian skill (opens in a new tab)

Why does Hermes lose track in long sessions, and what does “context is over the compression threshold” mean?

Asked often by the community

Long conversations fill the model's context window, so Hermes compresses older history automatically, by default at 50% of the context limit (compression.threshold). Run /context (or click the context meter in Desktop) to see what is filling the window: system prompt, tool schemas, skills, MCP, memory and the conversation itself. /context all adds per-skill and per-toolset costs.

The warning “Context is over the compression threshold … but compression is currently blocked” means Hermes wanted to compress but couldn't at that moment, so the session will keep growing until the provider refuses it. Do what it says: /compress to retry now, or /new to start fresh. Memory and the session history stay searchable after a reset.

To prevent it, start a new session when you switch tasks, use /compress here to keep the latest exchanges verbatim, and trim MCP servers or toolsets that take a big share. If limits hit surprisingly early, check the context length Hermes detected at startup.

Slash Commands Reference (opens in a new tab) Troubleshooting: My Agent Feels Dumber (opens in a new tab) Configuration (opens in a new tab)

How does Hermes remember things between sessions?

Built-in memory is two small files in ~/.hermes/memories/: MEMORY.md for the agent's own notes about your environment and lessons learned, and USER.md for your preferences and communication style. The agent edits them with its memory tool. Every session also lands in a searchable history the agent can look back through.

Both files are loaded into the system prompt as a frozen snapshot when a session starts, so something saved mid-session shows up in the next session, not the current one. Starting a new session at natural breaks (a finished task, a new topic) is what lets memory pay off.

Memory belongs to a profile, not to an app. The CLI, Desktop and your messaging chats on the same profile share the same memory and session history; a different profile (or Bot Mode bot) has its own.

Persistent Memory (opens in a new tab) Profiles (opens in a new tab)

SOUL.md, USER.md, MEMORY.md or AGENTS.md: which file should I edit, and how should I structure them?

SOUL.md in your Hermes home is who the agent is (tone, style, personality, standing instructions), and you edit it yourself. USER.md (who you are) and MEMORY.md (what the agent has learned) live in ~/.hermes/memories/ and are maintained by the agent through its memory tool. AGENTS.md or .hermes.md in a project holds that project's rules.

Keep each one short and on topic. The memory files are capped (about 2,200 characters for MEMORY.md and 1,375 for USER.md), so they suit durable facts, not long procedures; put step-by-step workflows in a skill, which only loads when needed. Project details belong in that project's AGENTS.md, not in SOUL.md.

A common mix-up: facts about yourself written into SOUL.md never feed USER.md. To have them remembered, just tell the agent. For a temporary change of tone, use /personality instead of editing files, and start a new session after editing SOUL.md so it loads cleanly.

Which File Does What? (opens in a new tab) Persistent Memory (opens in a new tab) Personality & SOUL.md (opens in a new tab)

How do I see, correct or reset what Hermes remembers, and does deleting it make it forget for good?

The memory files are plain text, so you can open and edit them directly: ~/.hermes/memories/MEMORY.md and USER.md (inside the profile's folder for other profiles). You can also ask the agent to add, patch or remove an entry, or use /journey (Desktop's Star Map) to browse, edit or delete learned memories and skills.

Deleting an entry removes it from what is loaded into future sessions, but not from everywhere. Past conversations stay in the session history the agent can search (hermes sessions delete or hermes sessions prune removes them), and an external memory provider may hold its own copy, so check it there too.

To stop memory entirely, set memory.memory_enabled and memory.user_profile_enabled to false in config.yaml. To review writes before they land, set memory.write_approval: true and use /memory pending, /memory approve and /memory reject.

Persistent Memory (opens in a new tab) CLI Commands Reference (opens in a new tab) Slash Commands Reference (opens in a new tab)

Do profiles share memory, and can two agents share the same memory?

No, not by default. Each profile has its own memory, sessions and skills, and the docs warn against running two agents on one profile or Hermes home: both write memory automatically and load each other's writes at session start, so the stored state degrades with every session. There's no conflict resolution between profiles because they never write to the same store.

Run one agent per profile. For genuinely shared memory, connect the profiles to one external memory provider. Honcho, for example, keeps one shared user across all profiles in a workspace while each profile keeps its own view. To seed a new profile with existing memories and sessions, hermes profile create accepts --clone-all.

FAQ & Troubleshooting (opens in a new tab) Memory Providers (opens in a new tab) Profiles (opens in a new tab)

When should I start a new session instead of continuing, and how do I clean up old ones?

Start a new one (/new) whenever you switch tasks or topics. Shorter sessions are cheaper and faster, and a fresh session is when updated memory loads. Nothing useful is lost: past sessions stay searchable by the agent. Continue a session (hermes --continue, /resume) when you're picking up the same piece of work.

Messaging chats are one long-running session that survives restarts, so on Telegram or Discord the reset is up to you; send /new at natural breaks. In a Bot Mode bot's own chat, /new compacts the conversation instead of forking it.

To tidy up, hermes sessions prune deletes sessions by filters such as --older-than 30d or --source telegram (default: older than 90 days; try --dry-run first), hermes sessions archive hides matching sessions without deleting, and hermes sessions optimize reclaims disk space.

Persistent Memory (opens in a new tab) CLI Commands Reference (opens in a new tab) Bot Mode (opens in a new tab)

Can Hermes share memory with Claude Code, Codex or other agents?

Not through Hermes' built-in memory files, which belong to one profile. The route is a memory service that both agents connect to. Hermes supports several external memory providers, including Honcho, Supermemory and Hindsight; if the other agent has an integration for the same service, point both at the same account or workspace.

The Nous team has said on X that Honcho, Supermemory and Hindsight each offer a Claude Code plugin as well as a Hermes provider. Check each service's own docs for the current integrations.

A simpler shared store is a folder of notes both agents can read, such as an Obsidian vault, or project rules in AGENTS.md, which Hermes and many coding agents read automatically.

Memory Providers (opens in a new tab) Context Files (opens in a new tab) Nous Research team reply on X (October 2026) (opens in a new tab)

How much can Hermes remember? Is there a limit?

Yes, built-in memory is deliberately small. MEMORY.md is capped at 2,200 characters (about 800 tokens) and USER.md at 1,375 characters (about 500 tokens). The limits are memory.memory_char_limit and memory.user_char_limit in config.yaml.

Memory doesn't silently drop old entries when full. The write fails and the agent has to consolidate or remove entries to make room. For longer history, it relies on session search.

Persistent Memory (opens in a new tab)

I told Hermes to remember something and it forgot. Why?

First check the file. Memory only saves when the model actually calls the memory tool, and weaker or small local models sometimes say "saved" without doing it. Other common causes: writes are staged because write_approval is on, you're on a different profile, memory is disabled, or the session that needs it started before the save.

Start a fresh session with /new after saving so the updated snapshot loads.

Persistent Memory (opens in a new tab)

Can I use Honcho, Mem0 or another memory service?

Yes. External memory providers run alongside the built-in files, never replacing them. RetainDB and ByteRover ship with Hermes; Honcho, Hindsight, Supermemory, Mem0, OpenViking and Holographic install from the plugin catalog with hermes plugins install <name>.

Run hermes memory setup to choose and configure one, hermes memory status to check what's active, and hermes memory off to disable it.

Persistent Memory (opens in a new tab) Memory Providers (opens in a new tab)

How do I continue a previous conversation?

Use hermes --continue (or -c) to resume the most recent CLI session; in each terminal it prefers that terminal's own last session. Use hermes --resume <id or title> for a specific one, or --resume latest.

Session IDs are shown when you exit and in hermes sessions list. Inside a session, /resume <title> works too.

Sessions (opens in a new tab)

What are AGENTS.md and other context files?

Context files are project instructions Hermes loads automatically. It looks for .hermes.md or HERMES.md, AGENTS.override.md, AGENTS.md, CLAUDE.md and .cursorrules, and loads only the first type it finds. Inside a git repo, AGENTS.md files from the repo root down to your working directory are combined.

SOUL.md is separate. It sets the agent's global personality and lives in your Hermes home folder.

Context Files (opens in a new tab)

How do I hand Hermes a file, a git diff or a web page in my message?

Use an @ reference. @file:path/to/file.py injects a file (append :10-25 for a line range), @folder: a directory listing, @diff and @staged your git changes, @git:5 the last five commits with patches, and @url: a fetched web page. In the interactive CLI, typing @ offers tab completion.

References are capped to protect the context window: a warning at 25% of the context length and a refusal at 50%. Sensitive paths are always blocked from @file: to avoid exposing credentials.

Context References (opens in a new tab)

Skills, plugins & MCP

How do I find, choose and install skills and plugins?

Asked often by the community

Skills: use hermes skills browse or hermes skills search <query>, preview with hermes skills inspect <id>, then hermes skills install <id>, which runs a security scan first. Official optional skills use ids like official/security/1password; other sources include skills.sh, GitHub repos and direct SKILL.md URLs. In Hermes Desktop the Skills tab lists the whole optional catalog with one-click Install. hermes skills check and hermes skills update keep hub skills current.

Plugins: hermes plugins search <term> searches the curated plugin catalog and hermes plugins install <name> installs the reviewed, SHA-pinned version. In Desktop the same catalog lives under Capabilities > Plugins, with Official, Verified and Community tier filters.

There's no single must-have list. Hermes already ships dozens of bundled skills (GitHub, Google Workspace, Obsidian, PDF and Office files, research and more), so start with those, then add an official skill or plugin when a specific task needs it. Disable what you don't use with hermes skills config and hermes tools, since every enabled tool costs context.

Skills System (opens in a new tab) Plugin Catalog (opens in a new tab) CLI Commands Reference (opens in a new tab)

Does Hermes write its own skills or plugins, and how do I make it save a lesson reliably?

Asked often by the community

Yes. With its skill_manage tool the agent creates, updates and deletes skills, for example after working out a multi-step workflow, finding a fix after dead ends, or being corrected by you. A background review after a session can also suggest or stage skill changes. The docs call this procedural memory.

It's a judgment call by the model, so don't rely on it happening silently. To make it explicit, ask ("save this as a skill") or use /learn followed by what to learn from: a folder, a URL, notes, or the workflow you just walked it through. It then writes a SKILL.md to the house standards.

It can build plugins too, such as Desktop UI plugins in ~/.hermes/desktop-plugins/, guided by the bundled hermes-agent skill, but review plugin code before you enable it because plugins aren't sandboxed. If you'd rather approve skill changes first, turn on skills.write_approval.

Skills System (opens in a new tab) Slash Commands Reference (opens in a new tab) Hermes Desktop (opens in a new tab)

How do web search and fetch work, and do I need a paid key? Is DeepSeek supported?

The agent's web_search and web_extract tools run on a backend you choose with hermes tools (in Desktop, Capabilities > Tools > Web Search & Scraping). You don't need a paid key: DDGS (DuckDuckGo) needs none and self-hosted SearXNG is free, though both are search-only, and Firecrawl, Exa, Parallel and Tavily have keyless or free options. A Nous Portal plan includes managed search through its Tool Gateway.

You can mix providers per capability, for example SearXNG for search and Firecrawl for extraction. For logged-in or interactive pages, the agent uses its browser tools instead.

DeepSeek Search & Fetch isn't a built-in backend, but the plugin catalog lists community plugins that add it, such as deepseek-search-fetch (hermes plugins install deepseek-search-fetch). It needs your own DeepSeek API key and is billed to your DeepSeek balance.

Web Search & Extract (opens in a new tab) Nous Tool Gateway (opens in a new tab) deepseek-search-fetch catalog entry (GitHub) (opens in a new tab)

Can Hermes see and control my phone?

Not out of the box. Hermes' built-in computer use drives desktops (macOS, Windows, Linux), and your phone is normally just a chat client through Telegram, WhatsApp or another messaging app.

The plugin catalog does list community plugins for it. phone-harness drives an iPhone through iPhone Mirroring on a Mac, an Android phone over adb, or a cloud phone, and android-emulator controls a headless Android emulator on Linux. These are community-tier, not maintained by Nous, and act on your real phone and accounts, so read their disclosures first; phone-harness sends each action to Hermes' approval prompt unless you opt in to auto-run.

Android users can also run Hermes itself on the phone through the official Termux package (64-bit ARM only).

Plugin Catalog (opens in a new tab) phone-harness catalog entry (GitHub) (opens in a new tab) Android / Termux (opens in a new tab)

How do I make Hermes use a specific skill or tool instead of its default?

For a skill, call it directly: every installed skill is a slash command (/<skill-name>, or /skill <name>), which loads it for that message. Naming it in your request also helps, as does attaching skills to scheduled jobs with --skill.

For tools, change what's available. Web search and extraction run on whatever backend you pick in hermes tools (for example SearXNG or DDGS instead of Firecrawl), and the agent can't fall back to an unselected one. Turn off toolsets you don't want with hermes tools, or /tools disable <name> for the current session.

If a preference should always apply, write it into SOUL.md or the project's AGENTS.md ("use the X skill for Y").

Skills System (opens in a new tab) Nous Tool Gateway (opens in a new tab) Slash Commands Reference (opens in a new tab)

How many skills, tools and plugins can I add before performance suffers?

Skills scale well. The agent sees only a short index of names and descriptions and loads a skill's full instructions when it needs one, so hundreds of installed skills cost little.

Tools are different: core tool schemas are sent on every call. MCP and plugin tools are deferred by default through Tool Search, which lets the model look up and load a tool's schema only when it needs it, but every enabled toolset still adds weight.

To see your real cost, run /context all (per-skill and per-toolset costs) or hermes prompt-size (the fixed prompt sent on every call). Then disable what you don't use with hermes tools and hermes skills config.

Skills System (opens in a new tab) Tool Search (opens in a new tab) Slash Commands Reference (opens in a new tab)

How do I connect an MCP server, including a custom one?

From the curated catalog: run hermes mcp to pick interactively, or hermes mcp install <name> to add one; hermes mcp login <name> handles servers that need OAuth. In Hermes Desktop, Capabilities > Connectors has the catalog and an add-server form; after installing, start a new chat and ask for it by name.

For a custom server, add it under mcp_servers in ~/.hermes/config.yaml. Local servers use command and args; remote ones use url and optional headers. For a remote OAuth server you can also run hermes mcp add --url <url> --auth oauth <name>. Hermes discovers the tools at startup, and /reload-mcp picks up changes.

Use the per-server tools.include and tools.exclude settings to expose only the tools you need.

MCP (Model Context Protocol) (opens in a new tab) Manage Hermes Cloud with MCP (opens in a new tab) Desktop Connectors pages (GitHub) (opens in a new tab)

Should I use Composio for app connections?

Hermes has no built-in Composio integration, and it isn't in the official MCP or plugin catalogs. If a service offers an MCP server you trust, you can add it like any custom MCP server under mcp_servers.

What Hermes does provide: hosted connectors (apps such as Gmail reached through the Nous Tool Gateway, managed with hermes connectors), a curated MCP catalog with vendor-hosted servers for Atlassian, Notion, Linear, Stripe and others (hermes mcp install <name>), the plugin catalog, and bundled skills like Google Workspace and Notion.

Prefer the route that grants the least access for the job, and connect only the accounts the agent needs.

Nous Tool Gateway (opens in a new tab) MCP (Model Context Protocol) (opens in a new tab) CLI Commands Reference (opens in a new tab)

What are skills?

Skills are on-demand instruction documents, each a folder with a SKILL.md file, that teach the agent how to do a particular task. They follow the agentskills.io open standard. The agent only sees a short list of names and descriptions until it actually needs a skill, which keeps token use down.

Every installed skill also works as a slash command, such as /github-pr-workflow.

Skills System (opens in a new tab)

What's the difference between plugins and MCP servers?

Plugins are Python packages in ~/.hermes/plugins/ (a plugin.yaml manifest plus code) that add tools, hooks and integrations directly inside Hermes. Install them with hermes plugins install and enable them with hermes plugins enable <name>.

MCP servers are separate programs that speak the Model Context Protocol. Hermes connects to them and uses their tools. Choose MCP when a tool already exists as an MCP server, and a plugin when you're building something Hermes-specific.

Plugins (opens in a new tab) MCP (Model Context Protocol) (opens in a new tab)

Can Claude Code, Cursor or Codex use Hermes as a tool?

Yes. hermes mcp serve runs Hermes as a stdio MCP server, so other MCP clients can use its messaging side: list conversations, read message history and send messages across all the platforms your gateway has connected. Add it to the client's MCP config with command hermes and args mcp serve; the client starts and stops the process.

It's handy when a coding agent should post to or read from Telegram, Discord or Slack through your existing Hermes setup.

MCP (Model Context Protocol) (opens in a new tab) CLI Commands Reference (opens in a new tab)

Why don’t all my skills show up in Telegram’s command menu?

Telegram allows at most 100 bot commands and also limits the menu's total payload size, so a long skill list can overflow it. Run hermes skills config to disable skills per platform (it writes skills.platform_disabled in config.yaml), then restart the gateway with hermes gateway restart, because the menu is rebuilt at startup.

Skill descriptions are truncated to 40 characters in the Telegram menu. Disabling skills you don't use there helps with both limits.

FAQ & Troubleshooting (opens in a new tab)

Models, providers & cost

Can I run Hermes with a local model, and which models fit my GPU or Mac?

Asked often by the community

Yes. The easiest route is Local Models: in Hermes Desktop open Settings > Providers > Local Models, or in a terminal run hermes model and choose Local models. Hermes installs a pinned llama.cpp runtime, then prices every catalog model against your machine before you download anything: green means it fits your GPU (or Apple unified memory), amber means it spills into system RAM and runs slower, red means it's too big. A star marks the recommendation.

Hermes picks the best quantization that fits, never goes below 4-bit, and gives every recommended model at least a 64K context window, which is also the minimum Hermes needs. Nothing leaves your computer once the model is downloaded.

You can still point Hermes at your own server instead: run hermes model, choose Custom endpoint, and enter an address such as http://localhost:11434/v1 for Ollama (vLLM, llama.cpp server, SGLang and LocalAI work too). Make sure the context length you set matches what the server actually uses. Very small models can struggle with tool calling, for example claiming to save memory without doing it.

Local Models (opens in a new tab) FAQ & Troubleshooting (opens in a new tab) Persistent Memory (opens in a new tab)

Can I use my Claude Pro or Max subscription in Hermes?

Asked often by the community

There are two documented routes. The official plugin claude-subscription-directsdk (hermes plugins install claude-subscription-directsdk) runs Hermes turns through the official Claude Code CLI on your Pro or Max plan, with no API key; it needs claude installed and logged in, and each turn counts against your subscription's Agent SDK allowance. The catalog marks it experimental.

Anthropic OAuth in hermes model routes as Claude Code against your account, but the docs say it only works on Claude Max with purchased extra-usage credits, and it uses those credits rather than your base allowance. Pro can't use that path; an ANTHROPIC_API_KEY is the alternative.

Hermes can't promise how Anthropic treats any account. Check your plan's terms and usage settings in your Anthropic account, which govern quota and overage.

claude-subscription-directsdk catalog entry (GitHub) (opens in a new tab) AI Providers (opens in a new tab)

Why do side tasks add to my bill, and can I give them, subagents and fallbacks their own models?

Asked often by the community

Hermes uses auxiliary models for side jobs such as context compression, session titles, image analysis, web extraction, approval checks, the skills curator and Kanban planning. By default each one runs on your main chat model, which adds meaningful cost on an expensive reasoning model.

You can route each job separately. Run hermes model and choose Configure auxiliary models, use Settings > Model > Auxiliary models in Desktop, or set keys like auxiliary.compression.provider and auxiliary.compression.model in config.yaml. The post-session memory and skill review has its own slot, auxiliary.background_review.

Subagents get their model from delegation.model and delegation.provider (or Settings > Model > Subagents), and the backup model used when your main one fails comes from hermes fallback add. A fast, cheap model is usually fine for compression, titles and approvals.

Configuring Models (opens in a new tab) Configuration (opens in a new tab) Persistent Memory (opens in a new tab)

How can I keep token costs down?

Asked often by the community

First find out what's expensive. /context breaks down what fills each request (system prompt, tool schemas, skills, MCP, memory, conversation), hermes prompt-size shows the fixed cost sent on every call, and hermes insights shows usage over the last 30 days.

Then trim. Disable toolsets and MCP servers you don't use (hermes tools), start a new session with /new when you switch tasks instead of letting chats grow, and /compress long ones. Move side jobs such as compression, titles and approvals to a cheaper model under auxiliary models, and give subagents a cheaper model with delegation.model.

Avoid needless mid-chat model switches, which re-read the whole conversation at full price, and watch the cache hit rate in Desktop's status bar; a warm cache makes long sessions much cheaper. Script-only cron jobs (--no-agent) run with no model call at all.

FAQ & Troubleshooting (opens in a new tab) Slash Commands Reference (opens in a new tab) Configuring Models (opens in a new tab)

Which model is best for Hermes, and for side tasks like compression or the background review?

Asked often by the community

For the main agent, pick a strong tool-calling, agentic model; Hermes runs a fast loop of tool calls, so that matters more than chat polish. The Nous Portal docs suggest examples such as anthropic/claude-sonnet-4.6 as a general-purpose agentic model, openai/gpt-5.5-pro for reasoning, google/gemini-3-pro-preview for huge context and deepseek/deepseek-v4-pro as a cost-effective coder. They also say Nous' own Hermes 4 chat models are not recommended inside the agent.

For side tasks, a fast cheap model is usually enough. The docs suggest a flash-class model for compression, titles, approvals and web extraction. The background review defaults to your main model, which reuses its warm cache; route it with auxiliary.background_review if your main model is expensive.

Small local models (roughly under 30B) often fumble tool calls, so use a stronger model at least for setup. Rankings change quickly, so test on your own tasks.

Nous Portal (opens in a new tab) Configuring Models (opens in a new tab) Persistent Memory (opens in a new tab)

Is there a usage or rate limit, and can I tune how Hermes retries?

Hermes itself has no usage cap; limits come from your model provider or plan. /usage shows token use and, when the provider reports it, remaining quota, and hermes usage prints account limits for some providers without starting a session.

On transient errors (rate limits, dropped connections, 5xx) Hermes retries each provider agent.api_max_retries times (default 3) before moving to your fallback providers, and waits out a rate limit that names its reset. After retries and fallbacks are spent on an outage, agent.auto_recovery_cycles (default 5) keeps waiting and retrying; set 0 to turn it off.

If you have a fallback configured (hermes fallback add) and want to fail over faster, set api_max_retries to 0. On the free Nous tier, a session you're watching ends quickly with the time the limit lifts instead of waiting long.

Configuration (opens in a new tab) Fallback Providers (opens in a new tab) CLI Commands Reference (opens in a new tab)

How do I fix a Nous Portal subscription or billing problem, such as adding VAT details?

Billing and account details are managed on Nous Portal itself, not in Hermes. hermes portal open opens the subscription management page, and hermes portal info shows your login, subscription and routing status.

If something is wrong with a charge or the account, contact Nous: after Send diagnostics, Desktop's error card links to Nous Portal Support, and the Nous Research Discord is the community channel the docs point to. Hermes can't change Portal billing settings for you.

If Hermes reports a billing failure mid-chat, Desktop's error card names it as billing and offers Switch provider, so you can keep working on another model while it's sorted.

Nous Portal (opens in a new tab) Hermes Desktop (opens in a new tab) FAQ & Troubleshooting (opens in a new tab)

How does using my ChatGPT plan in Hermes work?

In hermes model, choose ChatGPT or Codex Subscription. Hermes signs in with ChatGPT's device-code login (or hermes auth add openai-codex --browser for a browser login), stores the credentials in ~/.hermes/auth.json, uses Codex models, and can import an existing Codex CLI login.

The docs say which plan tiers qualify and how Hermes usage counts against your plan's Codex limits are not yet documented, so watch your usage in ChatGPT. Some models return an error such as “not supported when using Codex with a ChatGPT account”; that's a plan entitlement.

The Nous team has said on X that a newer “Sign in with ChatGPT” option links your plan to your Nous Portal account under Linked Accounts, with a usage cap you choose, and that the older Codex login still works. Check Nous Portal for the current flow.

AI Providers (opens in a new tab) Credential Pools (opens in a new tab) Nous Research team reply on X (October 2026) (opens in a new tab)

Which AI models and providers can I use?

Hermes works with any OpenAI-compatible API. The docs list OpenRouter, Nous Portal, OpenAI, Anthropic, Google Gemini, z.ai/GLM, Kimi/Moonshot, MiniMax and others, plus local models through Ollama, vLLM, llama.cpp, SGLang and similar servers.

Run hermes model to add providers and pick a model. Inside a chat, /model switches between providers you've already set up.

FAQ & Troubleshooting (opens in a new tab) Hermes Agent README (GitHub) (opens in a new tab) AI Providers (opens in a new tab)

What is Nous Portal and do I need it?

Nous Portal is Nous Research's paid subscription service. One OAuth login gives you access to 300+ models plus the Tool Gateway, which handles web search, image generation, text-to-speech and a cloud browser without separate accounts. The docs recommend it for newcomers.

It's optional. Hermes works with your own provider keys, and you can mix the two per tool. Set it up with hermes setup --portal and check it with hermes portal info.

Nous Portal (opens in a new tab) Hermes Agent README (GitHub) (opens in a new tab) Nous Tool Gateway (opens in a new tab)

How much does it cost to run?

Hermes itself costs nothing. Your costs come from model usage with your chosen provider, an optional Nous Portal subscription, and wherever you host it if not on your own computer. Local models have no usage fees.

To keep bills down, run hermes prompt-size to see your fixed prompt cost, disable tools and skills you don't use, use /compress, and start new sessions instead of letting chats grow forever.

FAQ & Troubleshooting (opens in a new tab) Hermes Agent README (GitHub) (opens in a new tab)

Does switching models mid-conversation cost extra?

It can. The prompt cache key includes the model, so the first message after a /model switch re-reads the whole conversation at full input price. On a long session it can be cheaper to start a new session on the right model, or to delegate the task to a subagent, than to switch back and forth.

A plain /model switch lasts only for the current session unless you add --global. /model also lists only providers you have already configured; to add new ones, exit and run hermes model.

FAQ & Troubleshooting (opens in a new tab) Troubleshooting: My Agent Feels Dumber (opens in a new tab)

What happens when my model provider goes down or rate-limits me?

Hermes has layers of resilience. A credential pool, meaning several keys for the same provider, is tried first. Then a fallback chain switches to a different provider and model mid-session on rate limits, server overload, auth failures or connection drops, without losing the conversation.

Set it up with hermes fallback, which reuses the hermes model picker and has add, list, remove and clear subcommands. Entries are stored under fallback_providers in config.yaml, and each needs both a provider and a model.

Fallback Providers (opens in a new tab) Credential Pools (opens in a new tab)

How do I see what Hermes is costing me?

Inside a session, /usage shows token usage, an estimated cost breakdown, context window state and, when the provider reports it, remaining credits or quota. hermes insights analyses token usage, cost estimates, tool use and activity over the last 30 days, with --days and --source filters such as telegram.

For scripts, hermes usage prints account limits for openai-codex, anthropic or openrouter without starting a session, and hermes prompt-size breaks down the fixed prompt sent on every call.

Slash Commands Reference (opens in a new tab) CLI Commands Reference (opens in a new tab)

Messaging & the gateway

Can Hermes work with Gmail or Outlook, and how do I connect email safely?

Asked often by the community

There are a few routes. The bundled Google Workspace skill covers Gmail, Calendar, Drive, Sheets and Docs through your own Google OAuth app; ask Hermes to set it up and it walks you through. With a Nous identity, hosted connectors such as Gmail run through the Tool Gateway and are managed with hermes connectors or Desktop's Connectors page. For plain IMAP/SMTP mail (Gmail, Outlook and others), the bundled Himalaya skill works with an app password.

To be safe, start with a dedicated mailbox for the agent rather than your main inbox, use app passwords or OAuth (never your main password), and keep risky actions behind approvals. Email content is untrusted input, so be careful about letting it act on instructions found in messages.

Separately, the Email gateway lets people chat with Hermes by emailing it; Outlook / Microsoft 365 works there over IMAP and SMTP.

Google Workspace skill (opens in a new tab) Give Your Agent Its Own Email Address (opens in a new tab) Email (opens in a new tab)

How do I connect Hermes to Telegram, and can I run separate bots there?

Create a bot with @BotFather to get a token, then run hermes gateway setup and choose Telegram. It asks for the token and your allowed user IDs. Or add TELEGRAM_BOT_TOKEN and TELEGRAM_ALLOWED_USERS to ~/.hermes/.env yourself. Start the gateway with hermes gateway and message your bot. In Hermes Desktop, Messaging has a Create with QR card that creates the bot, detects your user ID and restarts the gateway for you.

For several separately addressable bots, give each its own profile and its own BotFather token. A bot token can only be used by one profile at a time, and each profile keeps its own memory, skills and sessions.

In groups, Telegram's privacy mode hides ordinary messages from bots until you turn it off in BotFather, and telegram.require_mention: true makes a bot answer only when mentioned.

Telegram (opens in a new tab) Profiles (opens in a new tab) Hermes Desktop (opens in a new tab)

Is Telegram or Discord easier to connect, and do they get the same features?

Telegram is usually the quickest: one token from @BotFather, and Hermes Desktop can even create the bot from a QR code. Discord needs an application in the developer portal with Message Content Intent turned on. Slack uses Socket Mode, so none of them needs a public URL.

The core is the same everywhere: one agent with the same memory, skills, tools, slash commands and cron delivery. Differences come from the platforms. Telegram caps bot command menus at 100 entries, Discord can join voice channels for live conversation, and sessions are keyed differently (Slack shares a thread, Discord a channel, while most others are per user).

You can run several at once from one gateway; set each up with hermes gateway setup.

Telegram (opens in a new tab) Discord (opens in a new tab) FAQ & Troubleshooting (opens in a new tab)

Can I move a live session from my computer to my phone?

Yes, from the CLI. Run /sethome once in the destination chat (for example your Telegram DM with the bot), then in the CLI session run /handoff telegram. The gateway picks the session up with its full history, and your CLI exits with a hint for resuming locally later with /resume.

It works with Telegram, Discord, Slack, WhatsApp, Signal and Matrix, needs the gateway running, and is refused mid-turn, so wait for the current reply to finish.

Separately, Desktop and the CLI share sessions with each other, so on your own machines you can simply resume a conversation in another interface.

Sessions (opens in a new tab) Slash Commands Reference (opens in a new tab)

What is the messaging gateway?

The gateway is a single background process that connects Hermes to all your configured chat platforms, manages their sessions, runs scheduled cron jobs and delivers voice messages. Supported platforms include Telegram, Discord, Slack, WhatsApp, Signal, Email, Matrix, Microsoft Teams, Home Assistant and many more.

Set it up with hermes gateway setup, then run it with hermes gateway or as a service with hermes gateway install and hermes gateway start.

Messaging Gateway (opens in a new tab)

How do I connect Discord or Slack?

For Discord, create an application and bot token in the Discord developer portal, turn on Message Content Intent (without it Discord refuses the connection), then run hermes gateway setup and pick Discord.

Slack uses Socket Mode, which connects over WebSockets so you don't need a public URL. Create a Slack app, enable Socket Mode, and add the tokens through hermes gateway setup.

Discord (opens in a new tab) Slack (opens in a new tab)

How do I keep the gateway running in the background?

Run hermes gateway install to install it as a user service (systemd on Linux, launchd on macOS), then hermes gateway start, stop, restart and status to manage it. On Linux, sudo hermes gateway install --system installs a boot-time system service.

On WSL, where systemd is often unreliable, the docs suggest hermes gateway run in the foreground, inside tmux, or with nohup.

Messaging Gateway (opens in a new tab) FAQ & Troubleshooting (opens in a new tab)

Why doesn’t my Telegram bot see messages in a group?

Telegram bots have privacy mode switched on by default, so in groups they don't receive ordinary messages. Turn it off in @BotFather under Bot Settings, Group Privacy, then remove and re-add the bot, because Telegram caches the setting when a bot joins. Promoting the bot to group admin also works.

TELEGRAM_ALLOWED_USERS still applies in groups. To stop the bot replying to general chatter, set telegram.require_mention: true.

Telegram (opens in a new tab)

Can Hermes have its own email inbox?

Yes. The docs walk through giving the agent a dedicated mailbox with the bundled Himalaya email skill, which drives the himalaya CLI over IMAP and SMTP so the agent can read, search, send and organise mail. Create a fresh account rather than handing over your personal inbox, and use an app password if the provider uses 2FA.

This is separate from the Email gateway adapter, which lets people chat with Hermes by emailing it. You can run both, ideally on separate accounts.

Give Your Agent Its Own Email Address (opens in a new tab) Email (opens in a new tab)

Automation & scheduling

Profiles, bots, subagents and Kanban: what's the difference and when do I use each?

Asked often by the community

A profile is a separate agent with its own config, keys, memory, sessions, skills and cron jobs (hermes profile create <name>). A Bot Mode bot is simply a profile shown in Desktop's Bots roster with an avatar, a permanent Bot Chat and its own routines. A messaging bot is a platform account (such as a Telegram bot) connected to a profile.

A subagent is a temporary child started by delegate_task for one job, with a fresh conversation; only its summary comes back. Use it for quick parallel research or side work inside the current conversation.

Kanban is a durable task board shared across profiles. Use it when work spans several named agents, must survive restarts, or needs your review between steps. Rule of thumb: one assistant, profiles for separate roles, subagents for quick fan-out, Kanban for pipelines.

Profiles (opens in a new tab) Bot Mode (opens in a new tab) Kanban (Multi-Agent Board) (opens in a new tab)

How do I set up Kanban, and why isn't it in my Desktop sidebar?

Asked often by the community

Create the board once with hermes kanban init and keep the gateway running, since it hosts the dispatcher that hands tasks to profiles. Add tasks with hermes kanban create, /kanban in chat, or the board UI.

In Hermes Desktop the Kanban board is a bundled plugin that ships switched off, so it doesn't appear until you enable it in Capabilities > Plugins; it then adds a Kanban page and sidebar entry. The web dashboard (hermes dashboard) has a Kanban tab too.

The board is only a view. For an agent to create and route tasks from chat, enable the kanban toolset on the profile that orchestrates work, for example hermes -p planner tools enable kanban, and start a new chat. Leave it off on profiles that only talk to people; workers get their task tools automatically.

Kanban (Multi-Agent Board) (opens in a new tab) Kanban tutorial (opens in a new tab) Desktop Kanban plugin source (GitHub) (opens in a new tab)

How do I set up a team of bots that work together?

Asked often by the community

The easiest way is Bot Mode in Hermes Desktop, on by default as the Bots tab. Click New Agent, give it a name, title and description, and optionally its own model, SOUL.md, skills, toolsets and MCP servers. Each bot is a profile, so it also works from the CLI (hermes -p <bot> chat).

Bots can message each other with @mentions (@researcher have a look at this), you can open group chats where several bots deliberate, and each bot can have recurring routines. Group bots into sections to keep the roster tidy.

For structured pipelines with handoffs and review steps, put the work on the Kanban board. The docs' learning path has a "team of specialist bots" reading order: Desktop, Profiles, Bot Mode, Cron, then Multi-connection Desktop.

Bot Mode (opens in a new tab) Learning Path (opens in a new tab) Kanban (Multi-Agent Board) (opens in a new tab)

How do I schedule recurring tasks or use automation blueprints?

Just ask in plain language, like "every morning at 9am, send me an AI news summary on Telegram," and Hermes creates the cron job itself. You can also use /cron add "every 2h" "Check server status" in chat or hermes cron create from the shell, optionally attaching skills with --skill.

Automation blueprints are ready-made jobs with a couple of fields to fill in. Type /blueprint to list them and /blueprint <name> (for example /blueprint morning-brief) to be asked for what it needs, or use the Blueprints tab on the Cron page in Desktop or the dashboard. Nothing is scheduled until you confirm.

Agent-backed jobs run inside the gateway, so keep it running. Results can go back to the original chat, to files, or to other configured platforms, and /cron or hermes cron list manages what you've created.

Scheduled Tasks (Cron) (opens in a new tab) Automation Blueprints Catalog (opens in a new tab) Automation Blueprints (opens in a new tab)

Can agents on two different machines or Hermes instances talk to each other?

Yes, in two ways. Bot-to-bot: register the other gateway as a peer with hermes peer add <name> --url http://host:port --key <API_SERVER_KEY> (the remote side runs the api_server platform), then hermes peer dm <peer> "message". Bots learn about registered peers automatically, so they can message cross-machine teammates themselves.

A2A: the Agent2Agent plugin lets your Hermes call other A2A agents as tools and receive tasks over HTTP, including from non-Hermes frameworks. Enable it with hermes gateway setup and turn on the outbound tools with hermes tools enable a2a --platform cli.

Hermes Desktop can also connect to several machines at once, so bots on different hosts appear in one roster. For agents on the same machine, use subagents or Kanban instead.

CLI Commands Reference (opens in a new tab) A2A (Agent-to-Agent) (opens in a new tab) Connecting Desktop to Many Hermes Instances (opens in a new tab)

What happens if I message Hermes while it's busy, and can I redirect it mid-task?

On messaging platforms, a message sent while the agent is working redirects the current turn by default: running tools finish safely and your correction is picked up at the next step. /stop is the hard stop.

/busy (or display.busy_input_mode in config.yaml) changes that. queue holds each follow-up and runs it as its own turn, in arrival order, once the current task finishes. steer slips it into the current run after the next tool call. In the CLI, /steer and /queue (or /q) do the same thing one message at a time.

In Hermes Desktop, queued messages appear above the composer, where you can edit, send or delete them. The queue lives on the gateway, so it survives an app or gateway restart.

Messaging Gateway (opens in a new tab) Slash Commands Reference (opens in a new tab) Hermes Desktop (opens in a new tab)

How does Hermes handle subagent failures and two subagents editing the same files?

Failures are never silent. A failed subagent reports a one-line reason in the CLI and in chat (even with tool progress hidden), and the parent gets status: "failed" with the error so it can retry or reroute. Children have no wall-clock timeout by default, but a stalled one (no activity for 450 seconds, or 1,200 inside a tool) is interrupted and reported.

By default subagents share the parent's working folder, which is fine for reading but risky for parallel edits. Set delegation.worktree_isolation: true and each child works in its own git worktree and branch, which the parent can review and merge. That works for git repos on the local terminal backend.

A restart doesn't resume a running subagent. For work that must survive restarts or hand off between agents, use Kanban or a cron job.

Subagent Delegation (opens in a new tab) Kanban (Multi-Agent Board) (opens in a new tab)

Can several Hermes sessions work on the same repo at once?

Yes, if each one gets its own checkout. Two agents editing the same working folder can overwrite each other's changes, so the docs recommend git worktrees: start with hermes --worktree (-w), create one mid-session with /worktree new <name>, or in Desktop use New worktree on a project (Cmd/Ctrl+Shift+B).

For subagents, delegation.worktree_isolation: true gives each child its own worktree. Each worktree also gets its own checkpoint history for /rollback.

Shared files outside git (a notes folder, a spreadsheet) have no such protection, so give each agent its own file or coordinate through Kanban.

Git Worktrees (opens in a new tab) Subagent Delegation (opens in a new tab) Hermes Desktop (opens in a new tab)

What's the difference between /council and /moa?

Only /moa exists in Hermes; there is no /council command in the current release. /moa <prompt> runs one prompt through your default Mixture of Agents preset and then switches back to your normal model.

A MoA preset sends your conversation to several reference models for their views, and an aggregator model writes the answer and does the tool calls; the aggregator is billed for the whole run. Create presets with hermes moa configure, list them with hermes moa list, and select one like any model (it appears under a Mixture of Agents provider) to use it for a whole session.

If you want several distinct agents to discuss something, Bot Mode group chats in Hermes Desktop are the closest built-in equivalent.

Mixture of Agents (opens in a new tab) CLI Commands Reference (opens in a new tab) Bot Mode (opens in a new tab)

What do `hermes pause` and `/restart` do to work already in progress?

hermes pause is an emergency stop for new work: no cron jobs fire, no Kanban tasks are dispatched and no new gateway turns start (CLI, TUI and Desktop turns included) until hermes resume. Turns already running finish; nothing in flight is killed, and held cron work catches up after you resume. /pause and /pause off do the same from a chat.

/restart (in a messaging chat) restarts the gateway gracefully: it waits for active turns to finish first (up to agent.restart_after_turn_timeout, 30 minutes by default), then confirms in your chat when it's back.

Other stops, such as hermes gateway stop or an update, interrupt running chat turns immediately by default (agent.restart_drain_timeout: 0). Queued messages are kept and run after the restart.

CLI Commands Reference (opens in a new tab) Configuration (opens in a new tab) Scheduled Tasks (Cron) (opens in a new tab)

Why aren't my scheduled jobs running?

Agent-backed cron jobs run inside the gateway, which checks for due jobs every 60 seconds. If the gateway isn't running, those jobs are skipped with a logged reason and fire on the next tick after you start it with hermes gateway start; their schedule is not penalised. Script-only (no_agent) jobs are the exception and still run from a bare hermes cron tick. hermes cron list shows each job's status and reason.

Hermes also validates a job before running it. Missing API keys, unready skills or unknown delivery targets set its status to blocked_config and send a single alert.

Scheduled Tasks (Cron) (opens in a new tab)

Can a scheduled job run without spending any tokens?

Yes, in two ways. No-agent mode runs a script from ~/.hermes/scripts/ on a schedule and delivers its stdout verbatim with no LLM call, and empty output means no message. Create one with hermes cron create plus --no-agent and --script, or just describe the watchdog in chat and Hermes sets it up.

For agent-backed jobs, a pre-check script can print {"wakeAgent": false} as its last line to skip that run without calling the model.

Script-Only Cron Jobs (opens in a new tab) Scheduled Tasks (Cron) (opens in a new tab)

Where can scheduled job results be delivered?

Set the job's deliver target. origin goes back to the chat where the job was created (the default on messaging platforms), local saves to ~/.hermes/cron/output/ (the CLI default), and a platform name like telegram or discord uses that platform's home channel. You can also target a specific chat or Telegram topic, list several targets separated by commas, or use all.

Send /sethome in a chat to make it the home channel. The agent's final response is delivered automatically, so the job prompt doesn't need to send anything.

Scheduled Tasks (Cron) (opens in a new tab) Telegram (opens in a new tab)

When should I use the Kanban board instead of subagents?

delegate_task works like a function call: the parent waits for an anonymous child and gets a summary back. Kanban is a durable work queue in ~/.hermes/kanban.db where named profiles with their own memory pick up tasks, hand off, recover from crashes and take comments from you.

Use subagents for quick answers that feed the current conversation. Use Kanban when work crosses agents, must survive restarts or might need your input. Start with hermes kanban init, keep the gateway running because it hosts the dispatcher, and add tasks with hermes kanban create.

Kanban (Multi-Agent Board) (opens in a new tab)

Can GitHub or other services trigger Hermes automatically?

Yes, through the webhook adapter. Enable it with hermes gateway setup (it listens on port 8644 by default), then define routes in config.yaml or create them with hermes webhook subscribe, which returns the URL and HMAC secret to give the service. Incoming events become agent prompts, and results can go to Telegram, Discord, Slack or a GitHub comment.

--deliver-only skips the agent and forwards the rendered message at zero LLM cost, and --script can filter or reshape payloads first.

Webhooks (opens in a new tab) CLI Commands Reference (opens in a new tab)

Security & permissions

How can I tell if a third-party skill or plugin is safe before installing it?

Asked often by the community

Check where it comes from. Skills: built-in and official/... skills are fully trusted, a few well-known registries are "trusted", and everything else is community. Every hub install runs a security scan; a dangerous verdict is blocked even with --force. Preview first with hermes skills inspect <id>, and re-scan later with hermes skills audit.

Plugins: catalog entries are human-reviewed, pinned to an exact commit and scanned at admission, and tagged Official, Verified or Community. Raw git URLs are flagged as unreviewed. The docs are blunt that catalog listing isn't a code audit, and plugins (especially Desktop plugins) aren't sandboxed, so read the code and the disclosure for anything with broad access.

hermes security audit checks your environment, plugin requirements and pinned MCP servers against known vulnerabilities. If in doubt, try new things in a separate profile with a sandboxed terminal backend.

Skills System (opens in a new tab) Plugin Catalog (opens in a new tab) CLI Commands Reference (opens in a new tab)

How much access does Hermes (and Hermes Desktop) have to my computer, and can I restrict it?

Asked often by the community

On the default local terminal backend, the agent can do what your user account can: run commands, read and write files. Profiles don't sandbox it. Guardrails are on by default: dangerous commands need approval, a hardline blocklist can't be overridden, writes to credential files such as ~/.ssh and .env are blocked, and secrets are redacted from output. Computer use (clicking and typing in apps) also goes through approvals.

To tighten it: set approvals.mode: manual to confirm every command, add approvals.deny rules, restrict file writes with HERMES_WRITE_SAFE_ROOT, and move command execution off your machine with terminal.backend: docker or ssh. In Desktop, Settings > Workspace can limit which folders it scans for repositories.

Tools run on whichever backend Desktop is connected to. Connect it to a remote gateway and the commands, files and computer use happen on that machine, not yours.

Running Hermes on a Personal or Work Machine (opens in a new tab) Security (opens in a new tab) Computer Use (opens in a new tab)

How do I let family members or coworkers use my agent while keeping their data separate?

Give each person their own profile (hermes profile create <name>). A profile has its own memory, sessions, skills, keys and cron jobs, and each gets its own messaging bot, since a bot token can only belong to one profile.

If several people share one bot, lock it down with allowlists or DM pairing (hermes pairing approve <platform> <code>). Most platforms keep a separate session per user, but they share the profile's memory and tools, so don't share a bot that has access to your private accounts.

Profiles separate data, not machines: on the default local backend every profile can still reach your files. For real isolation between people, use a sandboxed terminal backend (Docker or SSH) or separate hosts.

Profiles (opens in a new tab) Security (opens in a new tab) FAQ & Troubleshooting (opens in a new tab)

What happens to my data when I use models through Nous Portal?

Hermes itself sends no telemetry; your conversations, memory and skills stay on your machine, and requests go only to the provider you choose. Once you send a request through Nous Portal, the Nous Research privacy policy applies.

That policy (last updated September 28, 2026) says Nous collects prompts and outputs as workflow data and shares them with the third-party model providers that serve each model, under those providers' terms. It offers an opt-in Privacy Mode under which Nous says it won't store your inference payloads or use them for training, with exceptions for operational metadata and security or legal needs, and it applies only from when you turn it on. No retention period is stated for inference content.

Separately, Hermes warns before you pick discounted data-training model tiers (names ending in -contributor), where the vendor may train on your prompts.

Nous Research Privacy Policy (opens in a new tab) Is my data sent anywhere? (FAQ) (opens in a new tab) Configuring Models (opens in a new tab)

How does Hermes handle passwords, logins and payment details?

Through its built-in vault (Passwords & Logins). The first time the agent hits a sign-in page with no saved login, it asks you in a masked prompt; the password is encrypted on your machine, bound to that site, and filled into the page without the model ever seeing it. 1Password and Bitwarden CLIs are picked up automatically if installed and signed in.

Cards and addresses work the same way (Settings > Passwords & Logins, or hermes vault add), and every card fill asks you first. Unattended runs such as cron and webhooks can't confirm, so they can't spend. Two-factor codes are generated from a saved authenticator key or typed by you into a prompt.

The vault protects against filling the wrong site, not against a compromised one: once a password is in a page, that site has it. On a hosted gateway, you can also take over the Bot Screen and type sensitive steps yourself.

Passwords & Logins (opens in a new tab) Bot Screen (opens in a new tab)

If I approve a plan, is Hermes bound to it, and will it ask before going beyond it?

A plan is guidance, not an enforced contract. /plan writes an implementation plan to .hermes/plans/ without executing anything, and the agent will usually follow it, but nothing technically stops a model from straying.

What is enforced are the controls around actions: dangerous commands need approval, approvals.mode: manual makes it ask for every command, approvals.deny blocks patterns outright, and checkpoints (hermes chat --checkpoints) let you /rollback file changes.

To keep it on track, ask it to check back with you before anything outside the plan; it has a clarify tool for questions. In Desktop's Git review pane, the Last turn view shows exactly what changed.

Slash Commands Reference (opens in a new tab) Security (opens in a new tab) Checkpoints and /rollback (opens in a new tab)

Are third-party “Hermes” apps affiliated with Nous Research?

Treat any app as unofficial unless the official docs or the NousResearch GitHub link to it. The official distributions are the installer scripts and Hermes Desktop from hermes-agent.nousresearch.com, the Microsoft Store and MSIX packages, the nousresearch/hermes-agent Docker image, the Termux package and the NousResearch/hermes-agent repository.

Community projects can be useful; the plugin catalog even lists community mobile adapters. But they're built by their authors, not Nous, and a client that connects to your agent can see your conversations and possibly your tools.

Before connecting one, check who publishes it, read what access it needs, and prefer apps that connect through Hermes' own authenticated gateway rather than asking for your API keys.

Installation (opens in a new tab) Platform Support (opens in a new tab) Plugin Catalog (opens in a new tab)

How do I connect work tools like Outlook, Jira or an ERP without over-granting access?

Prefer official, scoped connections. The MCP catalog includes vendor-hosted servers (Atlassian for Jira and Confluence, plus Linear, Notion and others) that sign in with OAuth (hermes mcp install <name>), and each MCP server can expose only chosen tools with tools.include or tools.exclude. Use a service account or read-only token where the system offers one.

On a work machine, follow the docs' hardening guide: manual approvals, your own deny rules, a write sandbox, and running commands in Docker or over SSH. Keep secrets in a manager such as 1Password or Bitwarden rather than .env.

Systems without an MCP server or plugin can still be reached through scripts or APIs, but then access is whatever that credential allows, so keep it narrow and check your company's policy first.

Running Hermes on a Personal or Work Machine (opens in a new tab) MCP (Model Context Protocol) (opens in a new tab) Secrets (opens in a new tab)

If I connect several accounts (say work and home Gmail), which one does Hermes use?

With hosted connectors you can connect two or more accounts of one app, each with a short name such as home and work. There is no default: when several named accounts exist, the agent must say which one, and a call that leaves it out fails with the list of valid names. Results report the account they ran under.

Name, rename and remove accounts in Desktop's Connectors page, /connectors in the TUI, hermes connectors in a shell, or on Nous Portal. The agent may name a new account but never removes one.

Skills that use their own credentials, such as Google Workspace or Himalaya, use whatever account you set up for them.

Nous Tool Gateway (opens in a new tab) CLI Commands Reference (opens in a new tab)

Is my data sent anywhere? Does Hermes collect telemetry?

According to the FAQ, Hermes doesn't collect telemetry, usage data or analytics. API calls go only to the model provider you configure, and your conversations, memory and skills are stored locally in ~/.hermes/.

Keep in mind that whatever you send to a cloud model provider is subject to that provider's policies. If you enable an external memory provider, Hermes masks recognisable secrets before sending data to it.

FAQ & Troubleshooting (opens in a new tab) Memory Providers (opens in a new tab)

Will Hermes run dangerous commands without asking?

Not by default. Commands are checked against dangerous patterns, and approvals.mode controls what happens: smart (default) uses a helper model to auto-approve low-risk commands, deny clearly dangerous ones and ask you about the rest; manual always asks; off disables checks.

A hardline blocklist, covering things like filesystem wipes and fork bombs, can't be overridden even in YOLO mode. Cron jobs deny dangerous commands by default.

Security (opens in a new tab)

What is YOLO mode?

YOLO mode skips dangerous-command approval prompts for the current session. Turn it on with hermes --yolo, the /yolo toggle, or HERMES_YOLO_MODE=1. The status bar shows a warning while it's active.

The hardline blocklist still applies. The docs recommend YOLO only for trusted commands in disposable environments.

Security (opens in a new tab)

Can I sandbox the agent so it can't touch my machine?

Yes. Change terminal.backend in config.yaml. The default is local, but docker runs commands in a hardened container, ssh runs them on a remote server, and singularity, modal, daytona and vercel_sandbox offer other isolated or cloud environments.

For file edits there is also an optional write sandbox (HERMES_WRITE_SAFE_ROOT) and a list of protected paths that are always blocked.

Tools & Toolsets (opens in a new tab) Security (opens in a new tab)

Can I let Hermes run freely but forbid specific commands?

Yes, with approvals.deny in config.yaml: a list of glob patterns, such as git push --force*, that block matching terminal commands unconditionally. They're checked before --yolo, /yolo or approvals.mode: off, match case-insensitively, see through simple quoting tricks and apply to every terminal backend. Changes take effect without restarting.

Always quote the patterns in YAML. The docs stress this is a command policy, not a sandbox, so use an isolated backend for real containment.

Security (opens in a new tab)

Does Hermes protect against prompt injection in project files?

Partly. Context files such as AGENTS.md and .cursorrules are scanned before they enter the system prompt, looking for instructions to ignore earlier instructions, hidden HTML comments, attempts to read secrets, credential exfiltration via curl and invisible Unicode. A flagged project file is not loaded. The docs call these checks heuristics, not semantic intent detection.

Your own SOUL.md in your Hermes home only gets a warning, not a block. Separately, the command checker flags curl or wget uploads of secrets and hidden Unicode in commands.

Security (opens in a new tab)

Can I keep API keys in 1Password or Bitwarden instead of the .env file?

Yes. At startup Hermes can pull keys from Bitwarden Secrets Manager, 1Password (op:// references through the op CLI) or any CLI vault via a command helper. Only the secret manager's bootstrap token stays in .env, and everything else can rotate centrally. Configure sources under secrets in config.yaml.

By default a value already in your .env or shell wins unless the source sets override_existing: true, which Bitwarden does by default.

Secrets (opens in a new tab) 1Password (opens in a new tab) Bitwarden (opens in a new tab)

Can I undo file changes the agent made?

Yes, if checkpoints are on. They're opt-in: start with hermes chat --checkpoints or set checkpoints.enabled: true. Hermes then snapshots your files into a shadow git store under ~/.hermes/checkpoints/ before file writes, patches and destructive commands such as rm or mv, without touching your project's own .git.

In a session, /rollback lists checkpoints and /rollback with a number restores one while keeping your hand-edits; add --all for a full restore, or use /rollback diff to preview. hermes checkpoints shows storage use.

Checkpoints and /rollback (opens in a new tab)

Running & deploying

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

Asked often by the community

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.

Messaging Gateway (opens in a new tab) Android / Termux (opens in a new tab) Nous Research team reply on X (October 2026) (opens in a new tab)

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

Asked often by the community

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.

Hermes Desktop (opens in a new tab) Connecting Desktop to Many Hermes Instances (opens in a new tab) Hermes Web Dashboard (opens in a new tab)

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

Asked often by the community

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.

FAQ & Troubleshooting (opens in a new tab) Hermes Desktop (opens in a new tab) Docker (opens in a new tab)

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

Asked often by the community

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.

Hermes Desktop (opens in a new tab) Computer Use (opens in a new tab) Connecting Desktop to Many Hermes Instances (opens in a new tab)

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

Asked often by the community

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.

Bot Screen (opens in a new tab) Computer Use (opens in a new tab)

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

Asked often by the community

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.

Bot Screen (opens in a new tab) Passwords & Logins (opens in a new tab) Browser Automation (opens in a new tab)

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

Asked often by the community

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.

Hermes Cloud (Nous Portal) (opens in a new tab) Manage Hermes Cloud with MCP (opens in a new tab) Nous Research team reply on X (October 2026) (opens in a new tab)

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.

Voice Mode (opens in a new tab) Telephony skill (opens in a new tab)

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.

FAQ & Troubleshooting (opens in a new tab) Updating & Uninstalling (opens in a new tab) Docker (opens in a new tab)

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.

Hermes Agent README (GitHub) (opens in a new tab) Messaging Gateway (opens in a new tab)

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.

Docker (opens in a new tab) Platform Support (opens in a new tab) Updating & Uninstalling (opens in a new tab)

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.

Hermes Web Dashboard (opens in a new tab)

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.

ACP Host Integration (opens in a new tab)

Research & knowledge work

Can Hermes work with an Obsidian vault or my own markdown notes?

Yes. The bundled Obsidian skill lets the agent read, search, create and edit notes and add wikilinks. Set OBSIDIAN_VAULT_PATH in your .env to the vault's folder (otherwise it tries ~/Documents/Obsidian Vault). Any folder of markdown files works the same way through the file tools.

A useful pattern: have it take notes in the vault as it works, then in a later session ask it to continue a topic, and it searches the vault. Keep short durable facts (like where the vault is) in memory and longer material in notes.

The bundled llm-wiki skill builds and queries an interlinked markdown knowledge base, and the plugin catalog lists a community dashboard plugin for browsing a vault.

Obsidian skill (opens in a new tab) Persistent Memory (opens in a new tab) LLM Wiki skill (opens in a new tab)

Can Hermes read ebooks, PDFs and scanned documents? Are big files loaded whole?

Yes. Its file reader converts Word, Excel, PDF, EPUB, RTF, OpenDocument and older Office files to text (PDF, EPUB and the others need a converter that installs on first use). Files are read in pages, not loaded whole, and documents over 50 MB are refused.

PDF conversion reads only the text layer, so scanned pages come out empty. When a big share of pages has no text, Hermes warns and lists the empty page ranges, then can render a few pages as images for its vision tool, or follow the bundled pdf skill's OCR guide (marker-pdf) for many pages.

For long books, ask for focused work (a chapter, a summary per section) rather than everything at once, so the context window isn't flooded.

Document Extraction (opens in a new tab) PDF skill OCR guide (GitHub) (opens in a new tab)

Can Hermes use Firefox or my own Chrome profile for browsing?

Chrome-family, yes. Set browser.use_real_profile: true and Hermes copies your active Chrome, Edge, Brave or Chromium profile (cookies and logins) into a separate snapshot and browses with it, so you stay signed in; browser.real_profile_pin: "Profile 2" picks a specific profile. In Desktop it's a toggle under Capabilities > Tools > Browser. Your live profile is never opened directly.

Or connect to a browser you launched yourself with a debug port: run /browser connect in the CLI. Chrome 136 and later need a separate --user-data-dir for this.

Firefox isn't supported for real-profile browsing; with Firefox as your default you get a fresh browser and a message saying so. The Camofox option is Firefox-based, but it's a separate self-hosted anti-detection browser, not your own Firefox.

Browser Automation (opens in a new tab)

Troubleshooting

Is it safe to update Hermes, and can I roll back if an update breaks something?

Asked often by the community

Updates are designed to be safe. hermes update follows the stable release channel by default, hermes update --check previews it, a quick snapshot of each profile's state is taken first, and if critical files fail to load after the update it rolls the code back automatically. Afterwards run hermes doctor and hermes --version.

For extra safety, hermes update --backup makes a full backup first. To roll back, stop the gateway, check out the older release (a source install that followed main can return to the latest release with hermes update --set-channel stable), then restore the pre-update snapshot with /snapshot restore <id> or the full backup with hermes import. Running an old release on a database a newer one has upgraded is refused, so restore the data too.

Desktop app, Docker, Store and Nix installs roll back through their own packaging (for Nix, nix profile rollback).

Updating & Uninstalling (opens in a new tab) Slash Commands Reference (opens in a new tab)

Why is my model rejected with errors like 401, “model not supported” or no provider configured?

“No inference provider configured” means Hermes has nothing to talk to yet: run hermes setup or hermes model and sign in or add a key. A 401 or invalid-key error means the credential is missing, expired or for the wrong provider (an OpenAI key won't work on OpenRouter); re-enter it with hermes model and check ~/.hermes/.env for conflicting entries.

“Model not found” or a 400 on the first run usually means the model id doesn't exist on that provider, or your plan or credits don't cover it. Messages like “model is not supported when using Codex with a ChatGPT account” are plan entitlements. Pick a model the provider actually lists in hermes model.

/status shows the active model and provider, and hermes doctor checks the setup. Remember /model only lists providers you've already configured.

FAQ & Troubleshooting (opens in a new tab) Credential Pools (opens in a new tab)

Why is Hermes slow or laggy, and should I reinstall?

Reinstalling rarely helps. Slowness usually comes from the model (large reasoning models and busy providers are slow), a long session, or a heavy prompt with many tools. First make sure you're on the latest version (hermes --version, hermes update).

Then try a faster model, start a fresh session with /new (or /compress a long one), and disable toolsets and MCP servers you don't use. In Desktop, turn on tokens per second in the status bar to see whether the model itself is slow. For local models, make sure the model fits in GPU memory, since spilling into system RAM is much slower.

If it's still slow, hermes doctor and hermes logs help find the cause, and hermes debug share produces a report you can give to helpers.

FAQ & Troubleshooting (opens in a new tab) Hermes Desktop (opens in a new tab) Local Models (opens in a new tab)

Updates on Windows fail or take a very long time. How do I fix that?

Windows locks files that running programs are using, so close Hermes Desktop windows and other Hermes processes before updating, and follow any diagnostic naming a specific process; don't kill every Python process. hermes update --plan, the update log and hermes pm status show what failed, and the log is in the profile's logs/update.log.

If security software quarantined updater files, repair the installation and review the quarantine report rather than turning protection off. The Nous team has said on X that failures are often Windows file permissions (“Access is denied” in Hermes' tools folder) and that Smart App Control can block a locally built Desktop app.

If you'd rather avoid local builds, the MSIX package (Windows 11 22H2 or later) or the Microsoft Store version ships prebuilt and updates through the app or the Store.

Updating & Uninstalling (opens in a new tab) Windows (Native) Guide (opens in a new tab) Nous Research team reply on X (October 2026) (opens in a new tab)

Do I have to restart the gateway after changing settings?

Sometimes. Many settings apply without a restart: model.context_length and compression.* take effect on the next message, approvals.deny changes apply immediately, and some session settings apply to the next new session. In a session, /reload picks up new keys from .env, /reload-mcp reloads MCP servers and /reload-skills rescans skills.

Display settings like display.tool_progress, Telegram command-menu changes, platform credentials and unloading plugin code need a restart. Use hermes gateway restart, or /restart from a chat, which waits for active turns to finish.

Desktop's Messaging page shows a Restart now banner whenever a credential change needs one.

Configuration (opens in a new tab) FAQ & Troubleshooting (opens in a new tab) Slash Commands Reference (opens in a new tab)

Why can’t Hermes find node, nvm or pyenv in its terminal?

Hermes builds each session's shell environment from a bash login shell, which doesn't read ~/.bashrc by itself. Hermes sources ~/.bashrc automatically, but tools set up in ~/.zshrc or a standalone init file can stay invisible, especially under systemd.

List the extra files under terminal.shell_init_files in config.yaml, for example ~/.zshrc or ~/.nvm/nvm.sh. Setting that list replaces the default ~/.bashrc auto-source, so include it too if you need both. On macOS, if the gateway can't find tools you installed later, rerun hermes gateway install to re-capture your PATH.

FAQ & Troubleshooting (opens in a new tab)

Hermes seems less capable than before. What should I check?

The docs give a checklist. First confirm the model with /status or /model: a /model switch is session-only by default, and model changes from the dashboard apply only to new sessions. Next check context pressure with /usage or /context, and run /compress or /new if the session is long.

Then check the context length shown at startup and set model.context_length if it's wrong. Finally, remember memory is a frozen snapshot, so something saved mid-session only appears in the next session.

Troubleshooting: My Agent Feels Dumber (opens in a new tab)

My local model server errors out or goes quiet on long chats. What’s wrong?

Usually the context length Hermes assumes doesn't match the server. Set model.context_length, or a per-model context_length under providers, to the window your server really uses, such as llama.cpp's --ctx-size. Otherwise Hermes may stop with a message that compression couldn't shrink the request enough.

On single-slot servers like Ollama or LM Studio, a too-large rejection can mean a background memory review is holding the slot, so wait and /retry. For timeouts on very large contexts, set HERMES_STREAM_READ_TIMEOUT=1800 in .env.

FAQ & Troubleshooting (opens in a new tab) Local LLM on Mac (opens in a new tab)

The Weekly Watch is coming

Every Hermes Agent change that matters, explained in five minutes.

We'll only use your email to send the newsletter. Unsubscribe anytime. Privacy

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.