Skip to content

[FEATURE]: expose reasoning effort "max" for GPT-5.6 (Codex Ultra parity) #36391

Closed

Description

@tlerbao

Summary

OpenAI GPT-5.6 supports reasoning.effort: "max", which corresponds to Codex UI "Ultra". OpenCode Ctrl+T variants for native OpenAI GPT-5.6 models currently stop at xhigh, so users cannot request max effort from the TUI.

Environment

  • Provider: built-in openai / @ai-sdk/openai
  • Models: openai/gpt-5.6, openai/gpt-5.6-sol, openai/gpt-5.6-terra, openai/gpt-5.6-luna
  • UI: model reasoning variant cycling via Ctrl+T

Steps to reproduce

  1. Select openai/gpt-5.6-sol or another GPT-5.6 OpenAI model.
  2. Cycle reasoning variants with Ctrl+T.
  3. Observe the available variants.

Expected behavior

GPT-5.6 models that support OpenAI reasoning.effort: "max" should expose a max variant, matching Codex UI "Ultra" semantics.

The outgoing Responses request should be able to include:

{
  "model": "gpt-5.6-sol",
  "reasoning": {
    "effort": "max",
    "summary": "auto"
  }
}

Actual behavior

The variant list appears to stop at:

none, low, medium, high, xhigh

There is no max / Ultra variant exposed for GPT-5.6.

Suspected implementation details

ProviderTransform.variants() appears to use openaiReasoningEfforts(). For GPT-5.6-style versions, this currently maps to a list that does not include max. Separately, the OpenAI Responses option handling appears to filter max out of OpenAI reasoning efforts.

Relevant areas:

  • packages/opencode/src/provider/transform.ts
  • packages/llm/src/protocols/utils/openai-options.ts

Related issues

This is related to previous reasoning effort UI/API discussions, but it is not the same as missing xhigh or API-side rejection of unsupported values:

Notes

Codex exposes "Ultra" for newer models and maps it to request-level max effort. It would be useful for OpenCode to expose the same capability for GPT-5.6 where the provider/model supports it.

Activity

  1. changed the title [-]feat(provider): expose reasoning effort "max" for GPT-5.6 (Codex Ultra parity)[/-] [+][FEATURE]: expose reasoning effort "max" for GPT-5.6 (Codex Ultra parity)[/+] on Jul 11, 2026
  2. tlerbao commented on Jul 11, 2026

    @tlerbao
    Author

    I noticed #36141 and #35985 after filing this. This can be closed as a duplicate if maintainers prefer.

    One additional implementation concern: PR #35985 appears to improve variant discovery from models.dev metadata, but packages/llm/src/protocols/utils/openai-options.ts also appears to filter max out of OpenAIReasoningEfforts. If that code path is used for GPT-5.6 Responses requests, exposing the variant in the UI may not be sufficient; request validation/serialization may also need to accept and forward reasoning.effort: "max".

    So the full expected behavior is:

    1. expose max when the selected model advertises it; and
    2. preserve max through the OpenAI Responses wire path.
  3. github-actions commented on Jul 11, 2026

    @github-actions
    Contributor

    Thanks for updating the issue! It now follows our contributing guidelines.

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions