Duplicate Copilot agents shown when contributed by both VS Code extension and Copilot CLI plugin
@connor4312 is already working on this.
Since May 27, 2026.
Assessment
This issue has not been assessed yet.
Description
Description
When the same Copilot agent is contributed by both a VS Code extension and a Copilot CLI plugin, the Copilot Chat agent picker shows two identical entries with the same display name.
In my case, modernize-dotnet appears twice in the picker. One entry is contributed by a VS Code extension, and the other is contributed by a Copilot CLI plugin. Both entries look identical in the UI, so there is no way to tell which one is which.
This can confuse users because they may not know which agent source they are selecting, and there is no visible way to differentiate, deduplicate, or merge them.
Steps to Reproduce
- Install a VS Code extension that contributes a Copilot agent, for example modernize-dotnet.
- Install a Copilot CLI plugin that contributes an agent with the same display name, also modernize-dotnet
- Open Copilot Chat.
- Open the agent picker.
- Observe that
modernize-dotnetappears twice with identical labels.
Expected Behavior
The agent picker should either:
- Clearly differentiate agents contributed from different sources, such as extension-contributed agents versus Copilot CLI plugin-contributed agents, or
- Deduplicate/merge equivalent agents when they represent the same capability.
Actual Behavior
The agent picker shows two identical modernize-dotnet entries. There is no visible source label, tooltip, grouping, or other UI affordance to distinguish them.
Additional Context
The two agents come from different locations:
-
VS Code extension:
/Users/shenchen/.vscode/extensions/ms-dotnettools.vscode-dotnet-modernize-1.0.1143/prompts/modernize-dotnet.agent.md -
Copilot CLI plugin:
/Users/shenchen/.copilot/installed-plugins/modernize-dotnet-plugins/modernize-dotnet/agents/modernize-dotnet.agent.md
Screenshots show:
- The Copilot Chat agent picker listing
modernize-dotnettwice. - The VS Code extension-contributed
modernize-dotnet.agent.md. - The Copilot CLI plugin-contributed
modernize-dotnet.agent.md.
Environment
- Version: 1.121.0
- Commit: f6cfa2ea2403534de03f069bdf160d06451ed282
- Date: 2026-05-19T11:51:53+02:00
- Electron: 39.8.8
- ElectronBuildId: 13870025
- Chromium: 142.0.7444.265
- Node.js: 22.22.1
- V8: 14.2.231.22-electron.0
- OS: Darwin arm64 25.5.0
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.9k
- PR merge metrics
- PR metrics pending
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/vscode
-
testplan-item
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
new release
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
testplan-item
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
testplan-item
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
All issues in microsoft/vscode
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·