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
- Plugin source repo is updated with new version in
plugin.json(e.g., 1.0.5 → 1.0.6) - User runs plugin update
- Claude Code detects the version change and fetches new plugin files
Actual Behavior
- Plugin source repo is updated with new version in
plugin.json - User runs plugin update
- Plugin remains at old version (1.0.5)
- User must run marketplace update (even though marketplace.json hasn't changed)
- 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.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗