Moved from jfrog-agent-hooks#50. Found while walking the real customer onboarding path end-to-end, 2026-07-26. Environment: Claude Code 2.0.60, plugin jfrog@claude-plugins-official v0.2.13→v0.2.15, JFrog CLI 2.86.0→2.116.0, macOS arm64.
What happened
claude plugin install jfrog@claude-plugins-official failed outright on the first attempt, with ~80 schema validation errors:
Invalid schema: plugins.0.source: Invalid input, plugins.1.source: Invalid input, …
plugins.74: Unrecognized key(s) in object: 'displayName', …
None of those errors were ours. The CLI validates the entire claude-plugins-official marketplace manifest (273 plugins) as one unit, so invalid entries belonging to other plugins prevented any plugin from installing — including JFrog. The JFrog entry itself was valid.
The error output lists numeric indices, not plugin names, so there is no way for a user to tell whose entry is broken or that the problem isn't JFrog's.
How it affected onboarding
This is the very first step. A developer told "install the JFrog plugin" hits a wall of schema errors that appear to be about the JFrog plugin, with no actionable message. Most people would stop here and report "the JFrog plugin is broken."
There is also no JFrog-owned install path to fall back on: jfrog/claude-plugin ships only .claude-plugin/plugin.json and no marketplace.json, so customers must go through the shared aggregate and inherit every other plugin's breakage.
How it was eventually resolved
Running claude plugin marketplace update claude-plugins-official re-fetched a valid manifest; the install then succeeded (v0.2.15). The failure was a stale local cache — install does not refresh it automatically.
Verified afterwards with a genuine clean install (uninstall → install) that the path works once the cache is current.
Where the fix likely belongs
| Piece |
Owner |
Docs: if install fails with marketplace schema errors, run claude plugin marketplace update … then retry; optional own marketplace.json / direct-add path |
This repo (jfrog/claude-plugin) |
| Per-entry validation instead of all-or-nothing; auto-refresh stale cache on install |
Upstream Claude Code |
Suggested docs / product fix (this repo)
- README install section: document the
marketplace update recovery step.
- Consider shipping a JFrog-owned marketplace / direct install path so customers are not blocked by unrelated plugins' manifest breakage.
What happened
claude plugin install jfrog@claude-plugins-officialfailed outright on the first attempt, with ~80 schema validation errors:None of those errors were ours. The CLI validates the entire
claude-plugins-officialmarketplace manifest (273 plugins) as one unit, so invalid entries belonging to other plugins prevented any plugin from installing — including JFrog. The JFrog entry itself was valid.The error output lists numeric indices, not plugin names, so there is no way for a user to tell whose entry is broken or that the problem isn't JFrog's.
How it affected onboarding
This is the very first step. A developer told "install the JFrog plugin" hits a wall of schema errors that appear to be about the JFrog plugin, with no actionable message. Most people would stop here and report "the JFrog plugin is broken."
There is also no JFrog-owned install path to fall back on:
jfrog/claude-pluginships only.claude-plugin/plugin.jsonand nomarketplace.json, so customers must go through the shared aggregate and inherit every other plugin's breakage.How it was eventually resolved
Running
claude plugin marketplace update claude-plugins-officialre-fetched a valid manifest; the install then succeeded (v0.2.15). The failure was a stale local cache —installdoes not refresh it automatically.Verified afterwards with a genuine clean install (uninstall → install) that the path works once the cache is current.
Where the fix likely belongs
claude plugin marketplace update …then retry; optional ownmarketplace.json/ direct-add pathjfrog/claude-plugin)Suggested docs / product fix (this repo)
marketplace updaterecovery step.