# NousResearch/hermes-agent · Shell hooks missing from serve/dashboard startup paths

## Open now

- 0 issues, 2 PRs open on GitHub.
- PR #102513: fix(hooks): register config hooks for serve
- PR #102521: fix(cli): register config shell hooks on serve and dashboard startup

A bug where shell hooks defined in config.yaml were not being registered when running the serve or dashboard commands, because the startup preparation logic skipped those code paths. Multiple fixes address hook registration across serve, desktop, and CLI entrypoints.

## TL;DR

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

- #102504: Shell hooks from config.yaml never register in \`hermes serve\` (desktop backend) — _prepare_agent_startup skips the "serve" command

## Prior & competing PRs

- **#104870: fix(desktop): configured shell hooks run for chat agents**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `evals/desktop_bug_campaign/hooks_live.py`, `tests/tui_gateway/test_profile_shell_hooks.py`, `tui_gateway/server.py`, `website/docs/user-guide/features/hooks.md`
- **#102513: fix(hooks): register config hooks for serve**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#69832`, `#61806`, `#69825`, `#102504`, `#85225`, `#92655`, `#102151`, `#102521`
  - files: `hermes_cli/main.py`, `tests/hermes_cli/test_fast_serve_launch.py`
- **#102521: fix(cli): register config shell hooks on serve and dashboard startup**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `106dba07008794c516b0a251ff42005625c2ad79`, `63279301bcbdc185c1b07b98a9312eb0c862f26d`, `#102504`, `#69825`, `#61806`, `#69832`, `#81409`, `#61844`, `#70461`, `#102513`
  - files: `hermes_cli/config_shell_hooks.py`, `hermes_cli/main.py`, `tests/hermes_cli/test_dashboard_hooks.py`
- **#102665: fix(serve): register shell hooks on the serve command path**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `3094cde5138`, `#104870`, `#69825`, `#57020`, `#69832`, `#102691`

## Fix status

- Merged to main in PR #104870 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-09-07`.
- Subsystem: `hermes_cli`
