Marketplace auto-update fetches but doesn't pull, so plugin updates never apply
Summary
Enabling "auto-update" on a marketplace doesn't actually apply updates. The marketplace repo is fetched (git fetch) but never merged/pulled, so the local checkout stays stale. Version bumps in marketplace.json are never seen locally, and plugin updates never propagate.
Steps to reproduce
- Create a plugin marketplace repo on GitHub with a plugin at version
1.0.0 - Install:
/plugin marketplace add org/repo→/plugin install plugin-name@marketplace-name - Confirm plugin works
- Push a change to the plugin repo: add a new skill, bump version to
1.1.0in bothplugin.jsonandmarketplace.json - Enable auto-update:
/plugin→ Marketplaces → select marketplace → Enable auto-update - Start a new session
Expected: Plugin updates to 1.1.0, new skill is available
Actual: Plugin stays at 1.0.0, new skill is not available
Diagnosis
The marketplace clone at ~/.claude/plugins/marketplaces/<name>/ shows:
local HEAD: <old commit> (version 1.0.0)
origin/main: <new commit> (version 1.1.0)
git fetch runs, but the working tree is never updated. Since Claude Code reads marketplace.json from the working tree (not from origin/main), it never sees the version bump.
Workaround
Users must manually run:
/plugin marketplace update <name>
/reload-plugins
This does a proper pull and applies the update. But it defeats the purpose of "Enable auto-update."
Environment
- Claude Code CLI (latest as of 2026-04-16)
- macOS
- Tested with a GitHub-hosted private marketplace repo
- Also confirmed that
superpowers-marketplacehas the same local/remote divergence (local HEAD behindorigin/main), suggesting this affects all third-party marketplaces
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗