You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a picker_providers config option under the model: key to control which providers appear in the /model picker output. This allows users who exclusively use custom endpoints to hide built-in provider entries (Anthropic, OpenRouter, etc.) that auto-detect via OAuth/env credentials.
Motivation
Our setup uses a single custom provider (AgentOne) with 23 models. The picker also shows Anthropic (8 models) because Claude Code OAuth credentials exist on disk (~/.claude/.credentials.json). This is confusing — we never use Anthropic through Hermes.
Feature Description
Add a
picker_providersconfig option under themodel:key to control which providers appear in the/modelpicker output. This allows users who exclusively use custom endpoints to hide built-in provider entries (Anthropic, OpenRouter, etc.) that auto-detect via OAuth/env credentials.Motivation
Our setup uses a single custom provider (AgentOne) with 23 models. The picker also shows Anthropic (8 models) because Claude Code OAuth credentials exist on disk (
~/.claude/.credentials.json). This is confusing — we never use Anthropic through Hermes.Current picker output:
There is no way to hide the Anthropic entry. The only workaround would be deleting the Claude Code credentials file, which breaks Claude Code itself.
Proposed Solution
Add a
picker_providerslist toconfig.yaml:Behavior
picker_providersvalue["custom"]["anthropic", "custom"][]Implementation
In
hermes_cli/model_switch.py, functionlist_authenticated_providers():picker_providersfrom config (passed through or read from config)resultslist, before the final sort (around line 1145), filter results:custom:agentonebecomescustom,anthropic, etc.)Files to modify
hermes_cli/model_switch.py— add filter inlist_authenticated_providers(), acceptpicker_providersparamhermes_cli/config.py— addpicker_providersto default config schema (default: null)list_authenticated_providers()— pass the new param from configSize estimate
~15-20 lines of functional code + config schema entry. No new dependencies.
Alternatives Considered
hide_builtin_providers: true— simpler but less flexible (binary toggle)Search Confirmation
Searched this repo:
gh search issues "picker provider filter"— no matchesgh search prs "picker provider"— 10 results, all about dedup/discovery, none about filtering by config