[BUG] /reload-plugins does not update shallow-cloned marketplace repos

Resolved 💬 3 comments Opened Apr 3, 2026 by chanmuzi Closed Apr 6, 2026

Summary

/reload-plugins does not properly update plugin marketplace repos that were shallow-cloned during initial installation. The marketplace directory's git working tree stays at the version it was initially installed at, causing all subsequent plugin updates to be silently ignored.

Steps to reproduce

  1. Install a plugin from marketplace: /plugin marketplace add chanmuzi/git-conventions/plugin install git-conventions@git-conventions
  2. The plugin author merges several PRs to main on GitHub (e.g., PRs #15–#20)
  3. Run /reload-plugins in any session

Expected behavior

The marketplace repo should be updated to the latest origin/main, and the session should load the updated skill definitions.

Actual behavior

The marketplace directory (~/.claude/plugins/marketplaces/git-conventions/) is a shallow clone (.git/shallow exists). /reload-plugins runs git fetch but:

  • The shallow clone's origin/main ref does not advance to the actual remote HEAD
  • No git merge or git reset --hard origin/main is performed after fetch
  • The working tree stays at the old version indefinitely

Evidence from investigation:

# Marketplace repo state after /reload-plugins
marketplace HEAD:  5a7375e (PR #14)  ← stuck here
origin/main:       5a7375e (PR #14)  ← fetch didn't advance this
actual remote main: 1740495 (PR #20) ← 6 PRs behind

# .git/shallow file exists, anchored at an old commit
cat .git/shallow → 5c2d5fe (PR #11)

Manual fix that works:

cd ~/.claude/plugins/marketplaces/git-conventions
git fetch --unshallow origin main
git reset --hard origin/main

After this manual fix + /reload-plugins, the session correctly loads the updated skills.

Impact

  • All marketplace plugin updates after initial install are silently lost
  • Users see stale plugin behavior with no indication that updates are available
  • The issue is invisible — version in SKILL.md frontmatter may even show the "correct" version string while the actual content is outdated

Environment

  • macOS (Darwin 25.4.0)
  • Claude Code CLI

View original on GitHub ↗

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