Summary
Built-in Copilot Chat agents (like Explore) ship with a hardcoded model field in their .agent.md file under the extension's globalStorage. Editing that file to use a BYOK or non-Copilot model is silently undone on every VS Code restart or after a set timeframe (difficult to confirm). There is no supported way to override the model on a built-in agent.
This is a cost issue for BYOK users under usage-based billing — every subagent invocation burns Copilot credits even when the user has their own provider configured and is using a BYOK model as their primarily selected model.
Proposed Solutions
Option A — VS Code setting: Introduce a user setting (e.g. github.copilot.chat.agentModelOverrides) that lets users map built-in agent names to a specific model. This gives explicit control without relying on file-system precedence rules.
Option B — Drop hardcoded model from built-in agent files (preferred): Remove the model: frontmatter from built-in .agent.md files like Explore.agent.md. Without it, the agent falls back to the user's currently selected default model in the picker. Users who want a specific model can still pin one by creating a user-level .agent.md override in %APPDATA%\Code\User\prompts\. This is simpler, respects user defaults, and doesn't require a new setting.
Summary
Built-in Copilot Chat agents (like
Explore) ship with a hardcodedmodelfield in their.agent.mdfile under the extension'sglobalStorage. Editing that file to use a BYOK or non-Copilot model is silently undone on every VS Code restart or after a set timeframe (difficult to confirm). There is no supported way to override the model on a built-in agent.This is a cost issue for BYOK users under usage-based billing — every subagent invocation burns Copilot credits even when the user has their own provider configured and is using a BYOK model as their primarily selected model.
Proposed Solutions
Option A — VS Code setting: Introduce a user setting (e.g.
github.copilot.chat.agentModelOverrides) that lets users map built-in agent names to a specific model. This gives explicit control without relying on file-system precedence rules.Option B — Drop hardcoded
modelfrom built-in agent files (preferred): Remove themodel:frontmatter from built-in.agent.mdfiles likeExplore.agent.md. Without it, the agent falls back to the user's currently selected default model in the picker. Users who want a specific model can still pin one by creating a user-level.agent.mdoverride in%APPDATA%\Code\User\prompts\. This is simpler, respects user defaults, and doesn't require a new setting.