Skip to content

fix(vscode): show default fallback model in small model selector when not configured#8088

Open
kilo-code-bot[bot] wants to merge 1 commit intomainfrom
fix/small-model-selector-default-fallback
Open

fix(vscode): show default fallback model in small model selector when not configured#8088
kilo-code-bot[bot] wants to merge 1 commit intomainfrom
fix/small-model-selector-default-fallback

Conversation

@kilo-code-bot
Copy link
Copy Markdown
Contributor

@kilo-code-bot kilo-code-bot bot commented Apr 1, 2026

Summary

  • Display kilo-auto/small (default) as a greyed-out italic placeholder in the small model selector when no model is explicitly configured
  • Update the clear option label to Not set (use kilo-auto/small) so users understand what happens when they clear their selection
  • Add placeholder prop to ModelSelectorBase for reuse by other selectors that need similar default-fallback UX

Closes #8087

Changes

File Change
model-selector-utils.ts buildTriggerLabel() accepts optional placeholder param, used when allowClear is true and no value is selected
ModelSelector.tsx ModelSelectorBaseProps gains placeholder prop; trigger label renders with italic/opacity style when showing placeholder
ModelsTab.tsx Passes placeholder and updated clearLabel to the small model selector
en.ts Adds settings.providers.smallModel.default and settings.providers.smallModel.notSet i18n strings
model-selector-utils.test.ts 3 new tests for placeholder behavior in buildTriggerLabel

How it works

When small_model config is null/undefined:

  • Trigger button shows kilo-auto/small (default) in italic at 60% opacity — visually distinct from an explicitly selected model
  • Clear option in the dropdown says Not set (use kilo-auto/small) instead of the generic Not set (use server default)

When a model is explicitly selected, the trigger renders normally (no italic, full opacity).

… not configured

Display 'kilo-auto/small (default)' as an italic placeholder in the small
model selector trigger when no model is explicitly configured, so users can
see which model is actually being used for background tasks.

Closes #8087
clearLabel={language.t("settings.providers.notSet")}
clearLabel={language.t("settings.providers.smallModel.notSet")}
includeAutoSmall
placeholder={language.t("settings.providers.smallModel.default")}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WARNING: Unset small model is not always kilo-auto/small

This placeholder (and the matching clear label above) describes small_model = null as a fixed fallback, but the backend does not work that way. Provider.getSmallModel(defaultModel.providerID) first tries a provider-specific small model, and only falls back to kilo-auto/small in some Kilo paths. Users with Anthropic/OpenAI defaults will see misleading copy here.

@kilo-code-bot
Copy link
Copy Markdown
Contributor Author

kilo-code-bot bot commented Apr 1, 2026

Code Review Summary

Status: 1 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 1
SUGGESTION 0
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-vscode/webview-ui/src/components/settings/ModelsTab.tsx 64 The placeholder says clearing the small-model setting always falls back to kilo-auto/small, but backend selection is provider-dependent for many defaults.
Other Observations (not in diff)

Issues found in unchanged code that cannot receive inline comments:

File Line Issue
None - None
Files Reviewed (5 files)
  • packages/kilo-vscode/tests/unit/model-selector-utils.test.ts - 0 issues
  • packages/kilo-vscode/webview-ui/src/components/settings/ModelsTab.tsx - 1 issue
  • packages/kilo-vscode/webview-ui/src/components/shared/ModelSelector.tsx - 0 issues
  • packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts - 0 issues
  • packages/kilo-vscode/webview-ui/src/i18n/en.ts - 0 issues

Fix these issues in Kilo Cloud


Reviewed by gpt-5.4-20260305 · 859,149 tokens

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.

Small model selector should show the default fallback model when no model is configured

0 participants