How-To Guide
Hermes Desktop Install Troubleshooting on Windows
Fix Hermes Desktop installation on Windows: PATH, enterprise npm proxy, missing dependencies, endless loading, provider setup, native Windows limits, and WSL2 choices.
Quick answer
If Hermes Desktop will not install on Windows, first open a new PowerShell window and run Get-Command hermes, hermes --version, and hermes doctor. If the GUI bootstrap fails, use the official native Windows PowerShell installer to separate Hermes core installation from the Desktop interface. Corporate npm proxies must mirror every dependency required by the current lockfile; do not work around a missing package by downloading random bundles. Use WSL2 only when you need POSIX behavior or the dashboard's embedded terminal pane.
This guide owns one job: diagnose a failed or stuck Hermes Desktop installation on Windows 10 or Windows 11. It follows the current native-Windows install boundary from the official Hermes documentation: the Desktop installer and PowerShell installer share the same %LOCALAPPDATA%\hermes runtime and data directory, while WSL2 is a separate install. If maintaining local dependencies, provider keys, and an always-on runtime is the problem rather than the goal, compare the managed FlyHermes path before adding more infrastructure.
Managed cloud · API costs included · Skill library · Cancel anytime
Before you start:
- ☑Windows 10 or Windows 11 with PowerShell or Windows Terminal
- ☑Permission to write to
%LOCALAPPDATA%\hermesand update your User PATH - ☑Public npm access, or an enterprise npm proxy that mirrors the current Hermes dependency lockfile
- ☑One model-provider login or API key for the post-install smoke test
- ☑A copy of the exact installer error and the time it occurred; never share API keys or bot tokens
Steps
- 1
Capture the failing stage before reinstalling
Record whether the failure happens while downloading Desktop, provisioning Python/Node/PortableGit, cloning Hermes, installing Python or npm dependencies, opening the app, or sending the first model request. A bootstrap error, PATH error, and provider error need different fixes.
- 2
Open a new PowerShell session and verify PATH
Close the terminal used during installation, open a new PowerShell window, then run
Get-Command hermesandhermes --version. The native installer updates User PATH, but existing terminals do not inherit that change. - 3
Separate Desktop from the Hermes core install
If the GUI bootstrap failed, run the official native installer:
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1). Then runhermes doctor. A working CLI proves the core runtime is healthy even if Desktop still needs repair. - 4
Check the native Windows install directories
Confirm the disposable code and virtual environment live under
%LOCALAPPDATA%\hermes\hermes-agent, while config, auth, skills, sessions, and logs live directly under%LOCALAPPDATA%\hermes. Do not delete the whole Hermes root if you want to preserve user data. - 5
Diagnose enterprise npm proxy failures
If the error names an unavailable npm package or version, test that exact dependency against the approved registry. Ask IT to mirror the current lockfile dependencies or temporarily permit the public npm registry. Do not freeze an old package version from a support thread into your permanent setup.
- 6
Verify Node and command shims
Run
node --version,npm --version, andGet-Command npx.cmd. Current native Windows setup provisions Node for browser and bridge features. If an older system Node shadows the managed install, fix PATH ordering rather than invoking extensionless Unix shims. - 7
Run the smallest provider smoke test
Use
hermes modelorhermes setup --portal, then runhermes chat -q "Reply with OK". If Desktop loads forever but this command fails too, diagnose provider auth, credits, or network access before rebuilding the interface. - 8
Choose native Windows or WSL2 deliberately
Stay native for the CLI, Desktop, gateways, cron, browser tools, MCP, and the normal dashboard. Use WSL2 when you specifically need POSIX semantics or the dashboard
/chatembedded terminal pane. Native and WSL2 keep separate Hermes homes, so do not troubleshoot them as one install. - 9
Test Desktop with one local profile
Launch Desktop only after the CLI smoke test passes. Select the same provider/profile, send one harmless prompt, and inspect the exact log time if the interface remains loading. Add a remote backend only after local Desktop works.
- 10
Escalate with a redacted diagnostics packet
Include Windows version, Desktop version, install method, exact failing stage,
hermes --version,hermes doctorsummary, Node/npm versions, registry/proxy context, and redacted logs around one controlled retry. Remove tokens, keys, usernames, and private URLs.
Pro Tips
- 💡Use the PowerShell installer as a diagnostic lane, not as a second mystery install: Desktop and native CLI share the same Windows runtime directory.
- 💡A new PowerShell window is the first PATH fix; manually appending directories can hide the real installer state.
- 💡On corporate machines, verify the exact registry configured by
npm config get registrywithout copying authentication tokens into support messages. - 💡If the installer names one missing npm package, verify registry availability before repeatedly deleting the whole install.
- 💡Keep
%LOCALAPPDATA%\hermesuser data when reinstalling; remove only the disposablehermes-agentsubdirectory unless you intentionally want a full reset. - 💡Use
hermes doctorafter every repair so dependency problems are separated from provider and gateway problems. - 💡Do not debug a remote backend, Docker socket, Desktop UI, and model provider in the same retry.
- 💡Native Windows supports the normal dashboard, but its embedded terminal pane needs WSL2; that limitation is not a failed Desktop install.
- 💡For an always-on business agent, installation success is not uptime. You still own Windows login tasks, provider credits, updates, backups, and channel delivery.
- 💡Choose FlyHermes when browser/mobile access and managed uptime matter more than maintaining a Windows or VPS runtime.
Troubleshooting
❌ `hermes` is not recognized immediately after installation
✅ Open a new PowerShell or Windows Terminal session, then run Get-Command hermes. The installer writes User PATH, but the terminal that launched it keeps the old environment.
❌ Desktop bootstrap fails on a package missing from an enterprise npm proxy
✅ Confirm the package and version against the approved registry, then ask IT to mirror the current lockfile dependencies or allow a bounded public-registry install. A random portable bundle is not a safe substitute.
❌ Desktop remains on a loading screen
✅ Run hermes doctor and a one-line hermes chat -q test first. If CLI chat fails, fix provider/auth/network. If CLI works, capture Desktop version, profile, and redacted logs around one clean launch.
❌ `WinError 193` or a command is not a valid Win32 application
✅ Use the Windows .cmd shim such as npx.cmd; a hardcoded extensionless shebang script cannot be launched directly by Windows CreateProcess.
❌ Browser tools fail after Desktop installs
✅ Run hermes doctor, verify Node/npm resolution, then follow the printed Chromium or Playwright repair. Browser dependency failure does not require deleting Hermes memory or profiles.
❌ The dashboard works but the `/chat` embedded terminal does not
✅ That pane requires a POSIX PTY and is not supported on native Windows. Use WSL2 for embedded terminal behavior; the rest of the dashboard can remain native.
❌ Native Windows and WSL2 show different sessions or configuration
✅ They are separate installs by design: native uses %LOCALAPPDATA%\hermes, while WSL2 uses ~/.hermes. Pick the runtime you intend to operate and copy only deliberate state.
❌ Desktop connects to a remote backend but tools fail
✅ Prove local Desktop first, then check which machine executes agent tools, the remote service account, Docker or filesystem permissions, and conflicting environment overrides. Use the dedicated remote-backend guide.
❌ Reinstall removed the app but old errors persist
✅ The uninstall path preserves %LOCALAPPDATA%\hermes user data. Inspect config, provider, and logs before doing a destructive full reset; back up memory, skills, sessions, and auth first.
❌ Hermes installs but the business workflow goes offline after logout
✅ Install and verify the Windows gateway login task, or use a managed hosted path. A successful Desktop install is not proof of 24/7 process supervision or messaging delivery.
FAQ
Does Hermes Desktop support Windows 11?
Yes. Current official documentation supports native Windows 10 and Windows 11, and recommends the Desktop installer or native PowerShell installer.
Do I need WSL2 for Hermes Desktop?
No. CLI, Desktop, gateways, cron, browser tools, MCP, and the normal dashboard run natively. Use WSL2 for POSIX semantics or the dashboard's embedded terminal pane.
Where does Hermes install on native Windows?
The runtime is under %LOCALAPPDATA%\hermes\hermes-agent; config, auth, skills, sessions, and logs live under %LOCALAPPDATA%\hermes.
Why is Hermes not on PATH after installation?
The installer updates User PATH, but already-open terminals keep the old environment. Open a new PowerShell window and run Get-Command hermes.
What if my company blocks a required npm package?
Ask IT to mirror the current lockfile dependencies or permit a bounded install from the public npm registry. Do not bypass company policy or download unverified bundles.
Can I reinstall without deleting my Hermes data?
Yes. The normal uninstall/reinstall replaces the hermes-agent runtime directory and preserves the rest of %LOCALAPPDATA%\hermes. Back up first anyway.
Why does Desktop load forever after installation?
Separate UI from runtime: run hermes doctor and one CLI chat test. Provider auth, network, credits, or a partial dependency install can all appear as an endless Desktop load.
When is FlyHermes the better Windows option?
Use FlyHermes when the goal is managed browser/mobile access, connected channels, and uptime without maintaining Windows dependencies, provider keys, login tasks, updates, or a VPS.
Related setup and cost guides
Install Hermes Agent
Use the official installer and prove one provider response before adding Desktop or channels.
Hermes troubleshooting
Diagnose install, provider, tool, Docker, and gateway failures in the right order.
Connect Desktop to a remote backend
Move from a working local Desktop to a remote Hermes runtime without confusing execution boundaries.
Hermes dashboard and Web UI
Understand native Windows dashboard support and the WSL2-only embedded terminal pane.
Provider costs and rate limits
Separate provider auth, credits, stream stalls, and model availability from Desktop installation.