P2 custom_providers.models Is Ignored — Combo/Router Models Never Reach Desktop Picker (#59560)
Executive Summary
Hermes Desktop reportedly ignores the models: map inside a custom_providers entry, even though the config schema documents it. That means router-style or combo endpoints — where one API base URL exposes many models behind a single key — cannot expose those models in the UI at all. Only the single top-level model: value is ever recognized, and even that behavior is unreliable.
Why This Breaks the Entire Router Use Case
The point of a combo or router provider is simple: one OpenAI-compatible endpoint, many backing models. If the desktop picker never sees the declared model list, then the entire value proposition collapses. Users cannot route between models, compare options, or take advantage of the proxy's full catalog from inside Hermes Desktop.
| Expected | Actual |
|---|---|
All models under custom_providers[].models appear as selectable options such as My_Combo/nvidia/z-ai/glm-5.2 | None of the declared models appear in the picker beyond the single top-level default, and sometimes even that fails validation |
Config Evidence
The reporter supplied a combo provider with 136 listed models behind one local OpenAI-compatible endpoint:
custom_providers:
name: My_Combo
base_url: http://localhost:20128/v1
api_key: sk-REDACTED
model: my_combo
api_mode: chat_completions
models:
my_combo:
context_length: 1000000
nvidia/z-ai/glm-5.2:
context_length: 1000000
1/claude-sonnet-5:
context_length: 1000000
# ...136 total models
If Hermes behaves as though the models map does not exist, then the schema is promising a capability the desktop product does not actually support.
Related Failure Pattern
The reporter linked this to issue #13849, where even a single custom model value failed validation against the provider's actual /v1/models response. The symptoms differ, but the pattern is the same: custom-provider configuration looks supported on paper and then silently disappears at runtime.
Impact Assessment
| Dimension | Severity | Detail |
|---|---|---|
| Config Fidelity | HIGH | A documented configuration field behaves as if it is ignored |
| Desktop Usability | HIGH | Users cannot select router-backed models from the UI, defeating the entire combo-provider workflow |
| Ecosystem Compatibility | HIGH | Breaks 9router, LiteLLM, OpenRouter-style, and other multi-model proxy setups |
| Debuggability | MEDIUM | Failure is silent: the field exists, the config loads, but the desktop picker acts like the list is absent |
Custom-Provider / Config-Silence Bug History
| Issue | Severity | Description |
|---|---|---|
| #49686 | P2 | max_tokens set to context_length, breaks vLLM custom endpoints |
| #58281 | P2 | Disabling coding toolset strips terminal and file tools |
| #59560 | P2 | custom_providers.models list completely ignored by Desktop |
⚠️ Pattern: Hermes keeps exposing configuration surfaces that appear flexible but collapse in practice. #59560 is especially damaging because it breaks the whole router/combo-provider model — one of the most compelling reasons to use an OpenAI-compatible proxy in the first place.
Source Evidence
- GitHub Issue: #59560 — custom_providers.models list completely ignored
- Opened: July 6, 2026
- Reporter: @stalker-cod
- Labels: P2, area/config, bug, comp/agent, comp/desktop, type/bug
- Hermes: v0.18.0 (2026.7.1) upstream (83f14b2) | OS: Windows 10 | Python: 3.11.9
- Related: #13849
- Reporter willing to submit PR: Yes
📌 https://hermes-agent.reviews/hermes-custom-providers-models-ignored-59560.html
Tracked by hermes-agent.reviews — July 6, 2026