Hermes Desktop feature

Hermes Agent Bot Mode

Bot Mode is a view built into the Hermes Desktop app that shows every Hermes profile as a named “bot” with its own persistent chat, model, memory, skills, credentials, avatar, and scheduled routines. Bots can @mention each other, send each other direct messages, and sit together in group chats.

It is bundled with Desktop and on by default: look for the Bots tab next to Sessions in the left sidebar. A Bot is not a new kind of object — it is an ordinary Hermes profile, so everything Bot Mode does is also reachable from the CLI.

Checked against official Nous Research sources on September 26, 2026 (Hermes Agent v0.21.5).

Bot Mode is not a Telegram or Discord bot

“Bot” means four different things around Hermes. Most confusion in search results comes from mixing them up:

TermWhat it isWhere it livesOwner page
Bot Mode botA Hermes profile shown as a named teammate in Desktop, with its own canonical Bot Chat and routinesDesktop Bots tab; files under ~/.hermes/profiles/<name>/This page
Messaging botYour agent reachable from Telegram, Discord, Slack, etc. through the messaging gatewayhermes gateway process plus a platform bot tokenTelegram setup
ProfileAn isolated Hermes configuration: config, memory, skills, credentials, sessionshermes profile createOfficial profiles docs
SubagentA short-lived child agent spawned by delegate_task to do part of one jobInside a running turnOfficial delegation docs

The pieces combine: a Bot Mode bot is a profile, and that profile can also run its own messaging gateway so the same bot answers in Telegram.

Where to find it — and why the Bots tab might be missing

  • Open Hermes Desktop and switch the left sidebar from Sessions to Bots. While the Bots tab is active, a Routines pane docks beside the conversation.
  • Bot Mode is a bundled Desktop plugin. If the tab is gone, check Capabilities → Plugins → Bots; switching it off removes the roster and Routines pane live without touching your profiles, sessions, or cron jobs.
  • Bot Mode was bundled starting with the v0.20.3 tag (August 17, 2026). An older Desktop build will not have it — update Desktop first.
  • Bot Mode is a Desktop feature. The terminal CLI, TUI, and web dashboard have no roster view, but they reach the same bots through profiles (see CLI parity below).

Creating a bot

Click New Agent in the roster. The quick path is three fields — Name, Title, Description — and the bot introduces itself as the first message of its new Bot Chat. Advanced exposes:

  • Clone from an existing profile (config, skills, SOUL.md, memory) or start fresh; Create empty skips bundled skills.
  • Model & provider pin — different bots can run different models side by side; leave it unset to inherit.
  • Custom SOUL.md for persona and standing instructions.
  • Per-skill, per-toolset, and per-MCP-server enablement.
  • Copy API keys from the main profile (on by default). Static API keys are copied; OAuth logins such as Anthropic, OpenAI Codex, and xAI are not — sign the bot in separately with hermes -p <name> auth add <provider>.

Each bot has one canonical Bot Chat that is meant to last forever. Typing /new or /reset there is rerouted to /compact (fresh working context, same conversation). Ordinary sessions on the same profile still get a normal /new.

What each bot owns

Because a bot is a profile, it has its own copy of everything a profile isolates. This is also why a bot does not “know” what your main agent remembers — see Hermes memory for how per-profile memory works.

Owned per botNotes
Config and modelOptional model pin; otherwise inherited from the launch profile
Memory (MEMORY.md, USER.md)Separate from every other bot
Skills, toolsets, MCP serversChosen at creation or later via Edit Profile; see Hermes skills
CredentialsStatic keys copied at creation; OAuth logins signed in per bot
Chat historyThe canonical Bot Chat plus any ordinary sessions
RoutinesHermes cron jobs named [bot:<name>] <routine>; runs land in the bot's own chat
LookAvatar, title, description stored in profile metadata, so every connected Desktop shows the same bot

Group chats and bot-to-bot messages

  • @mentions: type @researcher have a look at this in any chat. The mentioned bot writes its own message with the message_agent tool — your text is not forwarded verbatim — and the reply comes back attributed.
  • Direct messages: every canonical Bot Chat carries message_agent. Delivery is queued; a queued acknowledgement confirms admission, not a finished reply.
  • Group chats: rooms hold 2–6 bots. One message triggers at most 3 serial rounds of member turns with a cap of 10 messages per send, and the room settles when a full round stays silent. Put stop next to a mention (stop @bot) to hold that member.
  • Across machines without Desktop: hermes peer lets bots on one gateway message bots on another gateway directly.
hermes peer (from the official Bot Mode docs)
bash
# Register another machine's gateway as a peer
$hermes peer add spark --url http://spark.lan:8377 --key <API_SERVER_KEY>
$hermes peer list
$
# Send a DM whose body comes from a file
$hermes peer dm spark/researcher < ~/.hermes/cache/scratch/dm.txt

How many bots can run at once

Each local bot runs in its own backend process. Desktop keeps at most Settings → Advanced → Warm Bot Backends alive at once — default 3, roughly 60 MB each. Idle backends are reaped after 10 minutes by default. Opening a bot while every slot is busy waits up to 30 seconds and then fails with timed out waiting for a free local slot; raise the setting if you run large group chats.

The official docs note that an exited (1) line in desktop.log right after an idle-reap message is that cleanup, not a crash. Earlier Desktop builds could spawn a backend per profile on every roster refresh; the v0.21.2 release (September 11, 2026) lists that “spawn storm” as fixed.

Bots on other machines and in Hermes Cloud

Register several backends under Settings → Connections — the local runtime, remote gateways, SSH hosts, or Hermes Cloud instances — and the roster shows bots from all of them. Duplicate names get device handles such as @research-homelab. A bot's chats, memory, and routines stay on the machine that owns its profile; Desktop relays messages between connections while it is running. The Create on picker in New Agent creates a bot directly on another connected machine.

Bot Mode does not keep bots online by itself. A bot whose profile lives on your laptop stops when the laptop sleeps. For always-on bots, the profile has to live on an always-on machine — see Hermes hosting options.

CLI parity

In Bot ModeFrom a shell
Chat with a bothermes -p <bot> chat
A bot's files, skills, memory~/.hermes/profiles/<bot>/
Routineshermes cron list (jobs named [bot:<name>] …)
Create / inspect botshermes profile create, hermes profile list

Timeline

  • Started as a separate public-beta Desktop plugin in the NousResearch/Hermes-Bot-Mode repository.
  • v0.20.3 (August 17, 2026): the Bot Mode plugin is bundled with Hermes.
  • v0.21.0 (August 31, 2026): headlined as built in and default-on, alongside hermes peer bot-to-bot DMs and cron jobs that keep memory between runs.
  • v0.21.2 (September 11, 2026): backend spawn-storm fixes for Bot Mode rosters.
Not tested by this site: Everything on this page comes from the official Bot Mode and Desktop documentation and GitHub release notes. We have not run a multi-bot workload ourselves, so we make no claims about how well bots collaborate or how much a group chat costs in tokens. Every turn from every bot is a separate model call, so group chats multiply model usage.

Primary sources

HermesAgentAI.org is an independent educational documentation resource and community guide. It is not affiliated with, sponsored by, or endorsed by Nous Research or FlyHermes. Hermes Agent is released under the MIT License by Nous Research.

Where to go next