# NousResearch/hermes-agent · Custom provider config versus OpenRouter catalog precedence in model selection

## Open now

- 0 issues, 3 PRs open on GitHub.
- PR #39803: fix(models): respect custom provider catalog priority
- PR #50277: fix(models): respect config.model provider+base_url before OpenRouter auto-detect
- PR #50280: fix(model_switch): respect explicit provider config over OpenRouter catalog

The members largely concern model/provider resolution, where an explicitly configured custom provider (provider, base_url, or custom_providers match) may be overridden by OpenRouter catalog auto-detection. Most titles propose respecting explicit config first or skipping the OpenRouter lookup for custom providers; some appear to be duplicates.

## TL;DR

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

## Closed / duplicate issues

- #39753: config priority: OpenRouter catalog overrides explicit custom provider

## Prior & competing PRs

- **#45434: fix(models): respect config.model provider+base_url before OpenRouter auto-detect**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#50277`
- **#39803: fix(models): respect custom provider catalog priority**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `hermes_cli/models.py`, `hermes_cli/web_server.py`, `tests/hermes_cli/test_models.py`, `tests/hermes_cli/test_web_server.py`
- **#39874: fix(models): skip OpenRouter catalog lookup when provider is 'custom'**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#39803`, `#39753`
- **#44663: fix(model_switch): respect explicit provider config over OpenRouter catalog**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#50280`, `#45552`
- **#50277: fix(models): respect config.model provider+base_url before OpenRouter auto-detect**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `#50277`, `#45434`, `#39803`, `#39874`
  - files: `hermes_cli/model_switch.py`, `hermes_cli/models.py`
- **#50280: fix(model_switch): respect explicit provider config over OpenRouter catalog**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`
  - files: `hermes_cli/model_switch.py`, `tests/hermes_cli/test_model_switch_explicit_config_priority.py`
- **#50868: fix(runtime_provider): honor custom_providers model match when UI rewrote model.provider**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `791c992b554fea2f66d8e9b2e7d56837b72ecb1a`, `#45006`

## Fix status

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