Marketplace git clones are created empty (directory exists but no files)

Resolved 💬 2 comments Opened Apr 9, 2026 by DojoGenesis Closed May 23, 2026

Description

When Claude Code clones a git-sourced marketplace, it creates the destination directory under ~/.claude/plugins/marketplaces/<name>/ but leaves it empty — no files, no .git directory. The marketplace appears registered in known_marketplaces.json but cannot load any plugins because the clone has no content.

Steps to Reproduce

  1. Open Claude Code and navigate to the plugin customize menu
  2. Add a git-based marketplace (e.g. https://github.com/DojoGenesis/plugins.git)
  3. Observe that ~/.claude/plugins/marketplaces/<name>/ is created but contains no files
  4. Restart Claude Code — the clone attempt is re-triggered but continues producing an empty directory

Expected Behavior

The destination directory contains a full git clone with all marketplace files present, and plugins from the marketplace are available to install.

Actual Behavior

The directory is created empty. No .git directory, no files. The marketplace entry appears in known_marketplaces.json as registered, but the plugin loader finds nothing to load.

Workaround

Manually running the clone resolves the issue:

git clone https://github.com/DojoGenesis/plugins.git ~/.claude/plugins/marketplaces/<name>

This populates the directory correctly and plugins become available, confirming the remote URL is valid and accessible. The bug is isolated to Claude Code's internal clone execution, not the remote source.

Additional Notes

This may be related to a separate issue where marketplaces cannot be deleted from the customize menu. Both symptoms — empty clones and non-deletable entries — suggest the marketplace state manager has lifecycle issues: it writes registration state before (or without confirming) the underlying filesystem operation succeeds, and provides no recovery path when the operation fails.

Environment: macOS (darwin), Claude Code CLI

View original on GitHub ↗

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