plugin update doesn't re-download files when version changes
Description
claude plugin update reports success and updates the version in metadata, but doesn't re-download plugin files when the version changes. This means new commands, skills, or changes in the plugin are never loaded.
Steps to Reproduce
- Install a plugin from a marketplace:
claude plugin install myplugin@mymarketplace --scope project - Push a new version of the plugin to the marketplace (e.g., add a new command file)
- Run
claude plugin marketplace update mymarketplace - Run
claude plugin update myplugin@mymarketplace --scope project - Restart Claude Code
Expected: New command is available
Actual: New command is NOT available. Version number in claude plugin list shows the new version, but the files are stale.
Investigation
Checking the cache directory reveals the issue:
# Before update - only old version cached
ls ~/.claude/plugins/cache/mymarketplace/myplugin/
# 0.3.13
# After marketplace update + plugin update
ls ~/.claude/plugins/cache/mymarketplace/myplugin/
# Still only 0.3.13 - new version (0.3.14) was never downloaded
The marketplace clone IS updated (git pull happens), and installed_plugins.json IS updated with the new version number, but the actual plugin files are not re-downloaded.
Workaround
Delete the cache directory before installing:
rm -rf ~/.claude/plugins/cache/mymarketplace/
claude plugin install myplugin@mymarketplace --scope project
This forces a fresh download but is inefficient.
Environment
- Claude Code version: 2.1.12
- OS: macOS / Linux (WSL)
- Tested with marketplace-based plugins (GitHub URL marketplaces)
Suggestion
Either:
- Fix
plugin updateto re-download files when version changes - Add a
--forceflag to force re-download - Document that
plugin updateonly updates metadata (if this is intentional)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗