--- summary: "Claude Code caches installed plugin source per version; `claude plugin update` only refreshes when plugin.json's version changes — editing source without a version bump leaves every install serving stale files." tags: - type/reference - tool/claude-code - domain/plugins scope: global date: 2026-07-16 --- # Claude Code plugin cache is version-gated Installed plugins are cached at `~/.claude/plugins/cache////`. Editing a plugin's source in its marketplace repo does NOT propagate to installs: `claude plugin update @` reports "already at the latest version" and skips the copy unless `plugin.json`'s `version` field changed. **Workflow after editing an installed plugin's source:** 1. Bump `version` in `.claude-plugin/plugin.json` (commit it). 2. `claude plugin update @` — copies source into a new `/` cache dir. 3. Restart the session to apply. Also: there is no `claude refresh-plugins` subcommand — running it hangs (the CLI treats the unknown token as an interactive prompt). The real subcommand set lives under `claude plugin` (`install`, `update`, `enable`, `disable`, `list`, `validate`, `tag`, ...). Discovered 2026-07-16 when cc-architect doc fixes didn't appear in the global install's cache until the version was bumped 1.0.0 → 1.0.1.