Plugin marketplace: empty clones, stale cache not refreshing, broken update/delete

Resolved 💬 3 comments Opened Apr 11, 2026 by DojoGenesis Closed Apr 14, 2026

Summary

The Claude Code plugin marketplace state manager has three systemic lifecycle bugs for git-sourced marketplaces. These affect all marketplace operations (add, update, remove) and have stable workarounds but should be fixed in the manager.

Bug 1: Clone creates empty directory

Symptom: Adding a marketplace via URL succeeds (no error shown) but the clone directory is empty — no plugin.json or skill files are present.

Workaround: Manually clone the repo:

git clone <url> ~/.claude/plugins/marketplaces/<name>

Bug 2: Stale data, refresh does not work

Symptom: After a marketplace is updated upstream, the cached data does not refresh even when the "Refresh" action is triggered.

Workaround: Set lastUpdated to "2020-01-01T00:00:00.000Z" in ~/.claude/plugins/known_marketplaces.json, then restart Claude Code.

Bug 3: "Update" button not pressable / "Delete" does not work

Symptom: The Update button is grayed out or unresponsive. The Delete action silently fails or leaves stale entries.

Workarounds:

  • Update: cd ~/.claude/plugins/marketplaces/<name> && git pull
  • Delete: Remove the entry directly from ~/.claude/plugins/known_marketplaces.json

Additional behavior

Claude Code rewrites known_marketplaces.json on startup, which silently reverts any manual URL edits made to the file. URL changes must go through the UI add/remove flow to persist.

Key file

~/.claude/plugins/known_marketplaces.json — source of truth for registered marketplaces.

Environment

Claude Code (CLI), macOS, git-sourced marketplaces.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗