Marketplace name 'elisa-gepa' silently rejects every plugin with 'source type not supported'

Resolved 💬 1 comment Opened May 4, 2026 by alau-odycore Closed Jun 3, 2026

Summary

A plugin marketplace whose name is elisa-gepa causes /plugin install <plugin>@elisa-gepa to fail in the install dialog with:

Component summary not available for remote plugin Failed to install: This plugin uses a source type your Claude Code version does not support. Update Claude Code and try again.

The plugin sources are perfectly valid relative paths (./plugins/<name>). The error is wrong: the plugins do not use an unsupported source type — the marketplace name itself trips a code path that misclassifies every plugin in it as a "remote plugin" with an unrecognized source.

Renaming the marketplace to literally any other tested string (e.g. elisa-plugins) makes the same files install cleanly.

Environment

  • claude --version2.1.126 (Claude Code) (native installer, macOS arm64)
  • macOS 25.4.0
  • Marketplace source type: directory (local path)

Reproduction

TMP=/tmp/repro-elisa-gepa
mkdir -p "$TMP/.claude-plugin" "$TMP/plugins/p/.claude-plugin" "$TMP/plugins/p/agents"

cat > "$TMP/.claude-plugin/marketplace.json" <<'JSON'
{
  "name": "elisa-gepa",
  "owner": {"name": "test"},
  "plugins": [{"name": "p", "source": "./plugins/p", "description": "test"}]
}
JSON

cat > "$TMP/plugins/p/.claude-plugin/plugin.json" <<'JSON'
{"name": "p", "version": "0.1.0", "description": "test"}
JSON

cat > "$TMP/plugins/p/agents/p.md" <<'MD'
---
name: p
description: test
---
hi
MD

cd "$TMP" && git init -q && git add -A && git -c user.email=t@t -c user.name=t commit -q -m init

Then in Claude Code:

/plugin marketplace add /tmp/repro-elisa-gepa
/plugin install p@elisa-gepa

→ Fails with "source type not supported".

Now change just the marketplace name:

sed -i '' 's/"name": "elisa-gepa"/"name": "elisa-plugins"/' "$TMP/.claude-plugin/marketplace.json"
cd "$TMP" && git add -A && git -c user.email=t@t -c user.name=t commit -q -m rename
/plugin marketplace remove elisa-gepa
/plugin marketplace add /tmp/repro-elisa-gepa
/plugin install p@elisa-plugins

→ Installs cleanly: ✓ Installed p. Run /reload-plugins to apply.

What I ruled out (full bisect)

  • ✅ Worktree vs regular git repo (irrelevant — both fail with elisa-gepa)
  • ✅ Symlinked vs copied plugin dir (irrelevant)
  • ✅ Plugin source format: relative-string ./plugins/p is documented and works for elisa-plugins
  • ✅ Plugin file contents: minimal frontmatter still fails with elisa-gepa
  • ✅ Plugin name p is not the trigger (works under elisa-plugins)
  • gepa-docs is not the trigger (any plugin name fails under elisa-gepa)
  • ✅ No stale state in ~/.claude/plugins/ referencing elisa-gepa
  • ❌ Marketplace name elisa-gepa is the only variable that flips the result

The elisa-gepa name is not in the documented reserved list (claude-plugins-official, claude-code-marketplace, agent-skills, life-sciences, etc.). It feels like a substring/regex collision on gepa (or maybe eli/elisa) inside a name-validator that, on rejection, falls through to "remote plugin / unsupported source type" instead of returning a meaningful "reserved/blocked name" error.

Expected

Either:

  1. The marketplace name elisa-gepa works, or
  2. /plugin marketplace add rejects the marketplace at registration time with a clear "name is blocked because X" message — not a misleading "source type not supported" error at install time.

Actual

Marketplace registers fine, all plugins inside it fail to install with the wrong error.

Possibly related

  • #11278 (path resolution bug — different symptom, likely fixed)
  • #12457 (local-directory install fails to persist — different symptom)
  • #33718 (plugin not appearing — closed as duplicate)

None match this exact symptom of name-dependent rejection.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗