Feature: first-class GPT-5.1 models and reasoningEffort="none" support #2850

Closed
opened 2026-02-16 17:37:31 -05:00 by yindo · 2 comments
Owner

Originally created by @riatzukiza on GitHub (Nov 13, 2025).

Summary

Add native GPT-5.1 model awareness and reasoningEffort: "none" support to opencode core so providers like the Codex OAuth plugin can match the latest Codex CLI behavior without fighting the framework.

Background

In openai/codex (the official Codex CLI), GPT-5.1 is now the primary family, with:

  • gpt-5.1 general models supporting a new reasoningEffort: "none" mode.
  • gpt-5.1-codex and gpt-5.1-codex-mini for code-heavy workloads.
  • Model presets wired into model_presets.rs with specific reasoning defaults.

In opencode today (based on gh search code):

  • There are no direct references to GPT-5.1 model IDs or reasoningEffort: "none".
  • Providers can approximate GPT-5.1 behavior via their own config, but the core schema and model picker aren’t aware of these new variants.

In the Codex OAuth plugin (@promethean-os/opencode-openai-codex-auth):

  • We’ve already added GPT-5.1 presets (e.g. gpt-5.1-codex-low, gpt-5.1-none) and adjusted plugin-side normalization + reasoning heuristics to match Codex CLI.
  • However, these show up as “just more models” from opencode’s perspective; the core doesn’t know they are the new default family.

Proposed Changes

  1. Extend model configuration schema

    • Allow reasoningEffort to include "none" in addition to "minimal" | "low" | "medium" | "high".
    • Ensure this is reflected consistently in:
      • TypeScript/JSON schema used by opencode config.
      • Any validation logic around model options in core.
  2. Add GPT-5.1 model awareness to core

    • Introduce GPT-5.1 model IDs at the provider level (for provider.openai):
      • gpt-5.1, gpt-5.1-codex, gpt-5.1-codex-mini.
    • Mark GPT-5.1 as the preferred family for new configs, while keeping GPT-5 as a legacy/compatibility option.
    • Ensure the model picker / TUI shows GPT-5.1 variants with friendly names and correct reasoning defaults.
  3. Reasoning defaults aligned with Codex CLI

    • For GPT-5.1 general models:
      • Default reasoningEffort: "none" (new no-reasoning mode) when not overridden.
    • For GPT-5.1 Codex / Codex Mini:
      • Keep effort defaults aligned with Codex CLI presets (e.g. low/medium/high only, no none where unsupported).
    • For legacy GPT-5:
      • Maintain current opencode defaults to avoid breaking existing configs, or provide a migration path.
  4. Configuration helpers and docs

    • Update any core docs/config generators that currently mention GPT-5-only presets to include GPT-5.1 examples.
    • Add guidance for plugin authors on when to use GPT-5.1 vs GPT-5, and how reasoningEffort: "none" should behave.

Why This Belongs in Core (not just plugins)

  • Plugins can normalize model names and clamp reasoning values, but:
    • The opencode model picker, config wizards, and validation logic remain unaware of GPT-5.1.
    • Users configuring GPT-5.1 manually get no guidance or type safety from opencode itself.
  • Making GPT-5.1 first-class in core ensures:
    • Consistent UX across all OpenAI-based providers (not just the Codex plugin).
    • Easier future migration if OpenAI deprecates parts of the GPT-5 family.

Acceptance Criteria

  • Core config/schema supports reasoningEffort: "none" for appropriate models.
  • GPT-5.1 models appear in the opencode model picker with correct names and defaults.
  • Providers like the Codex OAuth plugin can reference GPT-5.1 model IDs without triggering validation errors or confusing UX.
  • Existing GPT-5-only configurations continue to work unchanged.
Originally created by @riatzukiza on GitHub (Nov 13, 2025). ## Summary Add native GPT-5.1 model awareness and `reasoningEffort: "none"` support to opencode core so providers like the Codex OAuth plugin can match the latest Codex CLI behavior without fighting the framework. ## Background In `openai/codex` (the official Codex CLI), GPT-5.1 is now the primary family, with: - `gpt-5.1` general models supporting a new `reasoningEffort: "none"` mode. - `gpt-5.1-codex` and `gpt-5.1-codex-mini` for code-heavy workloads. - Model presets wired into `model_presets.rs` with specific reasoning defaults. In opencode today (based on `gh search code`): - There are no direct references to GPT-5.1 model IDs or `reasoningEffort: "none"`. - Providers can *approximate* GPT-5.1 behavior via their own config, but the core schema and model picker aren’t aware of these new variants. In the Codex OAuth plugin (`@promethean-os/opencode-openai-codex-auth`): - We’ve already added GPT-5.1 presets (e.g. `gpt-5.1-codex-low`, `gpt-5.1-none`) and adjusted plugin-side normalization + reasoning heuristics to match Codex CLI. - However, these show up as “just more models” from opencode’s perspective; the core doesn’t know they are the new default family. ## Proposed Changes 1. **Extend model configuration schema** - Allow `reasoningEffort` to include `"none"` in addition to `"minimal" | "low" | "medium" | "high"`. - Ensure this is reflected consistently in: - TypeScript/JSON schema used by opencode config. - Any validation logic around model options in core. 2. **Add GPT-5.1 model awareness to core** - Introduce GPT-5.1 model IDs at the provider level (for `provider.openai`): - `gpt-5.1`, `gpt-5.1-codex`, `gpt-5.1-codex-mini`. - Mark GPT-5.1 as the *preferred* family for new configs, while keeping GPT-5 as a legacy/compatibility option. - Ensure the model picker / TUI shows GPT-5.1 variants with friendly names and correct reasoning defaults. 3. **Reasoning defaults aligned with Codex CLI** - For GPT-5.1 general models: - Default `reasoningEffort: "none"` (new no-reasoning mode) when not overridden. - For GPT-5.1 Codex / Codex Mini: - Keep effort defaults aligned with Codex CLI presets (e.g. low/medium/high only, no `none` where unsupported). - For legacy GPT-5: - Maintain current opencode defaults to avoid breaking existing configs, or provide a migration path. 4. **Configuration helpers and docs** - Update any core docs/config generators that currently mention GPT-5-only presets to include GPT-5.1 examples. - Add guidance for plugin authors on when to use GPT-5.1 vs GPT-5, and how `reasoningEffort: "none"` should behave. ## Why This Belongs in Core (not just plugins) - Plugins can normalize model names and clamp reasoning values, but: - The opencode model picker, config wizards, and validation logic remain unaware of GPT-5.1. - Users configuring GPT-5.1 manually get no guidance or type safety from opencode itself. - Making GPT-5.1 first-class in core ensures: - Consistent UX across all OpenAI-based providers (not just the Codex plugin). - Easier future migration if OpenAI deprecates parts of the GPT-5 family. ## Acceptance Criteria - Core config/schema supports `reasoningEffort: "none"` for appropriate models. - GPT-5.1 models appear in the opencode model picker with correct names and defaults. - Providers like the Codex OAuth plugin can reference GPT-5.1 model IDs without triggering validation errors or confusing UX. - Existing GPT-5-only configurations continue to work unchanged.
yindo closed this issue 2026-02-16 17:37:31 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Nov 13, 2025):

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

  • #450: Support for reasoning_effort parameter in UI - This issue is already tracking the need for reasoning_effort parameter support in the UI, which overlaps with your request for reasoningEffort="none" support

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

@github-actions[bot] commented on GitHub (Nov 13, 2025): This issue might be a duplicate of existing issues. Please check: - #450: Support for reasoning_effort parameter in UI - This issue is already tracking the need for reasoning_effort parameter support in the UI, which overlaps with your request for reasoningEffort="none" support Feel free to ignore if none of these address your specific case.
Author
Owner

@rekram1-node commented on GitHub (Nov 14, 2025):

"none" is currently supported

@rekram1-node commented on GitHub (Nov 14, 2025): "none" is currently supported
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#2850