From 06a35aae34491ccdbf0c3dd489433dc6fede3a9a Mon Sep 17 00:00:00 2001 From: jared Date: Thu, 16 Jul 2026 14:36:12 -0400 Subject: [PATCH] vault: session notes 2026-07-16 --- ...aude-code-plugin-cache-is-version-gated.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 reference/claude-code-plugin-cache-is-version-gated.md diff --git a/reference/claude-code-plugin-cache-is-version-gated.md b/reference/claude-code-plugin-cache-is-version-gated.md new file mode 100644 index 0000000..205629b --- /dev/null +++ b/reference/claude-code-plugin-cache-is-version-gated.md @@ -0,0 +1,30 @@ +--- +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.