feat(kilo-vscode): support promoted model deep links - #10827
Conversation
Code Review SummaryStatus: 2 Issues Found | Recommendation: Address before merge Overview
Changes Since Previous Review
Active Issues (not in PR diff — summary only)WARNING: Race condition reintroduced in
|
| File | Line | Issue |
|---|---|---|
packages/kilo-vscode/src/kilo-provider/model-state.ts |
67–82 | WARNING: read() called outside write queue — concurrent persistModelSelection/clearModelSelection can lose writes |
packages/kilo-vscode/tests/unit/model-state.test.ts |
— | WARNING: Concurrent-write regression test deleted; should be restored |
Carried Forward: Active Inline Comments
| File | Line | Issue |
|---|---|---|
packages/kilo-vscode/src/KiloProvider.ts |
3205 | WARNING: !this.client guard in flushPendingKiloModel means deep links arriving before the client is ready are queued, but the flush at "connected" state change should recover them. Confirm this is intentional and not silently dropping links if the connection never reaches "connected". |
Other Observations (not in diff)
| File | Line | Issue |
|---|---|---|
packages/kilo-vscode/webview-ui/src/context/provider-utils.ts |
44 | The isModelValid function uses a hardcoded "kilo" string instead of KILO_PROVIDER_ID. Low risk (same value) but inconsistent with the rest of the codebase. |
Files Reviewed (incremental: 4 changed files + 1 deleted)
packages/kilo-vscode/src/kilo-provider/model-state.ts— WARNING: race condition (read outside queue)packages/kilo-vscode/tests/unit/model-state.test.ts— deleted (concurrent-write test removed)packages/kilo-vscode/webview-ui/src/context/session.tsx— revision tracking removed,applyPersistedModelremoved; cleanpackages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts—revisionfield removed; cleanpackages/kilo-vscode/webview-ui/src/types/messages/webview-messages.ts—revisionfield removed; clean
Fix these issues in Kilo Cloud
Reviewed by claude-4.6-sonnet-20260217 · 1,100,418 tokens
Review guidance: REVIEW.md from base branch main
|
Also validated:
It does not affect agent manager sessions but I think that is OK, especially for initial release. |
|
Demo: demo.mov |
…-link feat(kilo-vscode): support promoted model deep links


Summary
The VS Code extension URI handler cannot currently select a specific model. This makes links for free-model launches, new-model announcements, and promotions unnecessarily cumbersome because users must open VS Code, open the model picker, and locate the model manually.
This PR adds support for
vscode://kilocode.kilo-code/kilocode/model?model=<modelID>links. The extension opens and focuses the Kilo sidebar, refreshes the Kilo Gateway model catalog, and applies the linked model only when it is present in that refreshed catalog.The linked model uses the same selection path as the model picker: it applies as an override to the active session when one exists, updates model recents, and otherwise becomes the selected model for the active agent's next task. It does not change the user's configured default model setting.
Details
vscode://kilocode.kilo-code/kilocode/model?...links and accept model IDs present in the refreshed Kilo Gateway catalogValidation
bun run --cwd packages/kilo-vscode typecheckbun run --cwd packages/kilo-vscode test:unit(2589 passing tests)bun turbo typecheckRollout