Skip to content

Plugin marketplace auto-sync fetches but never pulls, so updates are never applied #41885

Description

@joseph00610

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:

  1. lastUpdated timestamp in known_marketplaces.json is refreshed — so it looks like sync ran
  2. But the local clone's HEAD stays on the old commit
  3. Version comparison sees installed == local (both stale), so no update is triggered
  4. New skills, bug fixes, and version bumps in the marketplace are never picked up

Steps to Reproduce

  1. Register a custom marketplace: /plugin marketplace add <owner>/<repo>
  2. Install a plugin: /plugin install <marketplace-name>
  3. Push new commits (including version bumps) to the marketplace repo's main branch
  4. Start a new Claude Code session (triggers auto-sync)
  5. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleIssue is inactive

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions