Modified
Getting started with Hermes Agent
Hermes Agent is an autonomous agent from NousResearch. It runs in the terminal, exposes an OpenAI-compatible API, and differs from most others through a closed learning loop — it curates its own memory and builds skills out of what it has done. This guide takes you from install to an agent that remembers.
Official documentation: hermes-agent.nousresearch.com
What makes Hermes different
Most agents start from zero every time. Context disappears when the session ends, and next time you explain the same thing again.
Hermes closes that loop. It curates its own memory as it works, saves skills that survive between sessions, and gradually builds a model of how you work. Recall runs on full-text search combined with model summarisation, so it finds the right piece of old context without shipping all of it.
In practice it gets better at your particular work over time, not just more talkative. The price is that it builds a profile of you — read what it stores before you let it into sensitive workflows.
Before you start
The requirements are light:
- Linux, macOS, WSL2, native Windows or Android via Termux.
- Git and Python 3.11 or later. The install script sets up Python and uv for you if they are missing.
- Model access — either through Nous Portal or your own API key.
The install script installs uv, sets up Python, clones the repo and configures the environment in one pass. Nothing to prepare by hand.
Where should it run?
On your own machine
The right call for Hermes in most cases. The point of the agent is to reach your terminal tools and files — and those live where you work. Run it locally first and move it only if you have a reason.
On a VPS — for long runs
If the agent should keep working while you do something else, or be reachable over its API from several machines, it needs a server that is always on. 2 vCPU and 4 GB RAM is enough; running larger local models needs more.
Hermes builds a memory of your work. That memory sits on the server. Choosing a provider outside the EU means moving your working profile there — a bigger decision than where an ordinary web server lives.
- Inleed — Swedish provider with servers in Sweden and support in Swedish. Data falls under Swedish law.
- Scaleway — French and EU-owned. Also offers GPU instances if you want to run the model yourself.
- Hetzner — German, cheapest per GB of RAM. Good once the memory database grows.
All three sit inside the EU. The difference is how close support is and how much you want to configure yourself.
The Inleed link is an affiliate link — we earn a commission if you sign up. Scaleway and Hetzner are not, and are recommended on merit.
Install
Step 1 — install Hermes
One command. The script fetches uv, sets up Python 3.11, clones the repo and configures the environment.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashcurl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashiex (irm https://hermes-agent.nousresearch.com/install.ps1)Step 2 — configure model and tools
The --portal flag gives you a single OAuth login covering both the language model and the four Tool Gateway tools: web search, image generation, text-to-speech and browser. To use your own API key, run the same command without the flag.
hermes setup --portalStep 3 — start the agent
With no arguments Hermes starts in chat mode. From here it builds the memory.
hermesConnect tools and APIs
Hermes ships with 60-odd built-in tools — terminal access, file operations, web search and memory. Beyond those you plug in your own.
Terminal tools
The agent has direct terminal access from the start, which is both the strength and the risk. It can run your own CLI tools like any other command. Start in a directory where nothing is irreplaceable until you have seen how it works.
External APIs via MCP
For services beyond the machine Hermes uses MCP — the protocol that lets agents talk to external systems through a shared interface. To give it read access to something like Search Console, you add an MCP server for it in the config rather than writing your own code. The same pattern holds for any service with an MCP server.
Common problems
- Command hermes not found
- The script put the binary on your PATH, but the terminal window you already had open does not know that. Open a new one.
- Python version error
- Hermes needs 3.11 or later. The install script sets that up via uv, but an older Python earlier in your PATH can win. Check with `python3 --version`.
- The agent does not remember between sessions
- Memory is written to a local database. If you run Hermes in a container that is discarded on every start, it disappears — mount the memory directory as a volume.
What to do next
The agent runs and remembers. Since it has terminal access and builds a profile of your work, the next step is understanding the limits — what it may touch, where the keys live and what happens to the memory.