# NousResearch/hermes-agent · Desktop multi-gateway socket lifecycle and routing fixes

## Open now

- Nothing open on GitHub.

These issues and pull requests address bugs in macOS Desktop where secondary or tile-owner gateways are incorrectly pruned during idle/mode-switch cycles and where model catalog reads are misrouted to the wrong gateway. The work focuses on preserving the correct socket lifetime and routing for owner-routed and secondary gateways.

## TL;DR

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

- #93892: \[Bug\]: macOS Desktop — secondary gateway 'retained' flag ignored by pruner → permanent resume/reap spinner; model catalog reads misrouted to ambient gateway

## Prior & competing PRs

- **#95082: fix(desktop): secondary gateways publish only live sockets and survive prune/mode-switch (multi-gateway class 3, tracker #94724)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `apps/desktop/src/app/chat/session-tile.tsx`, `apps/desktop/src/app/contrib/hooks/use-session-tile-delegate.test.ts`, `apps/desktop/src/app/contrib/hooks/use-session-tile-delegate.ts`, `apps/desktop/src/app/gateway/hooks/use-gateway-boot.test.tsx`, `apps/desktop/src/app/gateway/hooks/use-gateway-boot.ts`, `apps/desktop/src/app/shell/model-catalog-menu.tsx`, `apps/desktop/src/app/shell/model-menu-panel.tsx`, `apps/desktop/src/lib/model-options.test.ts`, `apps/desktop/src/lib/model-options.ts`, `apps/desktop/src/plugins/hermes-bots/plugin.js`, `apps/desktop/src/plugins/hermes-bots/tests/hide-bot-chats.runtime.test.ts`, `apps/desktop/src/plugins/hermes-bots/tests/hide-bot-chats.test.mjs`, `apps/desktop/src/sdk/index.ts`, `apps/desktop/src/sdk/profile-routing.test.ts`, `apps/desktop/src/store/gateway-connection-lifecycle.test.ts`, `apps/desktop/src/store/gateway-connection-scope.test.ts`, `apps/desktop/src/store/gateway-secondary-open-check.test.ts`, `apps/desktop/src/store/gateway-shared-remote.test.ts`, `apps/desktop/src/store/gateway.ts`, `apps/desktop/src/store/session-states-scopes.test.ts` (+6 more)
- **#93916: fix(desktop): keep owner-routed tile gateways out of idle prune**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `b52b05c1defae797266fc590c45d1bf691fa63ad`, `#95082`, `#94724`
- **#94178: fix(desktop): keep a mounted tile's owner socket alive and route its model catalog to the owner (#93892)**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `b52b05c1d`, `#93916`, `#95082`, `#94724`

## Fix status

- Merged to main in PR #95082 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-08-26`.
