Plugin update doesn't fetch new version - requires marketplace update instead

Resolved 💬 3 comments Opened Jan 30, 2026 by rodgilbert22 Closed Feb 3, 2026

Description

When a plugin's plugin.json version is updated in the source repository, running a plugin update does not fetch the new version. The user must update the marketplace (which hasn't changed) to trigger the plugin to update.

Expected Behavior

  1. Plugin source repo is updated with new version in plugin.json (e.g., 1.0.5 → 1.0.6)
  2. User runs plugin update
  3. Claude Code detects the version change and fetches new plugin files

Actual Behavior

  1. Plugin source repo is updated with new version in plugin.json
  2. User runs plugin update
  3. Plugin remains at old version (1.0.5)
  4. User must run marketplace update (even though marketplace.json hasn't changed)
  5. Only then does the new plugin version (1.0.6) appear

Environment

  • Private plugin marketplace hosted in GitHub
  • Marketplace uses relative path source: "source": "./"
  • Plugin versioned via plugin.json

Marketplace Configuration

{
  "name": "example-marketplace",
  "owner": {
    "name": "Example"
  },
  "plugins": [
    {
      "name": "my-plugin",
      "source": "./",
      "description": "Plugin description"
    }
  ]
}

Analysis

The marketplace is just an index/catalog. The plugin's own plugin.json should be the source of truth for versioning. Updating a plugin should check the source and pull new files if the version has changed, without requiring a marketplace update.

The global cache at ~/.claude/plugins/cache/ does track versions (separate folders per version), so the infrastructure exists - the update trigger is just not checking the source plugin.json properly.

View original on GitHub ↗

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