# NousResearch/hermes-agent · Guardrail misclassifying refusals as tool failures

## Open now

- Nothing open on GitHub.

These items address a bug where the guardrail system incorrectly counts its own refusals (such as read-dedup or harness refusals) as tool failures, causing unwarranted escalation to repeated_exact_failure_block. Fixes aim to distinguish genuine tool failures from guardrail-initiated refusals.

## TL;DR

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

- #113895: Guardrail counts its own read-dedup refusal as a tool failure, escalating to repeated_exact_failure_block over calls that never failed

## Prior & competing PRs

- **#114848: fix(guardrails): file-tool loop refusals no longer count as failures or escalate to repeated_exact_failure_block (#113895, salvage #113897)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `agent/display.py`, `agent/tool_guardrails.py`, `agent/tool_result_classification.py`, `tests/agent/test_tool_guardrails.py`, `tools/file_tools.py`
- **#113897: fix(guardrails): a harness refusal is not a tool failure**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `9814fb928659`, `#114848`, `#113895`, `#113897`

## Fix status

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