Plugin update doesn't refresh git-sourced marketplace cache

Resolved 💬 3 comments Opened Mar 21, 2026 by Mugunthan93 Closed Apr 17, 2026

Problem

When using extraKnownMarketplaces with a git source in settings.json:

{
  "extraKnownMarketplaces": {
    "my-marketplace": {
      "source": {
        "source": "git",
        "url": "https://gitlab.com/org/plugin.git"
      }
    }
  }
}

Running claude plugin update plugin@marketplace checks the locally cached marketplace.json at ~/.claude/plugins/marketplaces/<name>/ — it does NOT git pull from the remote first.

This means:

  1. Publisher pushes new version (e.g., v2.0.0 → v2.3.0) to the git repo
  2. User runs claude plugin update plugin@marketplace
  3. Claude Code checks the stale local cache → reports "already at latest version"
  4. User is stuck on the old version with no indication that an update exists

Expected Behavior

claude plugin update (and claude plugin install) should git pull the marketplace source before checking versions when the source is git type.

Current Workaround

Users must manually refresh the cache:

cd ~/.claude/plugins/marketplaces/<marketplace-name>
git pull origin main
rm -rf ~/.claude/plugins/cache/<marketplace>/<plugin>/*
claude plugin install plugin@marketplace

Environment

  • Claude Code version: 2.1.80
  • OS: macOS (Darwin 25.3.0)
  • Plugin source: GitLab (git source type)
  • Marketplace config: extraKnownMarketplaces in ~/.claude/settings.json

Impact

Every release of a git-sourced plugin requires users to know the manual workaround. claude plugin update is effectively broken for non-official marketplace sources.

View original on GitHub ↗

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