microsoft / microsoft/vscode

Preserve per-conversation model configuration for extension-provided models

Open
#331,864 1 comment 0 reactions 1 assignee Claimed by @vritant24 View on GitHub
feature-request model-byok
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

- Copilot Chat Extension Version: 0.63.0
- VS Code Version: 1.135.0
- OS Version: macOS
- Feature: Agent mode with an extension-provided language model
- Selected model: external model contributed through `LanguageModelChatProvider`
- Logs: privacy-safe local evidence is available; no credentials or provider bodies were retained

Steps to Reproduce:

1. Register an extension-provided chat model whose configuration schema includes reasoning effort and context size, with defaults such as Medium and full context.
2. In a new Agent conversation, select High reasoning and a 500K context window for that model.
3. Observe the request options received by the extension provider for the initial request and a continuation after a tool result.

The provider receives its schema defaults rather than the conversation's effective High/500K selection. This also affects same-endpoint follow-up requests made by Agent, inline chat, notebook, test-setup, codebase, and summarization paths.

The selected per-conversation configuration should be merged over schema and configured defaults and passed unchanged to the extension provider on every request that continues using the selected endpoint. Independently resolved utility, search, and execution endpoints should retain their own configuration.

A deterministic local reproducer uses opposite model defaults and observes four calls: High/500K on both initial and post-tool legs, followed by explicit Medium/full on both legs. This tests precedence and continuation behavior without contacting an external provider.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.