fix(desktop): model picker shows only configured providers - #814
Merged
Conversation
The picker listed all ~30 registry providers, most unconfigured (marked 'paste KEY to activate'). Now it shows only providers the user actually set up: a key-taking provider with credentials present (api_key in config, or a subscription/OAuth — the catalog folds both into 'authenticated'), plus whichever the live session runs on. Local no-key servers (ollama/vllm/sglang) are excluded unless active — the user didn't configure them. Also: the config-only catalog no longer truncates the active provider's model list to just default_model — it shows the provider's FULL registry list, so every model (e.g. deepseek-v4-flash alongside deepseek-v4-pro) is selectable in the picker. configured_providers_only() filters both catalog paths (config-only welcome screen + live-session list_model_providers) so the picker is consistent. Verified live: picker shows exactly the 6 configured providers (anthropic, deepseek, minimax, openai, openrouter, zai) with the ~24-provider long tail gone; deepseek exposes all 4 models. Tested the deepseek provider + deepseek-v4-flash end-to-end — session boots on it and a real turn returns '42' for 7x6, no errors. 3 new pytest cases; 61 desktop tests green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
agentforce314
enabled auto-merge (squash)
August 8, 2026 16:31
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.
Per request: disable all providers by default; only show the ones configured in the config file (with an API key).
Before
The picker listed all ~30 registry providers — most unconfigured, each marked "paste KEY to activate". Noisy and confusing.
After
It shows only providers the user actually set up:
api_keyin config, or a subscription/OAuth — the catalog folds both intoauthenticated), plusLocal no-key servers (ollama / vllm / sglang) are excluded unless active — the user didn't configure them.
Also fixed: the config-only catalog no longer truncates the active provider's model list to just
default_model— it shows the provider's full model list, so every model (e.g.deepseek-v4-flashnext todeepseek-v4-pro) is selectable.configured_providers_only()filters both catalog paths (welcome-screen config-only + live-sessionlist_model_providers) so the picker is consistent.Verified live (the test you asked for)
42for 7×6, no errors.3 new pytest cases; 61 desktop tests green.
🤖 Generated with Claude Code