# NousResearch/hermes-agent · Desktop updater venv lock conflicts on Windows

## Open now

- Nothing open on GitHub.

These issues and fixes address cases where the desktop updater stalls or aborts because external processes hold the virtual environment on Windows. Changes include an allowlist for venv holders, killing blocking processes, and serializing update attempts.

## TL;DR

- 7 member(s): 0 open issue(s), 2 closed issue(s), 0 open PR(s), 2 merged PR(s), 3 PR(s) closed without merging.
- A fix was merged to main in PR #74436. Verify it addresses your case.
- **Recommended:** read PR #74436 (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-123005`. 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.26`: 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

- #62311: Bug: Desktop updater aborts with "venv shim still locked" when external processes (gateway/dashboard) hold the venv on Windows
- #66933: \`hermes update\` deadlocks forever when an external (non-Hermes) process uses the venv interpreter (e.g. a Windows service)

## Prior & competing PRs

- **#74436: fix(update): one updater at a time, and never roll an install backwards**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `apps/bootstrap-installer/src-tauri/Cargo.toml`, `apps/bootstrap-installer/src-tauri/src/update.rs`, `hermes_cli/main.py`, `hermes_cli/update_lock.py`, `scripts/install.ps1`, `scripts/install.sh`, `tests/hermes_cli/test_update_lock.py`, `tests/test_install_commit_pin_rollback.py`
- **#123005: fix(desktop): kill external autostart venv holders before update hand-off**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `apps/desktop/electron/main.ts`, `apps/desktop/electron/venv-holder-select.test.ts`, `apps/desktop/electron/venv-holder-select.ts`
- **#62445: fix(desktop): kill external windows venv holders**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#74436`, `#74436`
- **#67398: fix(update): add venv_holder_allowlist + pre_update_command (#66933)**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#66933`
- **#122895: fix(desktop): kill external windows venv holders**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`

## Fix status

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