# NousResearch/hermes-agent · Action status lost or misreported across restarts

## Open now

- 2 issues, 2 PRs open on GitHub.
- #25916: Persist gateway maintenance action status instead of relying on in-memory process handles
- #41143: Dashboard/TUI self-restart kills active Desktop session and shows opaque exit_code=-15
- PR #27565: feat(web): persist gateway maintenance action status (phase 1) (#25916)
- PR #41263: fix(dashboard): explain embedded chat disconnects after restart

These issues and fixes concern gateway/dashboard maintenance actions (especially backend updates and self-restarts) incorrectly reporting failure or losing status information when a process restarts. Work spans persistence of exit codes, terminal-state-driven reporting, and clearer messaging around disconnects.

## TL;DR

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

## Open related issues

- #25916: Persist gateway maintenance action status instead of relying on in-memory process handles
- #41143: Dashboard/TUI self-restart kills active Desktop session and shows opaque exit_code=-15

## Closed / duplicate issues

- #47359: Desktop: backend update reports "Backend update failed" even when the update succeeds
- #47864: Dashboard reports "Action failed (exit ?)" after a successful \`hermes update\` (status lost across dashboard restart)
- #62118: \[Bug\]: Dashboard shows "Action failed (?)" after successful self-update and systemd restart

## Prior & competing PRs

- **#79513: fix(desktop): stop reporting false failure on successful backend updates**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `apps/desktop/src/store/updates.test.ts`, `apps/desktop/src/store/updates.ts`, `apps/desktop/src/types/hermes.ts`, `hermes_cli/main.py`, `hermes_cli/update_cmd.py`, `hermes_cli/web_server.py`, `tests/hermes_cli/test_update_hangup_protection.py`, `tests/hermes_cli/test_web_server.py`
- **#27565: feat(web): persist gateway maintenance action status (phase 1) (#25916)**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `78e2101cd2a8`
  - files: `hermes_cli/web_server.py`, `tests/hermes_cli/test_web_action_registry.py`
- **#41263: fix(dashboard): explain embedded chat disconnects after restart**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `web/src/pages/ChatPage.tsx`
- **#47362: fix(desktop): don't report false failure on a successful backend update**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#79513`
- **#47928: fix(dashboard): persist action exit code across gateway restarts (#47864)**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`
- **#65681: fix(desktop): make remote backend updates terminal-state driven**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#79513`, `#52470`

## Fix status

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