How to Install Hermes Agent on Windows: A Complete Troubleshooting Guide
Hermes Agent is an open-source AI agent framework built by Nous Research. It supports multiple inference backends — including OpenAI, Anthropic, and Ollama — and is designed to run locally on your machine. On paper, the installation is straightforward. In practice, Windows users regularly hit a handful of the same walls: GitHub timeouts, PowerShell script restrictions, and large binary downloads that stall or 404.
This guide walks through the full installation process on Windows, explains why each error happens, and gives you a working fix for each one. If you’re already stuck on a specific step, jump to the relevant section below.
Prerequisites: What You Need Before You Start
The installer script checks for these dependencies automatically and tells you what’s missing. Make sure the following tools are already installed before running the script.
| Dependency | Purpose | Required Version |
|---|---|---|
| Python | Runs the agent’s core logic | 3.11.x |
| Git | Clones the repository and handles updates | Any |
| Node.js | Required for browser automation tools | v18 or later recommended |
| ripgrep | Fast file search within the agent | Any |
| ffmpeg | Text-to-speech (TTS) voice messaging | Any |
| uv | Python virtual environment manager | Auto-installed by the script |
When the script detects everything successfully, you’ll see output like this:
[OK] Python found: Python 3.11.15
[OK] Git found (git version 2.54.0.windows.1)
[OK] Node.js v22.23.1 found
[OK] ripgrep 15.1.0 found
[OK] ffmpeg found
Step 1: Run the Official Installer
Open PowerShell and run:
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
The script handles dependency detection, repository cloning, virtual environment creation, and Python package installation automatically. Under normal network conditions, the whole process takes about 3 to 5 minutes.
Issue 1: Git Clone Fails — GitHub Connection Timeout
One of the most common installation failures looks like this:
fatal: unable to access 'https://github.com/NousResearch/hermes-agent.git/':
Failed to connect to github.com port 443 after 21079 ms: Could not connect to server
[X] Installation failed: git fetch failed (exit 128)
Why this happens: The script tries to clone the repository from GitHub over both SSH and HTTPS. If your network blocks or throttles GitHub connections, both attempts fail.
What the script does next: It automatically falls back to downloading a ZIP archive of the repository. You’ll see:
[!] Git clone failed -- downloading ZIP archive instead...
[OK] Downloaded and extracted
This fallback is intentional and produces a fully working installation — the only difference is that git history won’t be initialized, which means the auto-update feature on subsequent runs won’t work. If even the ZIP download fails, you’ll need to route traffic through a proxy before retrying.
Issue 2: Multiple .broken Folders Appearing
After a few installation attempts, you might notice your Hermes directory looks like this:
hermes-agent.broken-20260626-165435
hermes-agent.broken-20260626-170027
hermes-agent.broken-20260626-171749
hermes-agent.broken-20260626-174324
Why this happens: Each time you re-run the installer, it checks whether the existing hermes-agent directory is a valid git repository. If it isn’t — because the previous install used ZIP fallback or failed partway through — the script renames the old directory with a .broken-[timestamp] suffix and starts fresh. One re-run, one new .broken folder.
These directories are safe to delete. They contain leftover files from failed installs and serve no purpose once the installation succeeds.
# Replace YourUsername with your actual Windows username
Get-ChildItem "C:\Users\YourUsername\AppData\Local\hermes" -Filter "*.broken-*" | Remove-Item -Recurse -Force
Issue 3: PowerShell Execution Policy Blocks Scripts
You may see this when trying to activate the virtual environment:
.\venv\Scripts\activate : File cannot be loaded because running scripts is
disabled on this system.
Or this when running npm:
npm : File C:\nvm4w\nodejs\npm.ps1 cannot be loaded because running scripts
is disabled on this system.
Why this happens: Windows restricts execution of .ps1 PowerShell scripts by default as a security measure. This blocks both the virtual environment activation script and npm’s PowerShell wrapper.
Fix 1: Use the .bat and .cmd equivalents instead (recommended — no system changes required)
# Activate the virtual environment
.\venv\Scripts\activate.bat
# Use npm.cmd instead of npm
npm.cmd install
npm.cmd config set registry https://registry.npmjs.org
Fix 2: Change the execution policy for your user account
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force
No restart needed. After running this, .\venv\Scripts\activate will work as expected.
Issue 4: Node.js Dependency Installation Fails or Hangs
Running npm install can fail in two distinct ways.
4a: Electron Download Fails with ECONNRESET
npm error command failed
npm error command C:\Windows\system32\cmd.exe /d /s /c node install.js
npm error RequestError: read ECONNRESET
Why this happens: Electron’s binary package is over 100MB and is downloaded from GitHub Releases during npm install. Slow or unstable connections to GitHub’s servers will cause this download to drop mid-stream.
Fix: Set the Electron mirror to a faster CDN
$env:ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
npm.cmd install
4b: EPERM Permission Error on Cleanup
npm warn cleanup [Error: EPERM: operation not permitted, rmdir ...]
Why this happens: A previous interrupted install left directory handles open. The operating system is still holding locks on those paths.
Fix: Disable antivirus real-time protection temporarily (including Windows Defender), open Command Prompt as Administrator, then clean up and reinstall:
Remove-Item -Recurse -Force node_modules -ErrorAction SilentlyContinue
npm.cmd install
Issue 5: Playwright Chromium Download Is Slow or Returns 404
The installer downloads a Playwright-managed Chromium browser for web automation features:
Downloading Chrome for Testing 149.0.7827.55 (playwright chromium v1228)
from https://cdn.playwright.dev/...
| | 0% of 183.6 MiB
At 183MB served from an international CDN, this download can take a very long time or stall entirely. Switching to the npmmirror CDN sometimes results in a 404:
Error: Download failed: server returned code 404
<Code>NoSuchKey</Code>
Why this happens: Playwright chromium v1228 is a recent release. Mirror services haven’t necessarily synced this specific version yet, so the file simply doesn’t exist at that URL.
Fix: Skip the browser download and get the core agent running first
$env:PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="1"
npm.cmd install
Note: The Playwright browser (Chromium) is an optional add-on for web automation features like screenshots, form filling, and page interaction. If you primarily use Hermes Agent for text conversations, code generation, or file operations, you can skip it entirely for now. You can always install it later when you have a stable connection.
Step 2: Configure Your Inference Provider
Once installation is complete, tell Hermes Agent which AI backend to use:
cd C:\Users\YourUsername\AppData\Local\hermes\hermes-agent
.\venv\Scripts\activate.bat
hermes setup model
This launches an interactive setup wizard. Use the arrow keys to select your provider:
◆ Inference Provider
Choose how to connect to your main chat model.
> Anthropic
OpenAI
OpenRouter
Ollama
...
Choosing the right inference provider:
| Provider | Best for | What you need |
|---|---|---|
| Anthropic | Claude models (Claude 3.5, Claude 3 Opus, etc.) | Anthropic API key |
| OpenAI | GPT-4o, GPT-4 Turbo, and other OpenAI models | OpenAI API key |
| OpenRouter | Access to many models via one API, pay-per-use | OpenRouter API key |
| Ollama | Running open-source models locally at no API cost | Ollama installed locally |
After selecting a provider, the wizard will prompt you to enter your API key.
Step 3: Launch Hermes Agent
Once configured, launching the agent every time takes two commands:
cd C:\Users\YourUsername\AppData\Local\hermes\hermes-agent
.\venv\Scripts\activate.bat && hermes
Tip: Create a desktop shortcut so you can launch with a double-click
Create a new text file on your desktop, name it Launch Hermes.bat, and paste in the following:
@echo off
cd /d C:\Users\YourUsername\AppData\Local\hermes\hermes-agent
call .\venv\Scripts\activate.bat
hermes
pause
Replace YourUsername with your actual Windows username (visible under C:\Users\). From now on, double-clicking this file starts the agent directly — no terminal required.
Installation Flow at a Glance
Run installer script
│
├─ GitHub unreachable → Script falls back to ZIP download → Continues normally
│
├─ npm install fails
│ ├─ Electron download drops → Set ELECTRON_MIRROR
│ └─ Playwright 404 → Set PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
│
├─ PowerShell blocks .ps1 scripts → Use .bat / .cmd equivalents
│
└─ Installation complete
│
├─ hermes setup model (configure API key)
└─ hermes (start the agent)
Frequently Asked Questions
Can I run the installer script more than once?
Yes, but each run that finds an existing non-git directory will create another .broken backup folder before starting fresh. Once the installation is working, there’s no reason to re-run the script unless you want to update to a newer version.
What’s inside the .broken folders — can I delete them?
They contain leftover files from failed or incomplete installs. They have no functional value and can be safely deleted at any time.
If I skip Playwright, what features won’t work?
You’ll lose browser-based automation: opening web pages, taking screenshots, clicking buttons, and filling out forms. Core features — text conversations, code execution, file operations — are unaffected.
The hermes command isn’t found after installation. What do I do?
First, make sure the virtual environment is active. Your prompt should show (venv) at the start. Then try:
python -m hermes
If that also fails, check whether the package installed correctly:
pip show hermes-agent
Is there a way to launch Hermes without opening a terminal every time?
Yes — use the .bat launcher described in Step 3. You can also add it to your Windows startup folder (shell:startup in Run) to have it launch automatically when you log in.
Which local models does Hermes Agent support through Ollama?
Any model that Ollama supports, including Llama 3, Mistral, Qwen 2, Gemma 2, and many others. Running locally means no API costs, but you’ll need sufficient RAM or VRAM depending on the model size.
Does Hermes Agent work with self-hosted or alternative API endpoints?
Yes. OpenRouter in particular acts as a unified gateway to dozens of models. You can also point it at any OpenAI-compatible endpoint by configuring a custom base URL during setup.
Summary
The core installation process for Hermes Agent is not complicated — most blockers come down to network connectivity and a few Windows-specific quirks around script execution policies. Here’s the short version:
-
GitHub unreachable: The installer falls back to ZIP download automatically. No manual intervention needed. -
PowerShell script errors: Use .batfor virtual environment activation andnpm.cmdinstead ofnpm. -
npm install stalls: Set ELECTRON_MIRRORto redirect Electron’s download to a faster CDN. -
Playwright 404: Skip the browser download with PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1and install it separately later.
The .broken directories that accumulate during repeated install attempts are harmless backups — clean them up once everything is running. The browser automation module and the agent core are independent, so you can get the agent working first and add Playwright later when your connection allows.

