This page covers the most common setup and runtime errors encountered with Hermes USB Portable, along with their causes and step-by-step fixes. If you are seeing an issue not listed here, run the built-in diagnostics withDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/techjarves/Hermes-USB-Portable/llms.txt
Use this file to discover all available pages before exploring further.
hermes doctor or check the launcher’s Advanced Options → Run Doctor.
First-run setup fails or times out
First-run setup fails or times out
Cause: The first-run setup downloads approximately 600 MB of runtime files (Python, Node.js, uv, and the Hermes Agent source). A dropped or restricted internet connection will cause it to fail or hang.Corporate and school networks commonly block the CDN endpoints used by Node.js and GitHub Releases, which are required during setup.Fix:The launcher will detect the missing
- Verify your internet connection is active and stable.
- If you are on a corporate or school network, try connecting through a VPN to bypass firewall restrictions on Node.js CDNs and GitHub.
- Delete the
.cache/folder to remove any partially downloaded files:
ready.flag and restart setup from scratch.Do not delete the
data/ folder — it contains your API keys, sessions, and memories. Only .cache/ needs to be removed to trigger a clean reinstall of the runtimes.macOS: "cannot be opened because the developer cannot be verified"
macOS: "cannot be opened because the developer cannot be verified"
Cause: macOS Gatekeeper blocks execution of files downloaded from the internet that lack an Apple developer signature. This removes the quarantine extended attribute from the entire folder, allowing all scripts and binaries inside it to run without Gatekeeper prompts.
launch.sh (and launch.command) will trigger this warning on first open.Fix — Option 1: Right-click to open- In Finder, right-click
launch.sh(orlaunch.command). - Select Open With → Terminal.
- Click Open in the security dialog that appears.
Windows Defender flags the launcher scripts
Windows Defender flags the launcher scripts
Cause: This is a false positive. Windows SmartScreen flags PowerShell scripts that download files from remote sources (the Hermes setup script pulls from GitHub Releases and the Node.js CDN), even when the scripts themselves are benign.Fix:
- When the SmartScreen dialog appears, click “More info”.
- Click “Run anyway” to allow execution.
The setup scripts are fully open-source and human-readable. You can inspect them yourself in the
scripts/ directory before running — scripts/setup-windows.ps1 for Windows and scripts/setup-unix.sh for macOS/Linux.Hermes is running slowly from the flash drive
Hermes is running slowly from the flash drive
Cause: Older USB 2.0 drives have significantly slow read/write speeds (typically 10–25 MB/s). Python’s module import system performs many small, sequential file reads at startup — this is severely bottlenecked by USB 2.0 I/O, making launch times feel sluggish and commands feel unresponsive.Fix:Upgrade to a faster storage medium. In order of preference:
Look for USB 3.0 or higher (blue port on the host) and ensure the drive is also USB 3.0-rated on the device side.
| Storage Type | Typical Read Speed | Suitability |
|---|---|---|
| USB 2.0 flash drive | 10–25 MB/s | ⚠️ Slow — not recommended |
| USB 3.0 flash drive | 80–150 MB/s | ✅ Good |
| USB 3.1 / 3.2 flash drive | 150–400 MB/s | ✅ Better |
| External SSD (USB 3.x) | 400–1000 MB/s | ✅ Best |
Playwright / Web Browser tools are failing
Playwright / Web Browser tools are failing
Cause: Some operating system sandboxing policies prevent Chromium and other browsers from launching when their binaries are located inside an external or removable drive directory. This affects Hermes’s web browsing and screenshot tools, which are powered by Playwright.Fix:Copy the entire Running from the local SSD also improves overall performance significantly. Your
hermes-portable folder from the USB drive to your local SSD, then run the launcher from that location:data/ folder and all personal files will be in the copied location — remember to sync changes back to the USB drive if portability is important.Gateway shows "Stopped (stale lock)"
Gateway shows "Stopped (stale lock)"
Cause: The launcher stores the gateway’s process ID in After deleting the file, the launcher will show “Stopped” (clean state) and you can start the gateway normally.
data/gateway.pid. If the gateway process was killed unexpectedly (e.g. system shutdown, kill, or a crash), the PID file remains on disk but the process no longer exists. The launcher detects this mismatch and shows “Stopped (stale lock)”.Fix — Option 1: Restart the gateway via the launcherSelect [3] Start Gateway from the main menu (or [4] Advanced Options → [4] Restart Gateway). The launcher will overwrite the stale lock file automatically when it starts a new gateway process.Fix — Option 2: Delete the PID file manuallyvenv not found after reboot (macOS / Linux)
venv not found after reboot (macOS / Linux)
Cause: On Unix systems (macOS and Linux), the Python virtual environment (This rebuild is fast because the Python packages do not need to be re-downloaded — they are read from the local
venv) is intentionally created in a temporary local directory (/tmp on Linux, or $TMPDIR on macOS) rather than on the USB drive itself. This avoids filesystem limitations of exFAT-formatted drives, which do not support the hard links that Python’s venv module requires.Because /tmp is cleared on reboot, the venv disappears after a system restart.Fix: No manual action required. The launcher automatically detects that the venv is missing and rebuilds it from packages cached on the drive:.cache/ on the drive. The launcher then resumes normally.This behaviour is by design. The drive cache ensures the rebuild works even without an internet connection after first setup.
Setup seems stuck at 'Installing Hermes Python dependencies'
Setup seems stuck at 'Installing Hermes Python dependencies'
Cause: Installing Hermes’s Python dependencies involves downloading and compiling several packages. On a slow internet connection or a USB 2.0 drive, this step can legitimately take 3–10 minutes and may appear frozen even when progress is occurring in the background.Fix:
- Wait. Allow at least 15 minutes before assuming the setup has truly frozen. The terminal may appear idle while packages are being fetched and installed.
- If setup is still stuck after 15 minutes, cancel it (press
Ctrl+C), delete the.cache/folder, and relaunch: