Bug Description
The plugin marketplace auto-sync mechanism runs git fetch on marketplace repositories but does not git pull (fast-forward merge) the local branch. This means:
lastUpdated timestamp in known_marketplaces.json is refreshed — so it looks like sync ran
- But the local clone's
HEAD stays on the old commit
- Version comparison sees
installed == local (both stale), so no update is triggered
- New skills, bug fixes, and version bumps in the marketplace are never picked up
Steps to Reproduce
- Register a custom marketplace:
/plugin marketplace add <owner>/<repo>
- Install a plugin:
/plugin install <marketplace-name>
- Push new commits (including version bumps) to the marketplace repo's
main branch
- Start a new Claude Code session (triggers auto-sync)
- Observe that the plugin is not updated
Evidence
# After Claude Code auto-sync ran (lastUpdated was refreshed):
$ cd ~/.claude/plugins/marketplaces/de-skills
$ git branch -vv
* main f85ba46 [origin/main: behind 8] feat: remove harness skill from plugin marketplace
# origin/main has the new version, but local HEAD is stale:
$ git log --oneline origin/main -3
9bd4220 chore: bump version to 1.0.2 [skip ci]
a1064ff Merge pull request #12 from khc-dp/test/version
8ba713f test: test version up
Expected Behavior
After git fetch, the local branch should be fast-forwarded to origin/main (or the tracked branch), so that version changes are detected and installed plugins are updated accordingly.
Workaround
Manually pull in the marketplace directory:
cd ~/.claude/plugins/marketplaces/<marketplace-name> && git pull
Then run /skills refresh in the Claude Code session.
Environment
- Claude Code CLI (latest as of 2026-04-01)
- macOS (Darwin 23.4.0)
🤖 Generated with Claude Code
Bug Description
The plugin marketplace auto-sync mechanism runs
git fetchon marketplace repositories but does notgit pull(fast-forward merge) the local branch. This means:lastUpdatedtimestamp inknown_marketplaces.jsonis refreshed — so it looks like sync ranHEADstays on the old commitinstalled == local(both stale), so no update is triggeredSteps to Reproduce
/plugin marketplace add <owner>/<repo>/plugin install <marketplace-name>mainbranchEvidence
Expected Behavior
After
git fetch, the local branch should be fast-forwarded toorigin/main(or the tracked branch), so that version changes are detected and installed plugins are updated accordingly.Workaround
Manually pull in the marketplace directory:
Then run
/skills refreshin the Claude Code session.Environment
🤖 Generated with Claude Code