codex - 💡(How to fix) Fix VSCode extension reasoning effort dropdown shows all levels instead of model-supported ones

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

In the VSCode extension webview code (model-queries-wtBDUqr7.js), there is a hardcoded fallback array:

var h = ["minimal", "low", "medium", "high", "xhigh"]

The reasoning effort lookup function (Jp in composer-Cr2WXS3y.js) searches for the current model in the model/list response:

function Jp(e, t) {
  let n = e?.find(e => e.model === t);
  return n == null
    ? gr.map(e => ({description: "", reasoningEffort: e}))  // fallback: all 5 levels
    : n.supportedReasoningEfforts;  // correct: server-returned levels
}

When the model is not found in the list, it falls back to the hardcoded array instead of the model-specific supportedReasoningEfforts.

Code Example

var h = ["minimal", "low", "medium", "high", "xhigh"]

---

function Jp(e, t) {
  let n = e?.find(e => e.model === t);
  return n == null
    ? gr.map(e => ({description: "", reasoningEffort: e}))  // fallback: all 5 levels
    : n.supportedReasoningEfforts;  // correct: server-returned levels
}

---

let r = e ? B(n?.models, e) : n?.defaultModel ?? B(n?.models, "gpt-5.5");

---

[profiles.custom]
model = "my-custom-model"
model_provider = "my-provider"

---

"supported_reasoning_levels": [
  {"effort": "low", "description": "Fast responses with lighter reasoning"},
  {"effort": "medium", "description": "Balances speed and reasoning depth"},
  {"effort": "high", "description": "Greater reasoning depth for complex problems"}
]
RAW_BUFFERClick to expand / collapse

Problem

When using a custom model provider (configured via config.toml profile with model_provider and model), the thinking level / reasoning effort dropdown in the VSCode extension shows all hardcoded levels (minimal, low, medium, high, xhigh) instead of only the levels supported by the current model.

Root Cause

In the VSCode extension webview code (model-queries-wtBDUqr7.js), there is a hardcoded fallback array:

var h = ["minimal", "low", "medium", "high", "xhigh"]

The reasoning effort lookup function (Jp in composer-Cr2WXS3y.js) searches for the current model in the model/list response:

function Jp(e, t) {
  let n = e?.find(e => e.model === t);
  return n == null
    ? gr.map(e => ({description: "", reasoningEffort: e}))  // fallback: all 5 levels
    : n.supportedReasoningEfforts;  // correct: server-returned levels
}

When the model is not found in the list, it falls back to the hardcoded array instead of the model-specific supportedReasoningEfforts.

Why It Fails for Custom Providers

In use-model-settings-DFF1CncJ.js, when no model is explicitly selected in the VSCode UI, the default model slug is hardcoded to gpt-5.5:

let r = e ? B(n?.models, e) : n?.defaultModel ?? B(n?.models, "gpt-5.5");

When using a custom provider that does not have a gpt-5.5 model, the lookup always fails, causing the dropdown to fall back to the hardcoded 5 levels.

The model is configured via config.toml profile:

[profiles.custom]
model = "my-custom-model"
model_provider = "my-provider"

The catalog JSON correctly defines only 3 levels:

"supported_reasoning_levels": [
  {"effort": "low", "description": "Fast responses with lighter reasoning"},
  {"effort": "medium", "description": "Balances speed and reasoning depth"},
  {"effort": "high", "description": "Greater reasoning depth for complex problems"}
]

But the extension ignores this because the model lookup fails before it can be used.

Expected Behavior

The reasoning effort dropdown should:

  1. Use the current model from the app-server config/thread state (not a hardcoded gpt-5.5 default) to look up supported levels
  2. Fall back to a reasonable subset (e.g. low/medium/high) rather than showing all possible levels including minimal and xhigh when the model cannot be resolved

Environment

  • VSCode extension: openai.chatgpt v26.519.32039
  • Model provider: custom (OpenAI-compatible API)
  • Config: profile-based (model_catalog_json with supported_reasoning_levels set to low/medium/high)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix VSCode extension reasoning effort dropdown shows all levels instead of model-supported ones