# NousResearch/hermes-agent · Tool approval enforcement and LLM visibility fixes

## Open now

- Nothing open on GitHub.

These issues and PRs address security gaps where LLM agents could bypass or misinterpret tool-approval states, including timeout handling, silent consent, and making pending-approval status explicitly visible to the LLM.

## TL;DR

- 6 member(s): 0 open issue(s), 3 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 #28323. Verify it addresses your case.
- **Recommended:** read PR #28323 (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-28323`. 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.25`: 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

- #14806: Tool-approval pending state is invisible to the LLM — indistinguishable from "executed + empty result"
- #40877: Bug: approval timeout is interpreted by LLM as system failure, bypassing intended security denial
- #55999: \[Bug\]: \[Security\] ask_user return value can be ignored by LLM - enforcement mechanism needed

## Prior & competing PRs

- **#28323: fix(approval): surface pending-approval state with explicit marker (#28000)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `tools/approval.py`, `tools/terminal_tool.py`
- **#26579: feat(agent): surface tool-approval pending state to the LLM**. closed without merge
  - maintainer direction: category `silent_close`; implication `active`
- **#28000: fix(approval): surface pending-approval state with explicit marker vi…**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `6d495d9e7cf20f5e855f9646d58c31c7386e6473`, `#28323`

## Fix status

- Merged to main in PR #28323 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-05-19`.
- Subsystem: `agent`
