Bump plugin version so installed copies actually receive the launcher fix#4
Merged
Conversation
uv already ignores a VIRTUAL_ENV that does not match the project, but it warns loudly on stderr. That warning reads like a cause of failure and already sent one debugging session chasing it instead of the real PATH problem. Verified: with a foreign VIRTUAL_ENV set, the warning count on stderr is now 0 and the server still lists all 15 tools. The minimal-PATH case that produced -32000 still starts.
…ncher The launcher fix in #3 never reached anyone. Claude Code extracts an installed plugin to a cache path keyed by the manifest version (~/.claude/plugins/cache/<marketplace>/<plugin>/<version>), and #3 left that at 0.1.0. The marketplace git clone advanced to 0637d00 and carries the launcher, but the extracted copy under cache/.../harbor-mcp/0.1.0 still has "command": "uv" and no scripts/ directory, so the -32000 persisted through marketplace updates and reinstalls alike. Confirmed on a live install: installed_plugins.json still records version 0.1.0 with gitCommitSha 2c1dfc2, the commit from #2. - Bumps the version to 0.2.0, which changes the cache key and forces a fresh extraction. - Recovers the VIRTUAL_ENV fix that was pushed to #3's branch after it merged and was therefore orphaned. - Adds a plugin-version workflow that fails a PR touching shipped plugin files without a version bump. Tests and evals are excluded, since they are not copied into the plugin cache and cannot strand a user. Verified both ways: it passes with the bump and blocks when the version is left unchanged. - Documents the requirement in the root README.
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.
The launcher fix in #3 never reached anyone, and this explains why the
-32000survived every update and reinstall.What happened
Claude Code extracts an installed plugin to a cache path keyed by the manifest version:
#3 changed
.mcp.jsonand addedscripts/start-server.shbut leftversionat0.1.0. So the cache key never changed and the extracted copy was never refreshed.Observed on a live install after #3 merged:
marketplaces/walkerhughes-mcps(git clone)0637d00, has the launcher,command: bashcache/.../harbor-mcp/0.1.0(what actually runs)scripts/,command: uvinstalled_plugins.jsonversion: 0.1.0,gitCommitSha: 2c1dfc2(the commit from #2)The marketplace fetch worked correctly. The extraction step is what was skipped. This failure mode is worse than a crash: nothing errors, users simply keep running old code.
Changes
0.1.0to0.2.0, which changes the cache key and forces a fresh extraction.VIRTUAL_ENVfix that was pushed to Makeharbor auth loginthe only auth path; snapshot the account at setup #3's branch after it had already merged, and was therefore orphaned. uv already ignores a mismatchedVIRTUAL_ENV, but it warns loudly on stderr, and that warning already sent one debugging session chasing it instead of the real PATH problem.plugin versionworkflow that fails any PR touching shipped plugin files without a version bump.harbor-mcp/tests/**andharbor-mcp/evals/**are excluded, since they are not copied into the plugin cache and cannot strand a user.Verification
The gate logic was exercised locally against this branch both ways:
Launcher behavior, re-checked after the cherry-pick:
VIRTUAL_ENVsetenv -i PATH=/usr/bin:/bin(the case that caused-32000)initializeOKAfter merging
/plugin marketplace update walkerhughes-mcpswill now land in a new0.2.0cache directory rather than reusing the stale0.1.0one.