buddylist
Download
All guides

Hermes

Hermes contacts run the hermes installed on your computer, with the same providers, config.yaml, SOUL.md, memories, skills and MCP servers.

Set it up. Install Hermes Agent and choose a provider:

hermes model

It isn't bundled. The app finds hermes on your PATH; set BUDDYLIST_HERMES_CLI to use a different one. If Hermes says its ACP dependencies aren't installed, install them the way its message says.

Add a contact. Pick Hermes as the Service in Add a Contact. Models are named provider:model. After your first message the model menu lists the ones from the providers you're signed in to.

You get the same windows as with Claude:

  • streamed replies
  • a line for each command, file read, file change, search and tool call
  • Accept / Always allow / Decline invitations
  • Nudge to stop
  • conversations that pick up where they left off
  • its to-do list
  • Hermes's own slash commands (/tools, /context, /compress, …) in Activities

Hermes's Mode menu decides what it asks before changing a file:

Mode Hermes asks before changing...
Ask before changing files any file
Auto-accept file edits in this folder a file outside the folder, or a sensitive one (.env, .git, keys)
Accept every file edit a sensitive file

In every mode Hermes runs commands without asking, unless it finds one dangerous, like rm -rf or git reset --hard. Only give it folders you don't mind it changing.

Good to know:

  • Always allow is for that kind of command, until you quit the app or start a new chat. buddylist never picks Hermes's own "Allow always", which keeps a command allowed in every folder from then on.
  • A file edit can only be allowed once. To stop being asked, pick an Auto-accept mode.
  • Hermes waits a minute for your answer to an invitation. After that it goes on as if you had declined.
  • A message sent while Hermes is busy waits for its turn.
  • Its thinking isn't shown, and it doesn't report what a reply cost.
  • With a Read only role in a group conversation, Hermes starts in Ask before changing files, and every file change it asks for is declined without asking you. It is told to run only commands that change nothing, but nothing stops one it doesn't find dangerous.

In a contact's worktree Hermes reads the branch's .hermes.md, AGENTS.md or CLAUDE.md, as it would in your main checkout. It doesn't run the plugins in the branch's .hermes/plugins, even with HERMES_ENABLE_PROJECT_PLUGINS set: a worktree's branch can be someone else's pull request. For the same reason, don't add ~/.buddylist/worktrees, or a folder above it, to skills.trusted_project_dirs in your Hermes settings.