Skip to content

feat(vscode): support agent switch links - #11317

Merged
lambertjosh merged 6 commits into
mainfrom
feat/vscode-switch-deep-links
Jun 17, 2026
Merged

feat(vscode): support agent switch links#11317
lambertjosh merged 6 commits into
mainfrom
feat/vscode-switch-deep-links

Conversation

@lambertjosh

@lambertjosh lambertjosh commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

What

  • Change the canonical model deep link to /kilocode/switch.
  • Accept model, agent, or both.
  • Validate linked models and agents while retaining /kilocode/model compatibility.

Why

Shared links need to switch directly to the intended model, agent, or combination. When both are present, applying the agent first ensures its mode change does not clear the linked model override.

@kilo-code-bot

kilo-code-bot Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

All previous issues resolved. Incremental changes are clean:

  • parseSwitchLink successfully inlined into extension.ts — simpler, no regression
  • hide_prompt_training_models overlay integration is correct, config field already existed upstream
  • Database reset safety guard properly tested with both static analysis and runtime safeguards
  • WithInstance.provideprovideTestInstance migration is complete and imports are correct
  • Chat divider removal and visual regression snapshot updates are consistent
  • KiloClaw docs restructuring and new integration pages are well-formed
Files Reviewed (22 files)
  • .changeset/remove-chat-input-divider.md
  • .changeset/show-console-training-filter.md
  • packages/kilo-console/src/routes/config/ModelsRoute.tsx
  • packages/kilo-docs/lib/nav/kiloclaw.ts
  • packages/kilo-docs/pages/kiloclaw/development-tools/composio.md
  • packages/kilo-docs/pages/kiloclaw/development-tools/index.md
  • packages/kilo-docs/pages/kiloclaw/development-tools/linear.md
  • packages/kilo-docs/previous-docs-redirects.js
  • packages/kilo-vscode/src/extension.ts
  • packages/kilo-vscode/src/kilo-provider/switch-link.ts (deleted)
  • packages/kilo-vscode/tests/unit/switch-link.test.ts (deleted)
  • packages/kilo-vscode/webview-ui/src/styles/chat-layout.css
  • packages/opencode/src/kilocode/config/overlay.ts
  • packages/opencode/test/fixture/db.ts
  • packages/opencode/test/kilocode/agent-permission-overrides.test.ts
  • packages/opencode/test/kilocode/database-reset-safety.test.ts
  • packages/opencode/test/kilocode/server/config-overlay.test.ts
  • Visual regression snapshots (16 LFS pointer updates)
Previous Review Summaries (3 snapshots, latest commit 61729fd)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 61729fd)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (8 files)
  • .changeset/switch-model-agent-links.md
  • packages/kilo-docs/pages/code-with-ai/agents/model-selection.md
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/extension.ts
  • packages/kilo-vscode/src/kilo-provider/switch-link.ts
  • packages/kilo-vscode/tests/unit/switch-link.test.ts
  • packages/kilo-vscode/webview-ui/src/context/session.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts

Incremental diff (commit 61729fd)

  • Removed mode alias support — agent is now the only parameter for agent selection
  • Docs, parser, and tests all updated consistently
  • Backward compatible: /kilocode/model route and all model/agent combinations continue to work

Previous review (commit 214b8da)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (8 files)
  • .changeset/switch-model-agent-links.md
  • packages/kilo-docs/pages/code-with-ai/agents/model-selection.md
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/extension.ts
  • packages/kilo-vscode/src/kilo-provider/switch-link.ts
  • packages/kilo-vscode/tests/unit/switch-link.test.ts
  • packages/kilo-vscode/webview-ui/src/context/session.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts

Incremental diff (commit 214b8da)

  • Made modelID optional across all layers (types, parser, provider, webview context)
  • Agent-only links now accepted: ?agent=plan works without requiring a model ID
  • Both modelID and agent can be provided together as before
  • requestProviders is only sent when a model ID needs validation; agent-only relies on the existing requestAgents flow
  • Tests updated: new agent-only test, mode-alias test without model, empty query rejection test

Previous review (commit a2ccf57)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (8 files)
  • .changeset/switch-model-agent-links.md
  • packages/kilo-docs/pages/code-with-ai/agents/model-selection.md
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/extension.ts
  • packages/kilo-vscode/src/kilo-provider/switch-link.ts
  • packages/kilo-vscode/tests/unit/switch-link.test.ts
  • packages/kilo-vscode/webview-ui/src/context/session.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts

Highlights

  • Backward compatible/kilocode/model continues to work alongside the new /kilocode/switch path.
  • Validate-before-apply — both the model ID and agent name are checked against the live catalog before applying; invalid values are silently ignored.
  • Correct orderingselectAgent runs before selectModel in the effect, ensuring the mode change doesn't clear the linked model override.
  • Thorough tests — covers all parameter combinations (agent vs mode, both present, neither, missing model, unknown path).
  • Clean changeset — user-facing description using imperative mood.

Reviewed by deepseek-v4-pro-20260423 · 574,614 tokens

Review guidance: REVIEW.md from base branch main

@lambertjosh

Copy link
Copy Markdown
Contributor Author
switch-link-agent-only-approved switch-link-cold-result switch-link-combined switch-link-model-only

@lambertjosh
lambertjosh merged commit 391a313 into main Jun 17, 2026
23 checks passed
@lambertjosh
lambertjosh deleted the feat/vscode-switch-deep-links branch June 17, 2026 12:22
LigiaZ added a commit that referenced this pull request Jun 17, 2026
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
…ep-links

feat(vscode): support agent switch links
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