
How to Use Hermes Agent (Nous Research) More Effectively
Quick answer: Hermes Agent is Nous Research's open-source, self-hosted, model-agnostic autonomous agent, and it is not the Hermes 2/3/4 chat LLMs. Nous actually says those discounted chat models are poor choices to run the agent on, so use a frontier tool-call-tuned model. You bring your own provider and key, install with one command, and reach the agent across 20-plus messaging surfaces. Getting more out of it comes down to three things: pick the right model, give specific natural-language instructions, and respect the security model, since Nous states plainly that the operating system, not any in-app gate, is the only real boundary against a misbehaving model.
If you have been anywhere near AI news in 2026, you have probably seen "Hermes" attached to two very different things, and it is worth untangling them before anything else.
Hermes Agent is Nous Research's open-source, self-hosted autonomous agent: a program you run that can use tools, run shell commands, remember things across sessions, and reach you across your messaging apps. The Hermes 2, 3, and 4 models are something else entirely: chat and reasoning LLMs, also from Nous. Same name, same lab, different products. And here is the part that trips people up: Nous's own documentation says the discounted Hermes chat models are a poor choice to actually run the agent on. So this whole guide is about the agent, and one of its first pieces of advice is to not run it on the LLMs it shares a name with.
What Hermes Agent actually is
Strip away the marketing and Hermes Agent is a self-hosted process that takes natural-language instructions and carries them out with real tools. Its defining feature, in Nous's framing, is what they call a closed learning loop. After it finishes a complex task, it can write up what worked as a reusable skill, and it curates a persistent memory that carries facts across sessions, with full-text search over its own past conversations. Nous describes this as the agent getting better the longer you use it.
Two honest notes on that. First, "self-improving" is Nous's own description of documented features, not an independently benchmarked result, so read it as what the software is built to do, not a measured efficacy claim. Second, the loop splits cleanly into two stores worth understanding: memory is for facts (your environment, your preferences, where your projects live: the "what"), and skills are for procedures (reusable multi-step how-tos: the "how"). Managing those two deliberately is one of the real levers on how well it works.
It is also genuinely model-agnostic with no lock-in. You bring your own provider and API key, whether that is Nous Portal, OpenRouter, OpenAI, Anthropic, DeepSeek, a local Ollama model, or any OpenAI-compatible endpoint, and you switch models with a single hermes model command, no code changes. The docs cite support for 100-plus providers.
The traction numbers you will see quoted are real but slippery. Hermes Agent reached number one on OpenRouter's global token rankings, which measures volume of tokens processed, not a curated app list, and it has topped several category leaderboards. Treat that as a position it reached on a given day, not a permanent standing, because those rankings move daily. The GitHub star count is similarly fluid, with figures reported across sources ranging widely, so do not anchor on any single number. This is a fast-moving project that shipped in early 2026 and is still changing quickly, a theme worth keeping in mind for everything below.
Installing and setting it up
Installation is about as light as it gets. On Linux, macOS, or WSL2 it is a single curl-piped shell script; on Windows it is a PowerShell one-liner; and there is a native desktop installer if you would rather not pipe a script into your shell. Nous advertises the whole thing at around a minute, though one of their own subpages says under two minutes, so calibrate expectations accordingly.
After install, you point it at a model. The interactive path is hermes model, which walks you through picking a provider and model, or you can set keys directly with hermes config set. If you are using Nous Portal, hermes setup --portal does the OAuth login and the provider, model, and gateway configuration in one step. Your secrets land in ~/.hermes/.env and your settings in ~/.hermes/config.yaml, which is handy when you want to check what is actually configured.
The other thing that makes it feel different from a plain CLI tool is the gateway. Hermes Agent runs as one background process that can deliver the agent to 20-plus surfaces: the CLI, Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, SMS, and more, connected with hermes gateway setup. That is the appeal and, as we will get to, the risk: it is an always-on assistant you can text.
Because the project is moving fast, treat the exact flags, paths, and provider counts here as current-as-of-writing and check them against the version you install, so you do not paste a command that changed last month.
Best practices that actually move the needle
Three things matter more than the rest.
Pick the right model. This is the one people get wrong because of the name collision. Nous's docs are blunt: the Hermes-4-70B and 405B models are available on the Portal at deep discounts, but they are chat and reasoning models, not tool-call-tuned, and they will struggle with the multi-step tool loops an agent lives on. Use a frontier, tool-call-tuned agentic model instead. This is a vendor telling you not to save money on its own product, which is exactly the kind of advice worth trusting.
Be specific. The single most reliable way to get better results out of any agent, and one the docs call out directly, is to front-load detail. "Fix the code" produces vague work. "Fix the TypeError in api/handlers.py on line 47, here is the exact error text" produces action. The docs put it plainly: the more specificity you give up front, the fewer clarification rounds you spend. Name the file paths, the line numbers, the error messages, the behavior you expect.
That advice has an obvious friction problem, which we will come back to at the end: the specific instruction is the long one, and typing the long one is work.
Manage memory and skills on purpose. Since memory holds facts and skills hold procedures, you get compounding value by letting the agent build both instead of re-explaining your setup every session. That is the closed loop doing its job, but it only pays off if you feed it clear, real work to learn from.
The security model, stated honestly
This is the part you cannot skip, because an always-on agent with shell access is a different risk category from a chatbot.
Nous is refreshingly candid here, and their own words are the right thing to lead with: the operating system is the only real security boundary against an adversarial or misbehaving model, and nothing inside the agent process constitutes containment. Read that carefully. The in-process approval gate, the pattern scanners, the output redaction, the tool allowlists: those are heuristics running over a string the model influenced. They catch cooperative-mode mistakes, not a model that is actively working against you. As the docs note, shell is Turing-complete, so any denylist over shell commands is structurally incomplete.
So what do you actually do? You lean on real isolation, not the in-app checks. Hermes Agent ships six terminal execution backends with escalating isolation: Local (no isolation at all), Docker (a hardened container), SSH (a network boundary), Modal (a cloud VM sandbox), Daytona (a managed workspace container), and Singularity/Apptainer (HPC-style namespace isolation). The rule of thumb from the docs is to run anything untrusted, unfamiliar repositories or code you did not write, inside Docker or Daytona rather than on the Local backend. The Docker backend applies concrete hardening, dropping Linux capabilities down to a minimal set, setting no-new-privileges, capping process counts, and mounting size-limited tmpfs with nosuid and noexec.
There are in-process controls too, and they are useful as long as you remember they are not boundaries: a per-command approval gate with once, session, always, and deny options (the docs advise defaulting to "session" and thinking hard before "always"), a smart mode where an auxiliary model auto-approves low-risk commands and escalates uncertain ones, and a hardline blocklist for things like rm -rf / and fork bombs that refuses even under a yolo flag or a headless cron run. Good layers. Not containment.
And if you expose the agent through the gateway, never set the allow-all-users flag on a bot that can run terminal commands. Use per-platform allowlists so only you, or people you trust, can talk to it.
Where dictation fits
Come back to that friction problem from earlier. The advice that most improves an agent like this, be specific and name the file and the line and the error, is exactly the advice people skip, because the specific version is the long version, and typing the long version feels like a chore. So you send "fix the login bug" instead of the three sentences that would have pinned it down.
An agent this capable is only as good as the instruction you hand it. Talking is the cheapest way to make the good instruction the easy one. When you can say the whole thing out loud, the exact path, the line number, the error text, the behavior you want, you tend to actually include it, instead of trimming it down to fit what you are willing to type. That is the same argument we make for AI work generally in whether talking to AI beats typing, and it is really a context problem, which we get into in how to give AI better context.
That is what Ducktate is for. You hold a key and talk your full instruction into the Hermes CLI, a chat window, or a note, and it transcribes on your Mac so the audio never leaves your computer. You are not trying to talk faster than you type. You are trying to give a capable agent the specific instruction it needed all along, and your mouth is the fastest way to get the whole thing out.
Frequently asked questions
Is Hermes Agent the same as the Hermes LLM?
No. Hermes Agent is an open-source autonomous agent from Nous Research: a self-hosted program that runs tools and shell commands for you. The Hermes 2, 3, and 4 models are separate chat and reasoning LLMs. They share a name and a maker, but they are different things, and Nous's own docs say the discounted Hermes chat models are poor choices to actually run the agent on.
What model should I run Hermes Agent on?
A frontier, tool-call-tuned agentic model. Nous explicitly advises against the discounted Hermes-4-70B and 405B for the agent, because they are chat and reasoning models, not tuned for tool calls, and will struggle with multi-step agent loops. Hermes Agent is model-agnostic, so you bring your own provider and key and switch models with one command.
Is it safe to run an agent that can execute shell commands?
Only if you isolate it. Nous states directly that the operating system is the only real security boundary against a misbehaving model, and that the in-app approval gate is a heuristic, not containment. The practical answer is to run anything untrusted inside one of the container backends, like Docker or Daytona, rather than trusting the in-process checks.
How do I install Hermes Agent?
On Linux, macOS, or WSL2 it is a single curl-piped shell script, with a PowerShell one-liner on Windows and a native desktop installer as an option. Nous advertises setup in about a minute. After install you configure your provider and model with the hermes model command, or run hermes setup --portal to do the OAuth login and configuration in one step.
Think out loud. Ducktate writes it down.
On-device transcription that files your ideas and meetings as searchable notes.
Get early access