microsoft / microsoft/vscode

Support session-scoped model configuration in the Sessions model picker

Open
#329,265 0 comments 0 reactions 1 assignee Claimed by @benvillalobos View on GitHub
automations
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

Repro:
1. Create an automation and set thinking level to A on any model
2. Open new session page, set thinking level to B
3. Run the automation
4. Notice the thinking level on the run is set to B
----

While migrating the new chat input widget into the automation dialog, I noticed that changing the reasoning effort or context size in the automation dialog also changes it in the regular New Chat widget, even before saving the automation.

The automation configuration itself is persisted and restored correctly by the provider. However, the Sessions `ModelPicker` does not provide `delegate.modelConfiguration`, causing `ModelPickerWidget` to fall back to the global `ILanguageModelsService`.

We need the Sessions model picker to support provider/session-scoped model configuration so that:

- Configuration is read from the session supplied to `NewChatInputWidget`.
- Picker changes update only that session draft.
- Providers can restore persisted model configuration into a session.
- Separate New Chat inputs do not affect one another.
- The global configuration remains a fallback when no scoped access is available.
- Reasoning effort and context size remain correct when an automation is edited or executed.

An investigation snapshot that captures and forwards provider-owned model configuration is available here:

- Branch: https://github.com/benvillalobos/vscode/tree/bv/automation-model-configuration-spike
- Commit: https://github.com/benvillalobos/vscode/commit/47b1788942b

That snapshot does not yet implement the required session-scoped `IModelConfigurationAccess`; it is intended as a place to resume the investigation.

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.