Note: This report was AI-assisted — drafted by an AI agent based on the user's log file and system info. The user reviewed and corrected the OS version and root cause analysis before submission.
Hermes installer (C:\Users\User\AppData\Local\hermes\hermes-setup.exe) fails at the "desktop" stage on Windows. All prerequisite and installation stages succeed (uv, Python, Git, Node, ripgrep/ffmpeg, repository clone, venv, Python dependencies, Node.js dependencies), but the desktop workspace npm install fails with exit code 1. The installer reports bootstrap FAILED and Hermes cannot be used.
The desktop workspace dependencies (including Electron ~150MB) should install successfully, allowing the desktop app to be built and Hermes to start.
bootstrap FAILED stage=Some("desktop") error=desktop workspace npm install failed (exit 1) -- see lines above for cause
C:\Users\User>hermes version
Hermes Agent v0.16.0 (2026.6.5) · upstream 7433d5f0
Project: C:\Users\User\AppData\Local\hermes\hermes-agent
Python: 3.11.9
OpenAI SDK: 2.24.0
Up to date
C:\Users\User\AppData\Local\hermes\logs\bootstrap-installer.log:
2026-06-14T17:12:06.829533Z INFO hermes_bootstrap_lib: Hermes installer starting mode=Install force_setup=false
2026-06-14T17:12:08.863143Z INFO hermes_bootstrap_lib::bootstrap: bootstrap starting pin=Pin { commit: None, branch: Some("main") } kind=Ps1 include_desktop=true
2026-06-14T17:12:08.863330Z INFO bootstrap.log: [bootstrap] using cached install.ps1 for main
2026-06-14T17:12:08.863442Z INFO bootstrap.log: [bootstrap] script C:\Users\User\AppData\Local\hermes\bootstrap-cache\install-main.ps1 via cached
2026-06-14T17:12:09.180727Z INFO bootstrap.log: {"stages":[{"title":"Installing uv package manager","category":"prereqs","name":"uv","needs_user_input":false},{"title":"Verifying Python 3.11","category":"prereqs","name":"python","needs_user_input":false},{"title":"Installing Git","category":"prereqs","name":"git","needs_user_input":false},{"title":"Detecting Node.js","category":"prereqs","name":"node","needs_user_input":false},{"title":"Installing ripgrep and ffmpeg","category":"prereqs","name":"system-packages","needs_user_input":false},{"title":"Cloning Hermes repository","category":"install","name":"repository","needs_user_input":false},{"title":"Creating Python virtual environment","category":"install","name":"venv","needs_user_input":false},{"title":"Installing Python dependencies","category":"install","name":"dependencies","needs_user_input":false},{"title":"Installing Node.js dependencies","category":"install","name":"node-deps","needs_user_input":false},{"title":"Building desktop app","category":"install","name":"desktop","needs_user_input":false},{"title":"Adding Hermes to PATH","category":"finalize","name":"path","needs_user_input":false},{"title":"Writing configuration templates","category":"finalize","name":"config-templates","needs_user_input":false},{"title":"Installing messaging platform SDKs","category":"finalize","name":"platform-sdks","needs_user_input":false},{"title":"Marking install complete","category":"finalize","name":"bootstrap-marker","needs_user_input":false},{"title":"Configuring API keys and models","category":"post-install","name":"configure","needs_user_input":true},{"title":"Starting messaging gateway","category":"post-install","name":"gateway","needs_user_input":true}],"protocol_version":1} stage=__manifest__
2026-06-14T17:12:09.194645Z INFO hermes_bootstrap_lib::bootstrap: manifest received stage_count=16 names=["uv", "python", "git", "node", "system-packages", "repository", "venv", "dependencies", "node-deps", "desktop", "path", "config-templates", "platform-sdks", "bootstrap-marker", "configure", "gateway"]
2026-06-14T17:12:09.194679Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=uv state=Running duration_ms=None error=None
2026-06-14T17:12:09.530280Z INFO bootstrap.log: [OK] Managed uv found (uv 0.11.21 (5aa65dd7a 2026-06-11 x86_64-pc-windows-msvc)) stage=uv
2026-06-14T17:12:09.567401Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":73,"stage":"uv"} stage=uv
2026-06-14T17:12:09.582247Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=uv state=Succeeded duration_ms=Some(387) error=None
2026-06-14T17:12:09.582278Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=python state=Running duration_ms=None error=None
2026-06-14T17:12:09.857159Z INFO bootstrap.log: -> Checking Python 3.11... stage=python
2026-06-14T17:12:10.020070Z INFO bootstrap.log: [OK] Python found: Python 3.11.9 stage=python
2026-06-14T17:12:10.056399Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":214,"stage":"python"} stage=python
2026-06-14T17:12:10.070685Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=python state=Succeeded duration_ms=Some(488) error=None
2026-06-14T17:12:10.070708Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=git state=Running duration_ms=None error=None
2026-06-14T17:12:10.351486Z INFO bootstrap.log: -> Checking Git... stage=git
2026-06-14T17:12:10.428236Z INFO bootstrap.log: [OK] Git found (git version 2.53.0.windows.1) stage=git
2026-06-14T17:12:11.287763Z INFO bootstrap.log: -> Set HERMES_GIT_BASH_PATH=C:\Program Files\Git\bin\bash.exe stage=git
2026-06-14T17:12:11.326550Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":992,"stage":"git"} stage=git
2026-06-14T17:12:11.343473Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=git state=Succeeded duration_ms=Some(1272) error=None
2026-06-14T17:12:11.343503Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=node state=Running duration_ms=None error=None
2026-06-14T17:12:11.634331Z INFO bootstrap.log: -> Checking Node.js (for browser tools)... stage=node
2026-06-14T17:12:11.664998Z INFO bootstrap.log: [!] Node.js v22.8.0 is too old for the desktop build (need ^20.19 or >=22.12) stage=node
2026-06-14T17:12:11.695913Z INFO bootstrap.log: [OK] Node.js v22.22.3 found (Hermes-managed) stage=node
2026-06-14T17:12:11.729902Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":112,"stage":"node"} stage=node
2026-06-14T17:12:11.745220Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=node state=Succeeded duration_ms=Some(401) error=None
2026-06-14T17:12:11.745248Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=system-packages state=Running duration_ms=None error=None
2026-06-14T17:12:12.015717Z INFO bootstrap.log: -> Checking ripgrep (fast file search)... stage=system-packages
2026-06-14T17:12:12.065631Z INFO bootstrap.log: [OK] ripgrep 14.1.0 (rev e50df40a19) found stage=system-packages
2026-06-14T17:12:12.066252Z INFO bootstrap.log: -> Checking ffmpeg (TTS voice messages)... stage=system-packages
2026-06-14T17:12:12.068769Z INFO bootstrap.log: [OK] ffmpeg found stage=system-packages
2026-06-14T17:12:12.106632Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":102,"stage":"system-packages"} stage=system-packages
2026-06-14T17:12:12.121220Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=system-packages state=Succeeded duration_ms=Some(375) error=None
2026-06-14T17:12:12.121246Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=repository state=Running duration_ms=None error=None
2026-06-14T17:12:12.436821Z INFO bootstrap.log: -> Installing to C:\Users\User\AppData\Local\hermes\hermes-agent... stage=repository
2026-06-14T17:12:12.722677Z INFO bootstrap.log: -> Existing installation found, updating... stage=repository
2026-06-14T17:12:13.001793Z INFO bootstrap.log: -> Local changes detected, stashing before update... stage=repository
2026-06-14T17:12:13.600156Z INFO bootstrap.log: Saved working directory and index state On main: hermes-install-autostash-20260615-011212 stage=repository
2026-06-14T17:12:15.477674Z WARN bootstrap.log: stderr: Already on 'main' stage=repository
2026-06-14T17:12:15.481798Z INFO bootstrap.log: Your branch is up to date with 'origin/main'. stage=repository
2026-06-14T17:12:16.742292Z WARN bootstrap.log: stderr: From https://github.com/NousResearch/hermes-agent stage=repository
2026-06-14T17:12:16.742305Z WARN bootstrap.log: stderr: * branch main -> FETCH_HEAD stage=repository
2026-06-14T17:12:17.028571Z INFO bootstrap.log: Already up to date. stage=repository
2026-06-14T17:12:17.036852Z INFO bootstrap.log: -> Restoring local changes... stage=repository
2026-06-14T17:12:17.667666Z INFO bootstrap.log: On branch main stage=repository
2026-06-14T17:12:17.667683Z INFO bootstrap.log: Your branch is up to date with 'origin/main'. stage=repository
2026-06-14T17:12:17.667689Z INFO bootstrap.log: stage=repository
2026-06-14T17:12:17.667699Z INFO bootstrap.log: Changes not staged for commit: stage=repository
2026-06-14T17:12:17.667704Z INFO bootstrap.log: (use "git add <file>..." to update what will be committed) stage=repository
2026-06-14T17:12:17.667708Z INFO bootstrap.log: (use "git restore <file>..." to discard changes in working directory) stage=repository
2026-06-14T17:12:17.667713Z INFO bootstrap.log: modified: package-lock.json stage=repository
2026-06-14T17:12:17.667716Z INFO bootstrap.log: stage=repository
2026-06-14T17:12:17.667722Z INFO bootstrap.log: no changes added to commit (use "git add" and/or "git commit -a") stage=repository
2026-06-14T17:12:17.820216Z INFO bootstrap.log: Dropped stash@{0} (250bf3de699162f3bfefd557088fec3e0ff7d5a5) stage=repository
2026-06-14T17:12:17.825559Z INFO bootstrap.log: [!] Local changes were restored on top of the updated codebase. stage=repository
2026-06-14T17:12:17.826267Z INFO bootstrap.log: [!] Review git diff / git status if Hermes behaves unexpectedly. stage=repository
2026-06-14T17:12:18.042413Z INFO bootstrap.log: [OK] Repository ready stage=repository
2026-06-14T17:12:18.077554Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":5667,"stage":"repository"} stage=repository
2026-06-14T17:12:18.095637Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=repository state=Succeeded duration_ms=Some(5974) error=None
2026-06-14T17:12:18.095663Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=venv state=Running duration_ms=None error=None
2026-06-14T17:12:18.394960Z INFO bootstrap.log: -> Creating virtual environment with Python 3.11... stage=venv
2026-06-14T17:12:18.397702Z INFO bootstrap.log: -> Virtual environment already exists, recreating... stage=venv
2026-06-14T17:12:20.101874Z WARN bootstrap.log: stderr: Using CPython 3.11.9 interpreter at: C:\Users\User\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe stage=venv
2026-06-14T17:12:20.101904Z WARN bootstrap.log: stderr: Creating virtual environment at: venv stage=venv
2026-06-14T17:12:20.108061Z WARN bootstrap.log: stderr: Activate with: venv\Scripts\activate stage=venv
2026-06-14T17:12:20.114886Z INFO bootstrap.log: [OK] Virtual environment ready (Python 3.11) stage=venv
2026-06-14T17:12:20.156149Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":1780,"stage":"venv"} stage=venv
2026-06-14T17:12:20.173727Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=venv state=Succeeded duration_ms=Some(2078) error=None
2026-06-14T17:12:20.173758Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=dependencies state=Running duration_ms=None error=None
2026-06-14T17:12:20.561488Z INFO bootstrap.log: -> Installing dependencies... stage=dependencies
2026-06-14T17:12:20.567209Z INFO bootstrap.log: -> Trying tier: hash-verified (uv.lock) ... stage=dependencies
2026-06-14T17:12:20.605840Z WARN bootstrap.log: stderr: Resolved 218 packages in 2ms stage=dependencies
2026-06-14T17:12:22.377395Z WARN bootstrap.log: stderr: Installed 97 packages in 1.74s stage=dependencies
2026-06-14T17:12:22.377926Z WARN bootstrap.log: stderr: + agent-client-protocol==0.9.0 stage=dependencies
2026-06-14T17:12:22.378118Z WARN bootstrap.log: stderr: + aiohappyeyeballs==2.6.1 stage=dependencies
2026-06-14T17:12:22.378148Z WARN bootstrap.log: stderr: + aiohttp==3.13.4 stage=dependencies
2026-06-14T17:12:22.378532Z WARN bootstrap.log: stderr: + aiosignal==1.4.0 stage=dependencies
2026-06-14T17:12:22.378662Z WARN bootstrap.log: stderr: + annotated-doc==0.0.4 stage=dependencies
2026-06-14T17:12:22.378691Z WARN bootstrap.log: stderr: + annotated-types==0.7.0 stage=dependencies
2026-06-14T17:12:22.378738Z WARN bootstrap.log: stderr: + anyio==4.12.1 stage=dependencies
2026-06-14T17:12:22.379122Z WARN bootstrap.log: stderr: + attrs==25.4.0 stage=dependencies
2026-06-14T17:12:22.379208Z WARN bootstrap.log: stderr: + certifi==2026.5.20 stage=dependencies
2026-06-14T17:12:22.379279Z WARN bootstrap.log: stderr: + cffi==2.0.0 stage=dependencies
2026-06-14T17:12:22.379646Z WARN bootstrap.log: stderr: + charset-normalizer==3.4.4 stage=dependencies
2026-06-14T17:12:22.379759Z WARN bootstrap.log: stderr: + click==8.3.1 stage=dependencies
2026-06-14T17:12:22.380206Z WARN bootstrap.log: stderr: + colorama==0.4.6 stage=dependencies
2026-06-14T17:12:22.380313Z WARN bootstrap.log: stderr: + croniter==6.0.0 stage=dependencies
2026-06-14T17:12:22.380324Z WARN bootstrap.log: stderr: + cryptography==46.0.7 stage=dependencies
2026-06-14T17:12:22.380380Z WARN bootstrap.log: stderr: + defusedxml==0.7.1 stage=dependencies
2026-06-14T17:12:22.380646Z WARN bootstrap.log: stderr: + distro==1.9.0 stage=dependencies
2026-06-14T17:12:22.380860Z WARN bootstrap.log: stderr: + fastapi==0.133.1 stage=dependencies
2026-06-14T17:12:22.381279Z WARN bootstrap.log: stderr: + fire==0.7.1 stage=dependencies
2026-06-14T17:12:22.381347Z WARN bootstrap.log: stderr: + frozenlist==1.8.0 stage=dependencies
2026-06-14T17:12:22.381370Z WARN bootstrap.log: stderr: + google-api-core==2.30.3 stage=dependencies
2026-06-14T17:12:22.381524Z WARN bootstrap.log: stderr: + google-api-python-client==2.194.0 stage=dependencies
2026-06-14T17:12:22.381621Z WARN bootstrap.log: stderr: + google-auth==2.49.2 stage=dependencies
2026-06-14T17:12:22.381778Z WARN bootstrap.log: stderr: + google-auth-httplib2==0.3.1 stage=dependencies
2026-06-14T17:12:22.381961Z WARN bootstrap.log: stderr: + google-auth-oauthlib==1.3.1 stage=dependencies
2026-06-14T17:12:22.382151Z WARN bootstrap.log: stderr: + googleapis-common-protos==1.73.0 stage=dependencies
2026-06-14T17:12:22.382319Z WARN bootstrap.log: stderr: + h11==0.16.0 stage=dependencies
2026-06-14T17:12:22.382558Z WARN bootstrap.log: stderr: + hermes-agent==0.16.0 (from file:///C:/Users/User/AppData/Local/hermes/hermes-agent) stage=dependencies
2026-06-14T17:12:22.382716Z WARN bootstrap.log: stderr: + httpcore==1.0.9 stage=dependencies
2026-06-14T17:12:22.382879Z WARN bootstrap.log: stderr: + httplib2==0.31.2 stage=dependencies
2026-06-14T17:12:22.383044Z WARN bootstrap.log: stderr: + httptools==0.7.1 stage=dependencies
2026-06-14T17:12:22.383236Z WARN bootstrap.log: stderr: + httpx==0.28.1 stage=dependencies
2026-06-14T17:12:22.383406Z WARN bootstrap.log: stderr: + httpx-sse==0.4.3 stage=dependencies
2026-06-14T17:12:22.383527Z WARN bootstrap.log: stderr: + idna==3.15 stage=dependencies
2026-06-14T17:12:22.383825Z WARN bootstrap.log: stderr: + jinja2==3.1.6 stage=dependencies
2026-06-14T17:12:22.383944Z WARN bootstrap.log: stderr: + jiter==0.13.0 stage=dependencies
2026-06-14T17:12:22.384025Z WARN bootstrap.log: stderr: + jsonschema==4.26.0 stage=dependencies
2026-06-14T17:12:22.384248Z WARN bootstrap.log: stderr: + jsonschema-specifications==2025.9.1 stage=dependencies
2026-06-14T17:12:22.384438Z WARN bootstrap.log: stderr: + markdown==3.10.2 stage=dependencies
2026-06-14T17:12:22.384624Z WARN bootstrap.log: stderr: + markdown-it-py==4.0.0 stage=dependencies
2026-06-14T17:12:22.384797Z WARN bootstrap.log: stderr: + markupsafe==3.0.3 stage=dependencies
2026-06-14T17:12:22.384932Z WARN bootstrap.log: stderr: + mcp==1.26.0 stage=dependencies
2026-06-14T17:12:22.385154Z WARN bootstrap.log: stderr: + mdurl==0.1.2 stage=dependencies
2026-06-14T17:12:22.385305Z WARN bootstrap.log: stderr: + multidict==6.7.1 stage=dependencies
2026-06-14T17:12:22.385471Z WARN bootstrap.log: stderr: + oauthlib==3.3.1 stage=dependencies
2026-06-14T17:12:22.385725Z WARN bootstrap.log: stderr: + openai==2.24.0 stage=dependencies
2026-06-14T17:12:22.385869Z WARN bootstrap.log: stderr: + packaging==26.0 stage=dependencies
2026-06-14T17:12:22.386052Z WARN bootstrap.log: stderr: + pathspec==1.1.1 stage=dependencies
2026-06-14T17:12:22.386248Z WARN bootstrap.log: stderr: + pillow==12.2.0 stage=dependencies
2026-06-14T17:12:22.386460Z WARN bootstrap.log: stderr: + prompt-toolkit==3.0.52 stage=dependencies
2026-06-14T17:12:22.386679Z WARN bootstrap.log: stderr: + propcache==0.4.1 stage=dependencies
2026-06-14T17:12:22.386861Z WARN bootstrap.log: stderr: + proto-plus==1.27.2 stage=dependencies
2026-06-14T17:12:22.386971Z WARN bootstrap.log: stderr: + protobuf==6.33.5 stage=dependencies
2026-06-14T17:12:22.387159Z WARN bootstrap.log: stderr: + psutil==7.2.2 stage=dependencies
2026-06-14T17:12:22.387340Z WARN bootstrap.log: stderr: + pyasn1==0.6.3 stage=dependencies
2026-06-14T17:12:22.387519Z WARN bootstrap.log: stderr: + pyasn1-modules==0.4.2 stage=dependencies
2026-06-14T17:12:22.387717Z WARN bootstrap.log: stderr: + pycparser==3.0 stage=dependencies
2026-06-14T17:12:22.387885Z WARN bootstrap.log: stderr: + pydantic==2.13.4 stage=dependencies
2026-06-14T17:12:22.388096Z WARN bootstrap.log: stderr: + pydantic-core==2.46.4 stage=dependencies
2026-06-14T17:12:22.388286Z WARN bootstrap.log: stderr: + pydantic-settings==2.13.1 stage=dependencies
2026-06-14T17:12:22.388442Z WARN bootstrap.log: stderr: + pygments==2.19.2 stage=dependencies
2026-06-14T17:12:22.388611Z WARN bootstrap.log: stderr: + pyjwt==2.13.0 stage=dependencies
2026-06-14T17:12:22.388792Z WARN bootstrap.log: stderr: + pyparsing==3.3.2 stage=dependencies
2026-06-14T17:12:22.388989Z WARN bootstrap.log: stderr: + python-dateutil==2.9.0.post0 stage=dependencies
2026-06-14T17:12:22.389177Z WARN bootstrap.log: stderr: + python-dotenv==1.2.2 stage=dependencies
2026-06-14T17:12:22.389351Z WARN bootstrap.log: stderr: + python-multipart==0.0.27 stage=dependencies
2026-06-14T17:12:22.389511Z WARN bootstrap.log: stderr: + pytz==2025.2 stage=dependencies
2026-06-14T17:12:22.389679Z WARN bootstrap.log: stderr: + pywin32==311 stage=dependencies
2026-06-14T17:12:22.389892Z WARN bootstrap.log: stderr: + pywinpty==2.0.15 stage=dependencies
2026-06-14T17:12:22.390078Z WARN bootstrap.log: stderr: + pyyaml==6.0.3 stage=dependencies
2026-06-14T17:12:22.390306Z WARN bootstrap.log: stderr: + referencing==0.37.0 stage=dependencies
2026-06-14T17:12:22.390333Z WARN bootstrap.log: stderr: + requests==2.33.0 stage=dependencies
2026-06-14T17:12:22.390520Z WARN bootstrap.log: stderr: + requests-oauthlib==2.0.0 stage=dependencies
2026-06-14T17:12:22.390642Z WARN bootstrap.log: stderr: + rich==14.3.3 stage=dependencies
2026-06-14T17:12:22.390816Z WARN bootstrap.log: stderr: + rpds-py==0.30.0 stage=dependencies
2026-06-14T17:12:22.390998Z WARN bootstrap.log: stderr: + ruamel-yaml==0.18.17 stage=dependencies
2026-06-14T17:12:22.391193Z WARN bootstrap.log: stderr: + ruamel-yaml-clib==0.2.15 stage=dependencies
2026-06-14T17:12:22.391346Z WARN bootstrap.log: stderr: + simple-term-menu==1.6.6 stage=dependencies
2026-06-14T17:12:22.391518Z WARN bootstrap.log: stderr: + six==1.17.0 stage=dependencies
2026-06-14T17:12:22.391640Z WARN bootstrap.log: stderr: + sniffio==1.3.1 stage=dependencies
2026-06-14T17:12:22.391841Z WARN bootstrap.log: stderr: + socksio==1.0.0 stage=dependencies
2026-06-14T17:12:22.392021Z WARN bootstrap.log: stderr: + sse-starlette==3.3.2 stage=dependencies
2026-06-14T17:12:22.392174Z WARN bootstrap.log: stderr: + starlette==1.0.1 stage=dependencies
2026-06-14T17:12:22.392376Z WARN bootstrap.log: stderr: + tenacity==9.1.4 stage=dependencies
2026-06-14T17:12:22.392546Z WARN bootstrap.log: stderr: + termcolor==3.3.0 stage=dependencies
2026-06-14T17:12:22.392721Z WARN bootstrap.log: stderr: + tqdm==4.67.3 stage=dependencies
2026-06-14T17:12:22.392937Z WARN bootstrap.log: stderr: + typing-extensions==4.15.0 stage=dependencies
2026-06-14T17:12:22.393027Z WARN bootstrap.log: stderr: + typing-inspection==0.4.2 stage=dependencies
2026-06-14T17:12:22.393212Z WARN bootstrap.log: stderr: + tzdata==2025.3 stage=dependencies
2026-06-14T17:12:22.393409Z WARN bootstrap.log: stderr: + uritemplate==4.2.0 stage=dependencies
2026-06-14T17:12:22.393612Z WARN bootstrap.log: stderr: + urllib3==2.7.0 stage=dependencies
2026-06-14T17:12:22.393796Z WARN bootstrap.log: stderr: + uvicorn==0.41.0 stage=dependencies
2026-06-14T17:12:22.393943Z WARN bootstrap.log: stderr: + watchfiles==1.1.1 stage=dependencies
2026-06-14T17:12:22.394140Z WARN bootstrap.log: stderr: + wcwidth==0.6.0 stage=dependencies
2026-06-14T17:12:22.394301Z WARN bootstrap.log: stderr: + websockets==15.0.1 stage=dependencies
2026-06-14T17:12:22.394475Z WARN bootstrap.log: stderr: + yarl==1.22.0 stage=dependencies
2026-06-14T17:12:22.394631Z WARN bootstrap.log: stderr: + youtube-transcript-api==1.2.4 stage=dependencies
2026-06-14T17:12:22.410860Z INFO bootstrap.log: [OK] Main package installed (hash-verified via uv.lock) stage=dependencies
2026-06-14T17:12:26.091373Z INFO bootstrap.log: [OK] Baseline imports verified in venv stage=dependencies
2026-06-14T17:12:27.523301Z INFO bootstrap.log: [OK] All dependencies installed stage=dependencies
2026-06-14T17:12:27.566607Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":7042,"stage":"dependencies"} stage=dependencies
2026-06-14T17:12:27.585017Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=dependencies state=Succeeded duration_ms=Some(7411) error=None
2026-06-14T17:12:27.585055Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=node-deps state=Running duration_ms=None error=None
2026-06-14T17:12:27.927560Z INFO bootstrap.log: -> Using npm.cmd (PowerShell execution policy blocks npm.ps1) stage=node-deps
2026-06-14T17:12:27.928566Z INFO bootstrap.log: -> Installing Node.js dependencies (browser tools)... stage=node-deps
2026-06-14T17:13:24.154645Z INFO bootstrap.log: [!] Browser tools npm install failed -- exit code 1 stage=node-deps
2026-06-14T17:13:24.155526Z INFO bootstrap.log: -> Run manually later: cd "C:\Users\User\AppData\Local\hermes\hermes-agent"; npm install stage=node-deps
2026-06-14T17:13:24.157423Z INFO bootstrap.log: -> Installing TUI dependencies... stage=node-deps
2026-06-14T17:13:40.294771Z INFO bootstrap.log: [OK] TUI dependencies installed stage=node-deps
2026-06-14T17:13:40.337553Z INFO bootstrap.log: {"skipped":false,"ok":true,"reason":null,"duration_ms":72434,"stage":"node-deps"} stage=node-deps
2026-06-14T17:13:40.355619Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=node-deps state=Succeeded duration_ms=Some(72770) error=None
2026-06-14T17:13:40.355653Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=desktop state=Running duration_ms=None error=None
2026-06-14T17:13:40.774301Z INFO bootstrap.log: -> Checking Node.js (for browser tools)... stage=desktop
2026-06-14T17:13:40.805507Z INFO bootstrap.log: [!] Node.js v22.8.0 is too old for the desktop build (need ^20.19 or >=22.12) stage=desktop
2026-06-14T17:13:40.839455Z INFO bootstrap.log: [OK] Node.js v22.22.3 found (Hermes-managed) stage=desktop
2026-06-14T17:13:40.850124Z INFO bootstrap.log: -> Installing desktop workspace dependencies (this includes Electron ~150MB, takes 1-3min)... stage=desktop
2026-06-14T17:13:42.006217Z INFO bootstrap.log: npm warn EBADENGINE Unsupported engine { stage=desktop
2026-06-14T17:13:42.006540Z INFO bootstrap.log: npm warn EBADENGINE package: '@icons-pack/react-simple-icons@13.13.0', stage=desktop
2026-06-14T17:13:42.006903Z INFO bootstrap.log: npm warn EBADENGINE required: { node: '>=24', pnpm: '>=10' }, stage=desktop
2026-06-14T17:13:42.007159Z INFO bootstrap.log: npm warn EBADENGINE current: { node: 'v22.22.3', npm: '10.9.8' } stage=desktop
2026-06-14T17:13:42.007391Z INFO bootstrap.log: npm warn EBADENGINE } stage=desktop
2026-06-14T17:14:06.351442Z INFO bootstrap.log: npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. stage=desktop
2026-06-14T17:14:06.657325Z INFO bootstrap.log: npm warn deprecated rimraf@2.6.3: Rimraf versions prior to v4 are no longer supported stage=desktop
2026-06-14T17:14:07.066470Z INFO bootstrap.log: npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me stage=desktop
2026-06-14T17:14:07.070378Z INFO bootstrap.log: npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me stage=desktop
2026-06-14T17:14:09.335718Z INFO bootstrap.log: npm warn deprecated boolean@3.2.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. stage=desktop
2026-06-14T17:14:10.894372Z INFO bootstrap.log: npm warn deprecated rcedit@5.0.2: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. stage=desktop
2026-06-14T17:14:30.122352Z INFO bootstrap.log: -> npm ci failed (exit 1) -- retrying with npm install... stage=desktop
2026-06-14T17:14:31.714789Z INFO bootstrap.log: npm warn EBADENGINE Unsupported engine { stage=desktop
2026-06-14T17:14:31.715161Z INFO bootstrap.log: npm warn EBADENGINE package: '@icons-pack/react-simple-icons@13.13.0', stage=desktop
2026-06-14T17:14:31.715700Z INFO bootstrap.log: npm warn EBADENGINE required: { node: '>=24', pnpm: '>=10' }, stage=desktop
2026-06-14T17:14:31.715825Z INFO bootstrap.log: npm warn EBADENGINE current: { node: 'v22.22.3', npm: '10.9.8' } stage=desktop
2026-06-14T17:14:31.716118Z INFO bootstrap.log: npm warn EBADENGINE } stage=desktop
2026-06-14T17:14:37.216831Z INFO bootstrap.log: npm warn deprecated rimraf@2.6.3: Rimraf versions prior to v4 are no longer supported stage=desktop
2026-06-14T17:15:35.111121Z INFO bootstrap.log: {"skipped":false,"ok":false,"reason":"desktop workspace npm install failed (exit 1) -- see lines above for cause","duration_ms":114350,"stage":"desktop"} stage=desktop
2026-06-14T17:15:35.131706Z INFO hermes_bootstrap_lib::bootstrap: stage transition stage=desktop state=Failed duration_ms=Some(114776) error=Some("desktop workspace npm install failed (exit 1) -- see lines above for cause")
2026-06-14T17:15:35.131767Z ERROR hermes_bootstrap_lib::bootstrap: bootstrap FAILED stage=Some("desktop") error=desktop workspace npm install failed (exit 1) -- see lines above for cause
Bug Description
Note: This report was AI-assisted — drafted by an AI agent based on the user's log file and system info. The user reviewed and corrected the OS version and root cause analysis before submission.
Hermes installer (C:\Users\User\AppData\Local\hermes\hermes-setup.exe) fails at the "desktop" stage on Windows. All prerequisite and installation stages succeed (uv, Python, Git, Node, ripgrep/ffmpeg, repository clone, venv, Python dependencies, Node.js dependencies), but the desktop workspace npm install fails with exit code 1. The installer reports
bootstrap FAILEDand Hermes cannot be used.Steps to Reproduce
C:\Users\User\AppData\Local\hermes\hermes-setup.exeon Windows 10 Pro (x64) with an existing Hermes installation.npm cifails with exit code 1.npm install, which also fails with exit code 1.bootstrap FAILED stage=Some("desktop").Expected Behavior
The desktop workspace dependencies (including Electron ~150MB) should install successfully, allowing the desktop app to be built and Hermes to start.
Actual Behavior
npm emits EBADENGINE warnings for
@icons-pack/react-simple-icons@13.13.0(requires node >=24, current is v22.22.3) and deprecation warnings for inflight, rimraf, glob, boolean, rcedit.npm cifails first, thennpm installalso fails. The exact npm error message beyond exit code 1 is not captured in the log.Affected Component
Setup / Installation
Messaging Platform (if gateway-related)
N/A (CLI only)
Debug Report
Operating System
Microsoft Windows 10 Pro (10.0.19045), 64-bit
Python Version
3.11.9 (Microsoft Store:
PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0)Hermes Version
0.16.0
Additional Logs / Traceback (optional)
Root Cause Analysis (optional)
Proposed Fix (optional)
No response
Are you willing to submit a PR for this?