Preserve per-conversation model configuration for extension-provided models
- 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
Assessment
This issue has not been assessed yet.