Skip to content

[Fix] Reasoning models stop thinking after model selection - #1349

Draft
zoomote[bot] wants to merge 2 commits into
mainfrom
fix/reasoning-defaults-0j945ts7kju2e
Draft

[Fix] Reasoning models stop thinking after model selection#1349
zoomote[bot] wants to merge 2 commits into
mainfrom
fix/reasoning-defaults-0j945ts7kju2e

Conversation

@zoomote

@zoomote zoomote Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

​Created by Roomote. Follow up by mentioning @roomote, in the web UI, or in Discord.

What changed

Reasoning-capable models now initialize and persist their advertised default effort instead of silently resolving to None. Models without an off mode fall back to their first supported effort, while an explicit user-selected None remains authoritative.

NanoGPT applies the same resolution before the settings UI mounts for both streaming requests and prompt completions. Regression tests cover advertised defaults, required and optional fallback paths, supported overrides, stale-value normalization, explicit disable, and both NanoGPT request paths.

The reasoning transition model was also checked with TLC across initialization, model switching, explicit effort, explicit disable, and request-enablement states. The TLA+ specification, configuration, and validation report are available for review.

Why this change was made

Users reported that DeepSeek V4, GLM 5.2, and Muse Spark stopped showing thinking after selecting or switching models. The UI displayed a fallback effort without persisting it, and NanoGPT omitted reasoning when no explicit setting existed.

Closes #1348.

Impact

Reasoning models start with a valid model-supported effort after selection and continue sending reasoning parameters across UI and non-UI request paths. Users who explicitly choose None keep reasoning disabled. The expanded component state matrix closes the remaining Codecov branch gap without adding brittle snapshots or a redundant VS Code-host e2e.

Related PRs

@codecov

codecov Bot commented Aug 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@zoomote

zoomote Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor Author

Addressed the remaining Codecov branch with component-level coverage for required reasoning without an advertised default, plus a state matrix for supported overrides, stale-value normalization, and optional-off defaults.

Snapshot and VS Code e2e coverage were intentionally not added: this is deterministic component/request state behavior with no visual or extension-host boundary. The focused component suite, full repository suite, type-check, and lint pass.

TLC model checking completed with no invariant violations across 20 reachable states: report.

Pushed in 84769af.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Reasoning-capable models default to no thinking after model selection

1 participant