fix(vscode): honor configured reasoning defaults - #13546
Merged
Merged
Conversation
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (11 files)
Reviewed by grok-4.6 · Input: 438.4K · Output: 27.3K · Cached: 2.5M Review guidance: REVIEW.md from base branch |
marius-kilocode
enabled auto-merge
August 28, 2026 13:04
kirillk
approved these changes
Aug 28, 2026
This was referenced Aug 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Problem This Solves
Agent Behaviour can save a reasoning override that new Agent Manager sessions do not use. With Code configured to use Max and an older saved High preference, the picker and the provider request still use High.
Fixes #13514. Supersedes #13539.
Why This Change Was Made
The changes in #13539 restore the configured variant only when no remembered picker value exists. An isolated VS Code self-test reproduced the reported High reset with that patch applied and a legacy High preference in the test profile.
The same test also exposed an existing request mismatch: selecting Default changes the picker, but an omitted variant lets the backend apply the agent's configured Max again. Fixing only the displayed fallback does not make that selection work end to end.
New chat inputs already have a draft ID, so their explicit choices remain above the configured default.
Use this precedence: explicit session or draft choice, valid configured reasoning for the matching agent model, remembered agent preference, then legacy preference. Keep Default as an explicit empty-string request value, and recover it from session history. The worktree dialog now stores explicit choices rather than freezing an inherited configuration value.
User Impact
Evidence
Tested the built extension and local CLI through
vscode-self-test, using isolated settings, sessions, and a disposable Git repository. A local OpenAI-compatible provider exposed Low, High, and Max and recorded the actualreasoning_effortfield. No live model account or real credentials were used.highmaxmaxreasoning_effortAlso exercised Default before the first message, existing High session restoration, Default after a window reload, independent new tabs, agent switching, model switching with effort preservation, quick worktree creation, configured worktree creation, dialog reopening, and a saved settings change from Max to Low.
Configured override:
New tab with the same legacy High preference, #13539 on the left and the replacement on the right:
The local provider reports the incoming request effort. Request 1 generates the session title. The message requests use Max (request 2) and then model default (request 3), matching the picker: