[FEATURE] Plugin refresh: no way to pull latest version of a marketplace plugin
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Summary:
When a plugin is distributed via a repo-level .claude/settings.json (the intended
pattern for team-wide plugin adoption), there is no command to refresh/upgrade the
plugin when a new version is published to the marketplace. The cached version persists
indefinitely.
Problem
When the plugin author publishes a new version to the marketplace:
- There is no claude plugin refresh or claude plugin upgrade command
- The auto-update mechanism does not reliably detect new versions
- The only workaround is manually deleting cache directories and entries from
~/.claude/plugins/installed_plugins.json, then restarting the session
- settings.json and settings.local.json should NOT be touched — these are
repo-level configuration owned by the project
Proposed Solution
Expected behavior
A command like:
- claude plugin refresh my-plugin@my-marketplace — re-fetches from the marketplace
git repo and updates the local cache
- Or: automatic version detection on session start that compares the cached
gitCommitSha against the marketplace HEAD and pulls if stale
Actual behavior
- installed_plugins.json shows installedAt == lastUpdated, suggesting no
refresh ever occurs after initial install
- Old cached version at ~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/
is served indefinitely
- Users must manually delete cache + registry entries to force a reinstall
Alternative Solutions
This is the only solution i found but it's problematic because of #1 because it's part of the repository github structure.
- .claude/settings.json — the entire file is earlyai config, so it should be emptied
- .claude/settings.local.json — remove the earlyai enabledPlugins entry and earlyai-related permissions
- ~/.claude/plugins/installed_plugins.json — remove the earlyai entry
- ~/.claude/plugins/cache/earlyai-plugins/ — delete the cached plugin files
- ~/.claude/plugins/marketplaces/earlyai-plugins/ — delete the marketplace clone
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
Plugin authors distributing through private (or public) marketplaces use this pattern:
```json
// .claude/settings.json (committed to repo)
{
"extraKnownMarketplaces": {
"my-marketplace": {
"source": { "source": "git", "url": "https://github.com/org/marketplace.git" }
}
},
"enabledPlugins": {
"my-plugin@my-marketplace": true
}
}
This ensures every developer who clones the repo gets the plugin. The problem is
what happens after the initial install.
Impact
This blocks plugin authors from iterating on plugins distributed to teams. Every
version bump requires telling users to manually clear their cache — which is
undiscoverable and error-prone.
Additional Context
Related issues
- #32804 (unreliable update/upgrade path)
- #32983 (cache not refreshed when version string unchanged)
- #31462 (plugin update detection workflow — closed as duplicate)
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗