Skip to content

fix(model-picker): ignore empty credential-pool entries#28150

Closed
outsourc-e wants to merge 1 commit into
NousResearch:mainfrom
outsourc-e:fix/issue-28140-empty-credential-pool
Closed

fix(model-picker): ignore empty credential-pool entries#28150
outsourc-e wants to merge 1 commit into
NousResearch:mainfrom
outsourc-e:fix/issue-28140-empty-credential-pool

Conversation

@outsourc-e

Copy link
Copy Markdown
Contributor

Summary

  • ignore empty credential_pool placeholder entries when deciding whether /model should show a provider as authenticated
  • keep non-empty pool entries working for built-in/canonical provider rows
  • add regression tests for empty vs non-empty auth-store credential-pool entries

Why

Issue #28140 reports that deleting an env var can leave auth.json with "provider": [], which the picker was treating as authenticated just because the key existed.

Test Plan

  • scripts/run_tests.sh tests/hermes_cli/test_model_switch_auth_store_credentials.py tests/hermes_cli/test_model_switch_custom_providers.py tests/hermes_cli/test_user_providers_model_switch.py

Closes #28140

@BoardJames-Bot BoardJames-Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed by Hermes Agent. Empty credential_pool lists no longer make providers appear authenticated; non-empty pool behavior is preserved. Focused local test passed (tests/hermes_cli/test_model_switch_auth_store_credentials.py: 3 passed). No blockers found.

@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/cli CLI entry point, hermes_cli/, setup wizard area/auth Authentication, OAuth, credential pools labels May 18, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Duplicate of open PR #20705 which fixes the same empty credential_pool check in list_authenticated_providers() section 1. Prior closed duplicate: #26934. Issue #28140 also already triaged as duplicate of #20705.

@outsourc-e

Copy link
Copy Markdown
Contributor Author

A newer upstream PR now covers this issue more directly with focused regression tests: #28190. I would merge #28190 rather than this replacement branch unless something there turns up in wider validation.

@teknium1

Copy link
Copy Markdown
Contributor

Closing as superseded by #28312.

Triage notes (high confidence):
Merged commit 95846ed 'fix(auth): treat empty credential pool entries as unauthenticated' (PR #28312) addresses the same bug; main now uses store.get('credential_pool', {}).get(hermes_id) which is falsy for empty lists (hermes_cli/model_switch.py:1235).

Thanks for the contribution — the underlying problem this PR addresses has been resolved by the linked PR on current main. If you believe this was closed in error, please comment and we'll reopen.

(Bulk-closed during a CLI PR triage sweep.)

@teknium1 teknium1 closed this May 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/auth Authentication, OAuth, credential pools comp/cli CLI entry point, hermes_cli/, setup wizard P2 Medium — degraded but workaround exists type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Empty credential pool entries cause providers to show as authenticated in /model picker

4 participants