Skip to content

fix(desktop): model picker shows only configured providers - #814

Merged
agentforce314 merged 1 commit into
mainfrom
fix/desktop-configured-providers-only
Aug 8, 2026
Merged

fix(desktop): model picker shows only configured providers#814
agentforce314 merged 1 commit into
mainfrom
fix/desktop-configured-providers-only

Conversation

@agentforce314

Copy link
Copy Markdown
Owner

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:

  • a key-taking provider with credentials present (api_key in config, or a subscription/OAuth — the catalog folds both into authenticated), plus
  • whichever provider the live session is running on.

Local 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-flash next to deepseek-v4-pro) is selectable.

configured_providers_only() filters both catalog paths (welcome-screen config-only + live-session list_model_providers) so the picker is consistent.

Verified live (the test you asked for)

  • Picker shows exactly the 6 configured providers (anthropic, deepseek, minimax, openai, openrouter, zai); the ~24-provider long tail is gone.
  • deepseek exposes all 4 models incl. deepseek-v4-flash.
  • Created a session on deepseek + deepseek-v4-flash and ran a real turn → returned 42 for 7×6, no errors.

3 new pytest cases; 61 desktop tests green.

🤖 Generated with Claude Code

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
agentforce314 enabled auto-merge (squash) August 8, 2026 16:31
@agentforce314
agentforce314 merged commit 481fb01 into main Aug 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant