# NousResearch/hermes-agent · Credential pool matching for named custom providers

## Open now

- 1 issue, 1 PR open on GitHub.
- #45715: \[BUG\] Credential pool mismatch: agent.provider resolves to bare 'custom' even when requested_provider is named, causing pool mutation skip + 503 across primary + subagent + bg-review paths
- PR #45763: fix(agent): match custom credential pools via agent.requested_provider

Members appear to concern a mismatch between bare 'custom' and named 'custom:<name>' providers, which may cause credential pool lookup or rotation to be skipped. Most are proposed agent-side fixes (matching on requested provider name, or tolerating config load failure), plus issue reports describing the mismatch and related 503 errors.

## TL;DR

- 6 member(s): 1 open issue(s), 1 closed issue(s), 1 open PR(s), 1 merged PR(s), 2 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.29`: 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

- #45715: \[BUG\] Credential pool mismatch: agent.provider resolves to bare 'custom' even when requested_provider is named, causing pool mutation skip + 503 across primary + subagent + bg-review paths

## Closed / duplicate issues

- #47272: Credential pool provider mismatch for custom:* providers — pool rotation silently skipped

## Prior & competing PRs

- **#45289: fix(agent): credential-pool recovery for custom providers (custom vs custom:<name> mismatch)**. merged to main · fix tier `suggested`
  - maintainer direction: category `merged`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#45763: fix(agent): match custom credential pools via agent.requested_provider**. open
  - maintainer direction: category `partial_fix`; implication `needs_llm`; refs `6182078cb7`, `#117942`, `#89021`, `#117839`
  - files: `agent/agent_init.py`, `agent/agent_runtime_helpers.py`, `agent/credential_pool.py`, `agent/credential_pool_identity.py`, `agent/fallback_cooldown.py`, `agent/route_binding.py`, `evals/provider_fallback/probe_104120.py`, `hermes_cli/runtime_provider.py`, `run_agent.py`, `tests/agent/test_credential_pool_provider_boundary.py`, `tests/agent/test_fallback_reasoning_override.py`, `tests/agent/test_message_sanitization_policy.py`, `tests/agent/test_pool_matches_agent.py`, `tests/agent/test_pool_revert_after_cooldown.py`, `tests/agent/test_switch_model_reasoning_override.py`, `tools/delegate_tool_config.py`
- **#45819: fix(agent): match custom credential pools by requested provider name**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#45763`, `#45715`, `#45823`
- **#45823: fix(agent): accept custom pool match when config loading fails (#45715)**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`

## Fix status

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