Claude Code Plugin Cache Gotcha: Why Your Edits Aren't Taking Effect
If you're developing a Claude Code plugin and your changes aren't showing up after restarting the session, you're probably hitting the plugin cache.
The symptom
You edit a command, agent, or skill file in your plugin directory. You restart Claude Code. The old version still runs. You restart again. Same thing. You stare at the file, confirm it's correct on disk, question your sanity.
The cause
Claude Code caches plugin files under ~/.claude/plugins/cache/, keyed by plugin name and version from your plugin.json:
~/.claude/plugins/cache/local-plugins/your-plugin/0.1.0/commands/your-command.md
When you start a session, Claude Code checks the cache first. If it finds a match for your plugin name and version, it serves the cached copy — without checking whether the source files have changed.
The fix
Option A: Bump the version in .claude-plugin/plugin.json after making changes:
{
"name": "my-plugin",
"version": "0.1.0"
}
Change it to 0.1.1, 0.2.0, whatever — just make it different.
Option B: Delete the cache manually:
rm -rf ~/.claude/plugins/cache/local-plugins/your-plugin
Either way, restart the session afterward.
During active development
If you're iterating on a plugin, you'll hit this constantly. A quick workflow:
# after editing plugin files
rm -rf ~/.claude/plugins/cache/local-plugins/my-plugin
# then restart your Claude Code session
Or adopt a habit of bumping the patch version with every edit cycle.
Is this a bug?
It looks like one. A local plugin's cache should be invalidated when the source files change — checking file modification timestamps would be sufficient. Caching by version alone makes sense for published/marketplace plugins, but for local development it creates a confusing experience where your edits silently don't apply.
This has been reported multiple times:
As of February 2025, the issue remains unresolved.
Top comments (0)