Models search does not show custom models unless explicit difference is specified #1890

Closed
opened 2026-02-16 17:33:05 -05:00 by yindo · 5 comments
Owner

Originally created by @geril07 on GitHub (Sep 30, 2025).

Originally assigned to: @rekram1-node on GitHub.

Example: I have defined GPT-5 Codex Low(gpt-5-codex-low) and GPT-5 Codex Minimal(gpt-5-codex-minimal) based on GPT-5-Codex(gpt-5-codex).
Problem: Searching custom models with gpt-5 or codex will not display Low/Minimal if the word is not specified explicitly.

Is this expected behavior?

provider field in opencode.json

    "openai": {
      "models": {
        "gpt-5-codex-low": {
          "id": "gpt-5-codex",
          "name": "GPT-5 Codex Low",

          "options": {
            "reasoning": {
              "effort": "low"
            }
          }
        },

        "gpt-5-codex-minimal": {
          "id": "gpt-5-codex",
          "name": "GPT-5 Codex Minimal",

          "options": {
            "reasoning": {
              "effort": "minimal"
            }
          }
        }
      }
    },

https://github.com/user-attachments/assets/5a2a41bd-60a2-46a8-9d86-c63029b11338

And an offtopic question, im a little bit confused about reasoning.effort and reasoningEffort. Which one should I specify for openai/openrouter, because according to their docs it's reasoning.effort

Originally created by @geril07 on GitHub (Sep 30, 2025). Originally assigned to: @rekram1-node on GitHub. Example: I have defined `GPT-5 Codex Low`(`gpt-5-codex-low`) and `GPT-5 Codex Minimal`(`gpt-5-codex-minimal`) based on GPT-5-Codex(`gpt-5-codex`). Problem: Searching custom models with `gpt-5` or `codex` will not display Low/Minimal if the word is not specified explicitly. Is this expected behavior? `provider` field in `opencode.json` ```json "openai": { "models": { "gpt-5-codex-low": { "id": "gpt-5-codex", "name": "GPT-5 Codex Low", "options": { "reasoning": { "effort": "low" } } }, "gpt-5-codex-minimal": { "id": "gpt-5-codex", "name": "GPT-5 Codex Minimal", "options": { "reasoning": { "effort": "minimal" } } } } }, ``` https://github.com/user-attachments/assets/5a2a41bd-60a2-46a8-9d86-c63029b11338 And an offtopic question, im a little bit confused about `reasoning.effort` and `reasoningEffort`. Which one should I specify for openai/openrouter, because according to their docs it's `reasoning.effort`
yindo closed this issue 2026-02-16 17:33:05 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Sep 30, 2025):

This issue might be a duplicate of existing issues. Please check:

  • #2829: Both issues involve custom model variants defined in opencode.json not working properly - #2829 discusses creating variants like 'gpt-5-high' extending 'gpt-5', which has similar underlying configuration/discovery issues as the search problem described here

Feel free to ignore if none of these address your specific case.

@github-actions[bot] commented on GitHub (Sep 30, 2025): This issue might be a duplicate of existing issues. Please check: - #2829: Both issues involve custom model variants defined in opencode.json not working properly - #2829 discusses creating variants like 'gpt-5-high' extending 'gpt-5', which has similar underlying configuration/discovery issues as the search problem described here Feel free to ignore if none of these address your specific case.
Author
Owner

@geril07 commented on GitHub (Sep 30, 2025):

Seems like model.Model.ID here is an id of base model and therefore custom models are skipped:

https://github.com/sst/opencode/blob/5a507023a6f3d9f166f4696bbb6424297f6afdaf/packages/tui/internal/components/dialog/models.go#L305-L310

@geril07 commented on GitHub (Sep 30, 2025): Seems like `model.Model.ID` here is an `id` of base model and therefore custom models are skipped: https://github.com/sst/opencode/blob/5a507023a6f3d9f166f4696bbb6424297f6afdaf/packages/tui/internal/components/dialog/models.go#L305-L310
Author
Owner

@rekram1-node commented on GitHub (Sep 30, 2025):

@geril07 doesn't seem like intended behavior Ill check it out

@rekram1-node commented on GitHub (Sep 30, 2025): @geril07 doesn't seem like intended behavior Ill check it out
Author
Owner

@rekram1-node commented on GitHub (Sep 30, 2025):

And an offtopic question, im a little bit confused about reasoning.effort and reasoningEffort. Which one should I specify for openai/openrouter, because according to their docs it's reasoning.effort

So we use vercel ai sdk and we need to document this better but the options come from their providers, so for openai:
https://ai-sdk.dev/providers/ai-sdk-providers/openai#responses-models

See:

reasoningEffort 'minimal' | 'low' | 'medium' | 'high' Reasoning effort for reasoning models. Defaults to medium. If you use providerOptions to set the reasoningEffort option, this model setting will be ignored.

@rekram1-node commented on GitHub (Sep 30, 2025): > And an offtopic question, im a little bit confused about reasoning.effort and reasoningEffort. Which one should I specify for openai/openrouter, because according to their docs it's reasoning.effort So we use vercel ai sdk and we need to document this better but the options come from their providers, so for openai: https://ai-sdk.dev/providers/ai-sdk-providers/openai#responses-models See: > reasoningEffort 'minimal' | 'low' | 'medium' | 'high' Reasoning effort for reasoning models. Defaults to medium. If you use providerOptions to set the reasoningEffort option, this model setting will be ignored.
Author
Owner

@rekram1-node commented on GitHub (Sep 30, 2025):

should be fixed in next release

@rekram1-node commented on GitHub (Sep 30, 2025): should be fixed in next release
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#1890