Repository navigation
Report a plugin cache copy that differs from the code clone at the same version - #55
Merged
gabe4coding merged 1 commit intoOct 13, 2026
Conversation
plugin_drift() compares only versions. A change to bin/, hooks/, skills/ or types/ that got no new version leaves Claude Code's cache copy (installPath in installed_plugins.json) with the old files, and `claude plugin update` does not copy it again. `kb setup check` now has "plugin_stale": the files of those folders that differ between the cache copy and the code clone when both have the same version. The setup skill says "same version, content differs: the code repo needs a new plugin version" with the files. Dot files, __pycache__ and hooks/*.test.tsx are left out. A file that cannot be read gives [] and no traceback. The version test in tests/test_plugin.py now takes its folders from setup.CACHED_DIRS, so the two lists stay the same. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gabe4coding
merged commit Oct 13, 2026
1bcf0ac
into
claude/eloquent-aryabhata-8f4a35
2 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
Make
kb setup checkreport when Claude Code's cache copy of the installed version differs from the code clone inbin/,hooks/,skills/ortypes/: "same version, content differs: a bump is needed".Drift
types/is in the list too, andhooks/*.test.tsxis left out. This matches the folders of the version test intests/test_plugin.py, which now reads them fromsetup.CACHED_DIRS.Decisions
kb setup checkreports it, as asked.kb statusand the SessionStart brief do not, because the check reads every file of two folder trees.plugin_drift()warning covers it.bin/my-note.txt) is listed too.Evidence
drive.pysandbox with a fake Claude Code install record whoseinstallPathis a copy of this checkout. The command iskb setup check, run from this checkout'sbin/kb:Before (
main, from the code, not a run):check()insrc/kb/setup.pyhas no such field, andplugin_drift()compares only versions. So this case is not reported.After:
Reading map
Tests changed or deleted:
tests/test_plugin.py:47:CACHEDnow comes fromsetup.CACHED_DIRS(the same 4 folders as before).tests/test_setup.py: 1 new test.Config:
.claude-plugin/plugin.json,.codex-plugin/plugin.json: 0.11.4 → 0.11.5.Public API:
kb setup checkJSON: new keyplugin_stale(list of paths).Error handling:
src/kb/setup.pyplugin_stale_files(): anOSErrorduring the walk gives[].Stack
Step 2/2. Previous: #54 (base of this PR). Next: none.
Merge order: merge #54 first. Then make sure the base of this PR is
mainbefore you merge it. GitHub changes the base only when the branch of #54 is deleted on merge. If the base stays on the #54 branch, this PR merges there and never reachesmain.🤖 Generated with Claude Code