# NousResearch/hermes-agent · Circuit breaker for infinite tool call loops

## Open now

- 1 issue, 0 PRs open on GitHub.
- #64927: Bug: AI 死循环 — 工具反复失败不终止，系统仅有被动警告无硬熔断

These issues and fixes address scenarios where repeated tool or API failures cause the AI to loop indefinitely, consuming tokens without stopping. The work involves adding circuit breakers, permanent error classification, and consecutive failure guards to halt runaway retry cycles.

## TL;DR

- 6 member(s): 1 open issue(s), 2 closed issue(s), 0 open PR(s), 0 merged PR(s), 3 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## 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_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.

## Open related issues

- #64927: Bug: AI 死循环 — 工具反复失败不终止，系统仅有被动警告无硬熔断

## Closed / duplicate issues

- #12395: \[Bug\]: 想哭，qqbot消息推送失败后，hermes竟然一直循环调大模型，疯狂消耗token
- #49479: \[Feature\]: 添加模型循环检测

## Prior & competing PRs

- **#12401: fix: add circuit breaker for consecutive identical failing tool calls**. closed without merge
  - maintainer direction: category `stale_abandoned`; implication `active`
- **#12405: fix: qqbot infinite retry - permanent error classification + circuit breaker (#12395)**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`
- **#12418: fix(gateway): add consecutive send failure guard to prevent infinite token burn (#12395)**. closed without merge
  - maintainer direction: category `stale_abandoned`; implication `active`

## Fix status

- No merged fix on record.
- Subsystem: `agent`
