Duplicate Copilot agents shown when contributed by both VS Code extension and Copilot CLI plugin

Open
#318,422 1 comment 3 reactions 2 assignees View on GitHub

@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

  1. Install a VS Code extension that contributes a Copilot agent, for example modernize-dotnet.
  2. Install a Copilot CLI plugin that contributes an agent with the same display name, also modernize-dotnet
  3. Open Copilot Chat.
  4. Open the agent picker.
  5. Observe that modernize-dotnet appears 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:

  1. The Copilot Chat agent picker listing modernize-dotnet twice.
  2. The VS Code extension-contributed modernize-dotnet.agent.md.
  3. The Copilot CLI plugin-contributed modernize-dotnet.agent.md.
Image Image Image

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/vscode

All issues in microsoft/vscode

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.