C:/Program Files/Git/plugin install fails when marketplace internal name differs from repo slug

Open 💬 0 comments Opened Jun 25, 2026 by gentledepp

Description

When a marketplace's marketplace.json has an internal name that differs from the GitHub owner/repo slug, /plugin install always fails — there is no combination of names that works.

Steps to reproduce

/plugin marketplace add dotnet/skills
/plugin install dotnet@dotnet-agent-skills

The marketplace dotnet/skills registers locally as dotnet-skills (derived from repo slug), but its .claude-plugin/marketplace.json declares "name": "dotnet-agent-skills".

This creates an irreconcilable mismatch:

| Command | Error |
|---|---|
| /plugin install dotnet@dotnet-skills | Plugin "dotnet" not found in marketplace "dotnet-skills" |
| /plugin install dotnet@dotnet-agent-skills | Marketplace "dotnet-agent-skills" not found |

  • Using the local alias (dotnet-skills) → marketplace is found, but plugins aren't (possibly because plugin lookup uses the internal name)
  • Using the internal name (dotnet-agent-skills) → install lookup fails because the registered alias is dotnet-skills

/plugin marketplace list shows dotnet-skills. The repo's own README instructs users to run /plugin install dotnet@dotnet-agent-skills — which never works because the registered alias never matches.

Expected behavior

Either:

  • Claude Code should register the marketplace under its internal name from marketplace.json (not the repo slug), or
  • Claude Code should accept either the alias or the internal name when resolving @<marketplace> in /plugin install

Environment

  • Claude Code (Windows 11, desktop app)
  • Marketplace repo: https://github.com/dotnet/skills
  • Internal marketplace name: dotnet-agent-skills (from .claude-plugin/marketplace.json)
  • Registered alias after /plugin marketplace add dotnet/skills: dotnet-skills

View original on GitHub ↗