# NousResearch/hermes-agent · Desktop packaging and update dependency loss bugs

## Open now

- Nothing open on GitHub.

These issues and fixes concern two related problems: the 'hermes update' command silently pruning root-level npm dependencies (notably agent-browser), and the packaged Electron desktop app failing to bundle required modules (notably simple-git), causing launch crashes.

## TL;DR

- 17 member(s): 0 open issue(s), 6 closed issue(s), 0 open PR(s), 2 merged PR(s), 9 PR(s) closed without merging.
- A fix was merged to main in PR #81958. Verify it addresses your case.
- **Recommended:** read PR #81958 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `partially_resolved` · deciding PR(s): `pr-85170`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.12`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #43564: \[Bug\]: \`hermes update\` workspace refresh can prune repo-root \`agent-browser\` dependency
- #52735: \[Bug\]: Desktop app crashes on launch — Cannot find module 'simple-git' (git-review IPC dep not bundled)
- #52753: \[Bug\]: Windows desktop app crashes after update — Cannot find module 'simple-git'
- #52764: hermes update produces broken Desktop asar when git pull adds npm deps to Electron main process
- #53069: \[Bug\]: Error: Cannot find module 'simple-git'
- #64354: \[Bug\]: \`hermes update\` silently removes root-only npm deps (agent-browser) on every run

## Prior & competing PRs

- **#52736: fix(desktop): bundle simple-git so git-review IPC loads in packaged builds**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#52776: fix(desktop): stage JS deps into node_modules before electron-builder packaging**. closed without merge · fix tier `suggested`
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `df514654b`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#64410: fix(update): keep root npm deps across both of update's npm installs (#64354)**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#44772`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#81958: feat(browser): Browser Use CLI 3.0 mode — one browser_exec driver over all CDP backends (salvage #66476)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `agent/browser_provider.py`, `agent/display.py`, `contributors/emails/[redacted:email]`, `hermes_cli/cli_commands_mixin.py`, `hermes_cli/commands.py`, `hermes_cli/config_defaults.py`, `hermes_cli/tools_config.py`, `model_tools.py`, `plugins/browser/browser_use/provider.py`, `tests/plugins/browser/test_browser_provider_plugins.py`, `tests/tools/test_browser_use_cli.py`, `tools/browser_tool.py`, `tools/browser_use_cli.py`, `toolsets.py`, `website/docs/user-guide/features/browser.md`
- **#85170: fix(cli): drop agent-browser/@streamdown-math from root npm deps; unify update's npm closure (salvage #44772)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `CONTRIBUTING.md`, `apps/desktop/package.json`, `hermes_cli/dep_ensure.py`, `hermes_cli/doctor.py`, `hermes_cli/doctor_live.py`, `hermes_cli/main.py`, `hermes_cli/nous_subscription.py`, `hermes_cli/tools_config.py`, `hermes_cli/update_cmd.py`, `package.json`, `scripts/install.ps1`, `scripts/install.sh`, `tests-js/package-json-lazy-deps.test.ts`, `tests/hermes_cli/test_cmd_update.py`, `tests/hermes_cli/test_dep_ensure.py`, `tests/hermes_cli/test_doctor.py`, `tests/hermes_cli/test_doctor_live.py`, `tests/hermes_cli/test_nous_subscription.py`, `tests/hermes_cli/test_tools_config.py`, `tests/hermes_cli/test_web_ui_build.py` (+12 more)
- **#43572: fix(cli): keep repo-root agent-browser during update refresh**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#44772`, `#44772`
- **#43647: fix(update): include workspace root to preserve repo-root deps (#43564)**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#43572`, `#43564`
- **#44772: fix(cli): drop agent-browser/@streamdown-math from root npm deps**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `d254ad616f`, `#85170`, `#43564`, `#81958`
- **#53102: fix(desktop): lazy-require simple-git so module loads when dep is missing**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `#53069`
- **#64397: fix(cli): prevent hermes update from silently removing root npm deps (#64354)**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#43572`, `#64354`, `#43564`, `#43572`, `#64394`
- **#77413: fix(update): single-pass npm install keeps root deps (agent-browser no longer pruned)**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `d254ad616f`, `#85170`, `#44772`

## Fix status

- Merged to main in PR #81958 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-08-13`.
- Subsystem: `apps/desktop`
