Custom provider model picker selection fixes

NousResearch/hermes-agent · cluster 20810

Data as of

Nothing open on GitHub. Fix merged in #28860. Check it covers your case.

The short answer

0open issues
0open PRs
6items grouped
Known?
Yes. 6 related items grouped here, 2 issues already closed.
Fix event
A fix was merged to main in PR #28860. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this partially resolved, deciding PR #28860. That is separate from the fix event.
Still open
Nothing open on GitHub.

A cluster of fixes targeting how bare or custom providers are identified, matched, grouped, and marked as active in the model picker. All members relate to correctness of custom provider handling in model selection UI and logic.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #28860 fix(model-switch): mark bare custom provider as current

    merged to main

    files: hermes_cli/model_switch.py, tests/hermes_cli/test_model_switch_custom_providers.py

    Show the diff
    • hermes_cli/model_switch.py
      @@ -1720,7 +1720,10 @@ def _has_aws_sdk_creds_for_listing(slug: str) -> bool:
                   results.append({
                       "slug": slug,
                       "name": grp["name"],
      -                "is_current": slug == current_provider,
      +                "is_current": slug == current_provider or (
      +                    bool(current_base_url)
      +                    and _grp_url_norm == current_base_url.strip().rstrip("/").lower()
      +                ),
                       "is_user_defined": True,
                       "models": grp["models"],
                       "total_models": len(grp["models"]),
    • tests/hermes_cli/test_model_switch_custom_providers.py
      @@ -343,6 +343,7 @@ def test_list_authenticated_providers_bare_custom_slug_recovers(monkeypatch):
           group = matches[0]
           # Canonical slug, NOT the bare "custom" that caused #17478
           assert group["slug"] == "custom:ollama"
      +    assert group["is_current"] is True
       
       
       def test_list_authenticated_providers_distinct_endpoints_stay_separate(monkeypatch):

3 PRs closed without merging

From the close comments: duplicate 1 · merged via another change 1 · superseded by another PR 1

  • #20934 fix(model-picker): is_current fails for bare 'custom' provider · duplicate → #20824
  • #22473 fix(model-switch): mark bare-'custom' active row as current in picker · superseded by another PR → #20824
  • #23559 fix(model-switch): mark bare custom provider as current · merged via another change → #28860
Closed issues · 2
  • Closed#20810Bugs
  • Closed#20811Fix: `is_current` check fails for bare 'custom' provider in custom endpoints section
How this cluster was grouped
  • Link evidence (structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
  • Pairwise link density 0.36: the share of item 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.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Merged PRs
#28860
Closed issues
2
Attempts
3 PRs closed without merging
Fix link checked
19 May 2026

For your agent

The same facts, typed.