# NousResearch/hermes-agent · Gateway ignores disabled platform config, reconnects forever

## Open now

- Nothing open on GitHub.

Multiple bugs and fixes around gateway and plugin logic failing to respect explicit platform disable settings, particularly for Discord. The core issue is that disabled platforms still attempt to connect and enter infinite reconnect loops.

## TL;DR

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

- #30736: \[Bug\]: discord disabled, still trying to connect
- #30803: \[Bug\] Gateway keeps reconnecting Discord despite disabled config
- #31049: Unconfigured platform plugins should skip silently instead of reconnecting forever
- #31109: hermes plugins disable platforms/discord and platforms.discord.enabled: false ignored by _apply_env_overrides() plugin auto-enable loop
- #31154: \[Bug\]: plugin platform auto-enable starts Discord without DISCORD_BOT_TOKEN

## Prior & competing PRs

- **#69319: fix(slack): Socket Mode health — fail-fast creds, session heal, staleness detection, clean shutdown, dedup TTL**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `contributors/emails/[redacted:email]`, `contributors/emails/[redacted:email]`, `plugins/platforms/discord/adapter.py`, `plugins/platforms/slack/adapter.py`, `plugins/platforms/telegram/adapter.py`, `tests/gateway/test_discord_connect.py`, `tests/gateway/test_slack.py`, `tests/gateway/test_slack_dedup_ttl.py`, `tests/gateway/test_slack_socket_reconnect_heal.py`, `tests/gateway/test_telegram_connect.py`
- **#30762: fix(gateway,plugins): make discord disable actually disable, stop reconnect storm (#30736)**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `54e61f93318d579b145421c447437ec345021eb1`
- **#31057: fix(gateway): mark unconfigured platforms as non-retryable to stop reconnect loop (#31049)**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#69319`, `#66720`
- **#31596: fix(gateway): respect explicit plugin platform disable**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `5600105478ffde29d7566b45421b100eaa29c4ef`, `#31049`

## Fix status

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