Previous chapters covered what Hermes is, how it differs from chat-based AI tools, and what its interfaces look like. This chapter is about getting it onto a machine so you can use it.
Installing a is fundamentally different from two things you might compare it to. Deploying a website means pushing code to a hosting platform — the code runs on their servers, not yours. Installing a desktop app means downloading a closed package — it runs locally, but you cannot change how it works or have it run background services on its own.
Installing Hermes is closer to setting up a development environment. You end up with software on your hardware that can execute tools, persist state, and run background services — under your control, on your machine. That distinction is the whole point: Hermes is not a hosted service. It is a local tool that becomes whatever you configure it to be.
On Linux, macOS, or WSL2, open a terminal and run:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashOn Windows (native, early beta), open PowerShell:
irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iexOne command does all of the following. Watch for each confirmation line in the terminal output:
If the installer requests sudo, it is only for optional system packages (ripgrep, ffmpeg). The core install works without elevated privileges. Decline sudo and those tools are skipped — file search uses a slower fallback, voice transcription won't work, but everything else runs fine.
After the installer finishes, you need to tell Hermes how to reach an AI model. Without a model provider and API key, the agent has no brain to think with.
hermes setupThe wizard walks you through three decisions:
hermes model.hermes doctor.hermes tools.The install command is the same everywhere. What differs is what happens after install — and that depends on what you need the agent to do. Start local. Move to VPS when you need always-on services. Add Docker when you want reproducibility or isolation.
Your laptop or desktop
Good for
Learning, testing, on-demand sessions at the terminal. Easiest to reason about — everything is in front of you. After install, open a new terminal and type hermes.
Limitation
When your laptop sleeps or loses internet, the agent stops. Gateway and cron only work while the machine is awake and connected.
Verify
Run hermes doctor. If everything passes, you are ready.
Hermes is a worker, not a website. If you have an agent that edits your website, the website still needs its own hosting (Netlify, Vercel, GitHub Pages). Hermes does not replace that. It is the worker that makes changes, opens pull requests, runs tests, and deploys — but the product it works on lives where it has always lived.
Where the runtime lives — a VPS, container, or laptop. Needs Python, internet, and a model provider. Does not need to be publicly accessible (except the gateway for incoming messages).
Where the thing you are building lives — a website on Netlify, a repo on GitHub, a database on AWS. Hermes interacts with these through tools and APIs, but does not host them.
Installing places the runtime on a machine — the same code, tools, and directory layout regardless of what you plan to do with it. Configuring tells the runtime which model to use, which tools to enable, and how the agent should behave. The installer handles the first part. The setup wizard bridges into the second. But configuration is ongoing — you will adjust profiles, add skills, and refine memory long after the initial install.
Places the Hermes runtime on a machine. One install supports any number of agent configurations.
Defines what your agent actually is — its profile, skills, personality, and secrets. This continues long after install.
Work through this checklist after install and setup. If any step fails, hermes doctor is your first stop for diagnosis.
Some rules are the same no matter where Hermes runs. These are the ones that catch people off guard:
You have Hermes running on your laptop with a Telegram bot configured. The gateway works when you are at your desk, but messages go unanswered overnight. What needs to change?