fix(model-picker): hide providers with no curated LLM models#7267
Open
akhater wants to merge 6 commits into
Open
fix(model-picker): hide providers with no curated LLM models#7267akhater wants to merge 6 commits into
akhater wants to merge 6 commits into
Conversation
akhater
pushed a commit
to akhater/hermes-agent
that referenced
this pull request
Apr 10, 2026
akhater
pushed a commit
to akhater/hermes-agent
that referenced
this pull request
Apr 10, 2026
Drop our collapsed-to-single-"custom" hack in favour of upstream's design: each custom_providers entry gets its own slug via custom_provider_slug(). resolve_provider_full() already handles these slugs natively so PATH A no longer needs a special case. Retain the if total == 0: continue guard (our NousResearch#7267 fix) so providers with no models (e.g. Groq keyed for STT only) stay hidden. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6 tasks
f6a1d15 to
abc7827
Compare
abc7827 to
b2b8ef4
Compare
b2b8ef4 to
1c0d7c6
Compare
The /model picker (list_authenticated_providers) walks every provider whose env var is set and adds it to the picker regardless of whether there are any models to show. This breaks down when an API key is set for a non-LLM feature — e.g. setting GROQ_API_KEY to enable Groq Whisper STT makes Groq appear in the LLM picker as "0 models", which users can't click and which clutters the list. Skip any provider whose curated model list is empty. User-defined and custom_providers entries are unaffected since they already gate on having at least one model configured. (cherry picked from commit f6a1d15) (cherry picked from commit ba6a77d436888d993afb76fa3090b49b3461c0cb)
1c0d7c6 to
ad85996
Compare
# Conflicts: # agent/model_metadata.py # gateway/platforms/base.py # tests/conftest.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The `/model` picker (`list_authenticated_providers`) walks every provider whose env var is set and appends it regardless of whether there are any models to show. This breaks down when an API key is set for a non-LLM feature.
Concrete case: setting `GROQ_API_KEY` to enable Groq Whisper STT makes Groq appear in the LLM picker as "0 models" — unclickable, noisy, and confusing.
Fix
In the Hermes-mapped providers loop, skip any provider whose curated model list is empty. User-defined (`providers:`) and `custom_providers:` entries are unaffected since they already require at least one model to be configured.
Test plan