# NousResearch/hermes-agent · Windows gateway venv/interpreter mismatch fixes

## Open now

- 0 issues, 2 PRs open on GitHub.
- PR #122195: fix(gateway): preserve PM dependency selection on Windows
- PR #123206: fix(gateway): boot Windows gateway under the checkout's committed interpreter

A bug and several fixes addressing how the Windows gateway selects its Python interpreter and virtual environment, specifically preventing version- or ABI-mismatched pre-PM venvs from being injected into sys.path and causing import failures like missing pydantic_core.

## TL;DR

- 7 member(s): 0 open issue(s), 1 closed issue(s), 2 open PR(s), 2 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #139274. Verify it addresses your case.
- **Recommended:** read PR #139274 (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: `resolved` · deciding PR(s): `pr-123996`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.29`: 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

- #122183: \[Bug\]: Windows gateway on the PM runtime prepends the pre-PM venv and crashes hosted_room_worker (No module named 'pydantic_core._pydantic_core')

## Prior & competing PRs

- **#123996: fix(gateway,cron): keep the pre-PM venv off sys.path on PM-managed Windows installs**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `cron/scheduler_script.py`, `gateway/run.py`, `tests/cron/test_cron_windows_venv_abi.py`, `tests/gateway/test_windows_venv_import_guard.py`
- **#139274: fix(gateway): finite Kanban card turns, off-loop heartbeat write, no foreign-ABI venv overlay**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `gateway/run.py`, `gateway/session_authority.py`, `gateway/session_kanban.py`, `hermes_state_runtime.py`, `pm/environments.py`, `tests/gateway/test_kanban_finite_admission.py`, `tests/gateway/test_scale_to_zero_dashboard_client.py`, `tests/gateway/test_windows_venv_import_guard.py`, `tests/hermes_cli/test_runtime_paths.py`, `tui_gateway/ws.py`
- **#122195: fix(gateway): preserve PM dependency selection on Windows**. open
  - maintainer direction: category `silent_close`; implication `active`
  - files: `gateway/run.py`, `tests/gateway/test_windows_pm_import_selection.py`
- **#122330: fix(gateway): prefer ABI-matching venv in Windows gateway imports**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#139274`, `#134889`, `#139085`
- **#123149: fix(gateway): never inject a version-mismatched venv into the Windows gateway; prefer the committed PM environment**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `86f449b1721fc89f73c7eced1f2d4a0b1ff0f005`, `#123996`
- **#123206: fix(gateway): boot Windows gateway under the checkout's committed interpreter**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `86f449b1721fc89f73c7eced1f2d4a0b1ff0f005`, `#123996`
  - files: `hermes_cli/gateway.py`, `tests/hermes_cli/test_gateway_python_reexec.py`

## Fix status

- Merged to main in PR #139274 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-10-15`.
- Subsystem: `gateway`
