Platforms / Comparison

Hermes vs. OpenClaw vs. Claude Code

Hermes is the host to run when the work is ongoing business operations, OpenClaw is the host to run when the agent should live in the messaging channels your team already uses, and Claude Code is the host to run when the work happens inside a repository. All three load a folder holding a SKILL.md file, so the skill format is not the deciding factor. Install path, memory, approvals, and who pays for the tokens are.

01

What actually differs between the three hosts?

Most comparisons of these three start in the wrong place. The feature lists look nearly identical, because all three are agent harnesses with tools, skills, and a loop. The differences that decide anything show up in the first week of real use: how the thing installs, where it keeps what it learned, what it does before it touches something irreversible, and which bill arrives at the end of the month.

DimensionHermesOpenClawClaude Code
InstallOne shell script; it provisions the runtimesOfficial installer or a global npm packageInstaller, Homebrew, WinGet, apt, dnf, apk, npm
Skill formatSKILL.md with a hermes metadata blockSKILL.md with an openclaw gating blockSKILL.md with optional invocation fields
MemoryBuilt-in store, searchable from the CLIPlain Markdown: MEMORY.md, daily logs, USER.mdCLAUDE.md you write, auto memory it writes
Approval modelPrompts, then mined into allowlist proposalsFive exec modes plus revocable standing grantsPer-tool prompts, rules in a settings file
CostOpen source; you pay the provider you route toOpen source; you pay the model key you bringNeeds a paid Claude plan or API billing
PlatformsmacOS, Linux, WSL2; native Windows in betamacOS, Linux, WSL2; native Windows unconfirmedmacOS, Windows, Ubuntu, Debian, Alpine
Best forRecurring operations and scheduled jobsAn assistant in the channels you already useRepository work with edits and tests
Checked against each project's own documentation on 2026-09-03.

Read that table by row, not by column. Nobody switches hosts because one has nicer frontmatter. Teams switch because the memory ended up somewhere they could not audit, or because an agent sent something before a human approved it.

02

The install paths, side by side

Install is where evaluations quietly go wrong. One host provisions its own runtime, one wants a specific Node version, and one ships a signed binary through half a dozen package managers. Run all three on the same machine within the same hour, or your notes end up comparing a clean laptop against a year of accumulated toolchain.

Three installs on one machinebash
# Hermes (macOS, Linux, WSL2)
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

# OpenClaw (Node 22.22.3+, 24.15+, or 25.9+)
npm install -g openclaw@latest --allow-scripts=openclaw

# Claude Code (macOS, Linux, WSL)
curl -fsSL https://claude.ai/install.sh | bash

# Claude Code (Windows PowerShell)
irm https://claude.ai/install.ps1 | iex
  • Time each install, then repeat it on a second machine
  • Write down every prompt that asked for a key or a login
  • Print the version string before you file a bug against anything
03

Where do skills and memory live?

Skill locations by hosttext
~/.hermes/skills/<name>/SKILL.md        Hermes, one root for everything
<workspace>/skills/<name>/SKILL.md      OpenClaw, this agent only
~/.openclaw/skills/<name>/SKILL.md      OpenClaw, installed with --global
~/.claude/skills/<name>/SKILL.md        Claude Code, all your projects
.claude/skills/<name>/SKILL.md          Claude Code, this repository only

Skills are the easy half. Every host reads a directory of folders, each holding a SKILL.md with YAML frontmatter, and each adds its own optional keys on top of the shared standard. Memory is the half that decides whether you can audit the agent six months later. Hermes keeps a built-in store you can search from the terminal. OpenClaw keeps plain Markdown: a curated MEMORY.md, dated daily logs, and a user profile file. Claude Code splits the job between the CLAUDE.md files you write and an auto memory directory it maintains for itself, which you can open and edit.

04

Approvals: the row that decides your risk

This is the row to read twice. OpenClaw exposes five exec modes, from deny through allowlist, ask, auto, and full, and keeps standing grants you can list and revoke. Claude Code prompts per tool call, keeps allow, ask, and deny rules in a settings file, and offers a plan mode that reads without writing. Hermes prompts, then lets you mine the approval history into allowlist proposals, which is the right shape once the same three commands keep coming back.

  • Anything that can send mail or publish to a public channel
  • Anything that can spend money or touch a payment method
  • Anything that can delete files, records, or history
  • Anything that can deploy code or rotate a credential
05

Which host should you run?

Match the host to where the work already lives. If the deliverable is a commit, run Claude Code, because the whole loop is built around reading a repository, editing files, and running tests. If the deliverable is a reply, a scheduled report, or a record in somebody else's system, run Hermes or OpenClaw, because both keep a durable identity and a scheduler that lives outside any one project folder.

  • Repository work and code review: Claude Code
  • Recurring operations on a schedule: Hermes
  • An assistant reachable from your chat channels: OpenClaw
06

Run one acceptance test before you commit

Do not pick from a table, including this one. Write one harmless fixture task, something like turning a meeting transcript into a summary saved under a named file, and run it on all three with the same skill installed. Compare four things: how long setup took, whether the approval prompt was legible, whether the output held the same shape twice in a row, and how easily you could stop the run halfway through.

Status checks to run firstbash
hermes skills list        # what Hermes will load this session
openclaw approvals get    # the effective exec policy
claude doctor             # install health and settings errors
Can the same SKILL.md run on all three hosts?

Mostly. All three read a folder with a SKILL.md and YAML frontmatter, so the body of a well written skill transfers. The frontmatter does not: Hermes reads a hermes metadata block, OpenClaw reads an openclaw block that can gate on binaries and environment variables, and Claude Code adds invocation fields of its own. Install it on each host and run the same task before you promise a client it works there.

Which host is safest for a team that is not technical?

The one whose approval prompt your people will actually read. Claude Code asks per tool call and keeps the rules in a settings file. OpenClaw has five exec modes and standing grants you can list and revoke. Hermes prompts, then turns that history into allowlist proposals. Pick one, leave it on the asking mode for the first month, and review what got approved.

Do we have to standardize on just one?

No, and most shops do not. The common split is Claude Code inside repositories and Hermes or OpenClaw for the recurring operations work that lives outside a codebase. Running two costs you context switching and a second approval policy to maintain, so keep the skill bodies identical across them and let only the frontmatter differ.

Put it to work

Set the host up once, correctly

Agent Ready is the free starter pack: one workspace, one approval policy, and three first workflows you can run this week.

Agent Ready / Free beta
Continue the field manual

Related guides