Skip to content

Built-in agents silently burn copilot credits — user-level .agent.md overrides are ignored #320171

@skittlz444

Description

@skittlz444

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.

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions