# NousResearch/hermes-agent · Gate side-effecting tools on mid-turn provider fallback

## Open now

- 1 issue, 2 PRs open on GitHub.
- #117495: Mid-turn provider fallback continues the tool loop, so side-effecting tools can execute on an unselected route
- PR #117714: feat(agent): gate side-effecting tools on automatic fallback routes (#117495)
- PR #117782: feat(agent): opt-in gate halts side-effecting tools after a mid-turn route change

These items address a risk where automatic provider fallback during a turn allows side-effecting tools to continue executing on an unselected route. The work introduces an opt-in gate mechanism to halt such tools when a mid-turn route change occurs.

## TL;DR

- 3 member(s): 1 open issue(s), 0 closed issue(s), 2 open PR(s), 0 merged PR(s), 0 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_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.

## Open related issues

- #117495: Mid-turn provider fallback continues the tool loop, so side-effecting tools can execute on an unselected route

## Prior & competing PRs

- **#117714: feat(agent): gate side-effecting tools on automatic fallback routes (#117495)**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `#117714`, `#117420`, `#117492`, `#117538`, `#117547`, `#117538`, `#117547`, `#117420`, `#117492`
  - files: `agent/agent_init.py`, `agent/agent_runtime_helpers.py`, `agent/chat_completion_helpers.py`, `agent/fallback_route_gate.py`, `agent/tool_executor.py`, `hermes_cli/config_defaults.py`, `tests/agent/test_fallback_route_gate.py`, `website/docs/user-guide/features/fallback-providers.md`
- **#117782: feat(agent): opt-in gate halts side-effecting tools after a mid-turn route change**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `d38ca3725b1bdfcc1b07e4f5653f3cf12e8001aa`, `1a1f4a59e252e1dc0137e7b2e7bcc8b0381d19c4`, `0f02b4d4346abb4f7da37d0fbb54f7d2d6905a10`, `#117495`, `#90142`, `#90144`, `#117495`, `#117714`, `#117714`, `#117495`, `#117714`, `#117714`
  - files: `agent/conversation_loop.py`, `agent/fallback_route_gate.py`, `agent/tool_executor.py`, `hermes_cli/config_defaults.py`, `tests/agent/test_fallback_route_gate.py`

## Fix status

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