Skip to content

[FEATURE]: models: TUI picker cannot distinguish identical model names across providers #55296

Closed as duplicate

Description

@Sakura-cool

Summary

When multiple providers define models with the same name/ID (e.g., the same
model served through different API keys or accounts), the TUI model picker
shows several entries with identical display names and no indication of which
provider each entry belongs to, so users cannot tell them apart when selecting
a model.

Environment

  • opencode version: v2.0.28
  • OS: Darwin 27.0.0 (darwin arm64)
  • Terminal: Apple_Terminal, TERM=xterm-256color, COLORTERM=truecolor
  • Shell: /bin/zsh
  • Install/channel: latest
  • Active plugins: None found in config

Reproduction

  1. In ~/.config/opencode/opencode.json, configure several
    @ai-sdk/openai-compatible providers that each define the same model IDs —
    e.g. providers sensenova, sensenova-copy, sensenova-copy2,
    sensenova-copy3, sensenova-copy4, each with models deepseek-v4-flash,
    glm-5.2, sensenova-6.8-flash-lite, sensenova-u1-fast (same baseURL,
    different API keys).
  2. Open the model picker in the TUI.
  3. Notice multiple entries with exactly the same display name.

Expected Behavior

Each entry in the TUI model picker should display a provider identifier — e.g.
provider/model (the opencode models CLI already prints
sensenova-copy2/glm-5.2), a provider column, or provider grouping — so
entries from different providers can be distinguished and searched.

Actual Behavior

Picker entries render with only the model name. The config above produces
5 providers × 4 identically-named models = 20 visually identical entries, with
no way to tell which provider/API key a given entry will use.

Additional Context

  • Use case: multiple API keys/accounts for the same provider (separate
    quota/billing) configured as separate provider entries; the provider ID is
    the only differentiator.
  • opencode models CLI already shows provider/model, so the TUI picker
    appears inconsistent with the CLI output.
  • Frequency: consistently reproducible with the config above.
  • No good workaround: renaming the model name field per provider works but
    pollutes the displayed model name everywhere.
  • Config API keys redacted; provider baseURLs are public endpoints.

Activity

  1. opencode-agent commented on Oct 14, 2026

    @opencode-agent
    Contributor

    Thanks for the clear report and repro config! I think this is a duplicate of #50322, which reports the same thing: the /models picker shows no provider name for providers declared in opencode.json, so models with the same ID under different providers look identical.

    Possible duplicates and related issues, ordered by likelihood:

    It may help to add a 👍 or your use case (several API keys for the same provider) to #50322. The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.

  2. opencode-agent commented on Oct 15, 2026

    @opencode-agent
    Contributor

    Closing this as a duplicate of #50322, since we haven't heard back in the past day about how this is different. Please follow #50322 for progress on showing provider names in the /models picker. #49309 tracks the underlying cause: providers declared in config are treated as disconnected. Adding a 👍 or your multiple-API-keys use case there is the best way to show it matters to you.

    If your problem turns out to be different, reply here and we can reopen this. Thanks again for the detailed report!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions