[GH-ISSUE #21501] feat: Workspace “Select a base model” dropdown becomes unusable with OpenRouter or multiple providers (duplicate formats, no provider context, huge unsorted list) #35031

Closed
opened 2026-04-25 09:14:27 -05:00 by GiteaMirror · 0 comments
Owner

Originally created by @spencerthayer on GitHub (Feb 17, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/21501

Check Existing Issues

  • I have searched for all existing open AND closed issues and discussions for similar requests. I have found none that is comparable to my request.

Verify Feature Scope

  • I have read through and understood the scope definition for feature requests in the Issues section. I believe my feature request meets the definition and belongs in the Issues section instead of the Discussions.

Problem Description

When editing a Workspace model and opening the “Select a base model” dropdown, the list becomes extremely chaotic when multiple providers are enabled or when OpenRouter is used.

The dropdown appears to aggregate models from multiple providers into a single flat list, mixing:

  • multiple naming schemes (bare IDs, provider-prefixed IDs, display labels),
  • duplicate entries for the same underlying model,
  • provider catalogs that are not relevant to the active connection.

This makes selecting the intended base model error-prone and slow.

Relevant docs context:

  • Workspace models are intended to be manageable and configurable within Workspace. :contentReference[oaicite:0]{index=0}
  • Open WebUI is “protocol-centric”, which makes provider context in UI even more important when multiple OpenAI-compatible endpoints are used. :contentReference[oaicite:1]{index=1}

Steps to reproduce

  1. Configure OpenRouter as a provider (or configure multiple providers: OpenAI, Gemini, Anthropic, etc).
  2. Navigate to Workspace → Models.
  3. Create or edit a Workspace model.
  4. Open the “Select a base model” dropdown.

Actual behavior

  • A very large, flat, effectively unsorted list appears.
  • Entries mix inconsistent identifiers and display labels.
  • Provider context is unclear for many entries.
  • Duplicate-like entries appear (example: bare gpt-5.2-codex and openai/gpt-5.2-codex with “OpenAI:” label).
  • The control is a plain <select>, so there is no search, no filtering, and no grouping.
  • Example excerpt of the rendered select/options (captured from DOM):

Expected behavior

  • The base-model picker should be usable even with large catalogs:
    • Searchable input (typeahead) or at a minimum provider filtering.
    • Clear provider context for each option.
    • No duplicate representations of the same model.
    • Option grouping by provider and or by connection.

Why this is a problem

  • High likelihood of selecting the wrong model due to duplicates and ambiguous names.
  • Poor UX when OpenRouter returns a long multi-vendor catalog.
  • The current UI does not scale with modern multi-provider setups.

Suggested fixes (UI/UX)

Any combination of the below would resolve the issue:

  1. Replace <select> with a searchable combobox

    • Client-side filtering with typeahead.
    • Optional “recently used” section.
  2. Group options using <optgroup> or equivalent

    • Group by provider (OpenAI, Anthropic, Google, OpenRouter, etc).
    • If multiple connections share the same protocol, group by connection name, not just protocol.
  3. Normalize and de-duplicate model IDs

    • Prefer one canonical internal ID format (example: openai/gpt-5.2-codex or gpt-5.2-codex, but not both).
    • If aliases exist, show one entry and store a canonical ID.
  4. Add a provider filter control

    • “All providers” default, plus quick filters (OpenRouter, OpenAI, Google, etc).
    • When editing a model tied to a specific provider connection, optionally default to that provider.
  5. Display provider badges and stable naming

    • Label examples:
      • OpenAI · gpt-5.2-codex
      • OpenRouter · anthropic/claude-sonnet-4
      • Google · models/gemini-2.5-pro
    • Avoid mixing bare IDs and “Provider: Name” label variants for the same item.
Originally created by @spencerthayer on GitHub (Feb 17, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/21501 ### Check Existing Issues - [x] I have searched for all existing **open AND closed** issues and discussions for similar requests. I have found none that is comparable to my request. ### Verify Feature Scope - [x] I have read through and understood the scope definition for feature requests in the Issues section. I believe my feature request meets the definition and belongs in the Issues section instead of the Discussions. ### Problem Description When editing a Workspace model and opening the “Select a base model” dropdown, the list becomes extremely chaotic when multiple providers are enabled or when OpenRouter is used. The dropdown appears to aggregate models from multiple providers into a single flat list, mixing: - multiple naming schemes (bare IDs, provider-prefixed IDs, display labels), - duplicate entries for the same underlying model, - provider catalogs that are not relevant to the active connection. This makes selecting the intended base model error-prone and slow. Relevant docs context: - Workspace models are intended to be manageable and configurable within Workspace. :contentReference[oaicite:0]{index=0} - Open WebUI is “protocol-centric”, which makes provider context in UI even more important when multiple OpenAI-compatible endpoints are used. :contentReference[oaicite:1]{index=1} ### Steps to reproduce 1. Configure OpenRouter as a provider (or configure multiple providers: OpenAI, Gemini, Anthropic, etc). 2. Navigate to Workspace → Models. 3. Create or edit a Workspace model. 4. Open the “Select a base model” dropdown. ### Actual behavior - A very large, flat, effectively unsorted list appears. - Entries mix inconsistent identifiers and display labels. - Provider context is unclear for many entries. - Duplicate-like entries appear (example: bare `gpt-5.2-codex` and `openai/gpt-5.2-codex` with “OpenAI:” label). - The control is a plain `<select>`, so there is no search, no filtering, and no grouping. - Example excerpt of the rendered select/options (captured from DOM): ### Expected behavior - The base-model picker should be usable even with large catalogs: - Searchable input (typeahead) or at a minimum provider filtering. - Clear provider context for each option. - No duplicate representations of the same model. - Option grouping by provider and or by connection. ### Why this is a problem - High likelihood of selecting the wrong model due to duplicates and ambiguous names. - Poor UX when OpenRouter returns a long multi-vendor catalog. - The current UI does not scale with modern multi-provider setups. ### Suggested fixes (UI/UX) Any combination of the below would resolve the issue: 1. Replace `<select>` with a searchable combobox - Client-side filtering with typeahead. - Optional “recently used” section. 2. Group options using `<optgroup>` or equivalent - Group by provider (OpenAI, Anthropic, Google, OpenRouter, etc). - If multiple connections share the same protocol, group by connection name, not just protocol. 3. Normalize and de-duplicate model IDs - Prefer one canonical internal ID format (example: `openai/gpt-5.2-codex` or `gpt-5.2-codex`, but not both). - If aliases exist, show one entry and store a canonical ID. 4. Add a provider filter control - “All providers” default, plus quick filters (OpenRouter, OpenAI, Google, etc). - When editing a model tied to a specific provider connection, optionally default to that provider. 5. Display provider badges and stable naming - Label examples: - `OpenAI · gpt-5.2-codex` - `OpenRouter · anthropic/claude-sonnet-4` - `Google · models/gemini-2.5-pro` - Avoid mixing bare IDs and “Provider: Name” label variants for the same item.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#35031