Skip to content

feat(vscode): implement agent model and variant override dropdowns in VSCode settings#10505

Merged
marius-kilocode merged 3 commits into
mainfrom
supersede-10089-agent-model-variant-dropdowns
May 26, 2026
Merged

feat(vscode): implement agent model and variant override dropdowns in VSCode settings#10505
marius-kilocode merged 3 commits into
mainfrom
supersede-10089-agent-model-variant-dropdowns

Conversation

@kilo-code-bot

@kilo-code-bot kilo-code-bot Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Supersedes #10089 by @shssoichiro; the feature commit was cherry-picked with Josh Holmer preserved as the author.
This org-owned branch lets the visual regression workflow update screenshot baselines, which cannot be committed back to the forked PR.

Original PR: #10089

@kilo-code-bot

kilo-code-bot Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor Author

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (9 files)
  • .changeset/agent-variant-override.md
  • packages/kilo-vscode/tests/unit/config-utils.test.ts
  • packages/kilo-vscode/tests/unit/mode-model.test.ts
  • packages/kilo-vscode/webview-ui/src/components/settings/ModeEditView.tsx
  • packages/kilo-vscode/webview-ui/src/components/settings/mode-model.ts
  • packages/kilo-vscode/webview-ui/src/components/shared/ThinkingSelector.tsx
  • packages/kilo-vscode/webview-ui/src/stories/settings.stories.tsx
  • packages/kilo-vscode/webview-ui/src/stories/StoryProviders.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/agents.ts
  • i18n files (16 locales)

Notes:

  • modelPatch correctly handles all edge cases: clearing the model clears the variant together, switching to a model that doesn't support the current variant clears it, and keeping the variant when the new model supports it.
  • The conditional globalTrigger guard (registering the openVariantPicker listener only when needed) is sound since it's evaluated once at component init and the prop is always passed as a static literal.
  • The showVariant sentinel logic (!!cfg().variant won't fire on null) is correct — null is the delete sentinel not a truthy override value.
  • Minor: mode-model.test.ts has no test for modelPatch(provider, model, [], null) (switching to a variant-less model when variant was already cleared), but the behavior is correct by inspection.

Reviewed by claude-sonnet-4.6 · 653,551 tokens

Review guidance: REVIEW.md from base branch main

@shssoichiro

Copy link
Copy Markdown
Contributor

Unit test failure seems spurious

@marius-kilocode marius-kilocode enabled auto-merge May 26, 2026 10:36
@marius-kilocode marius-kilocode merged commit 38d65ca into main May 26, 2026
14 checks passed
@marius-kilocode marius-kilocode deleted the supersede-10089-agent-model-variant-dropdowns branch May 26, 2026 10:49
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.

2 participants