Plugin browse and install lists now resolve dev-override locations and fill in missing metadata from each plugin's own plugin.json
What
- Building the plugin suggestion/browse list now resolves each plugin's entry through a new async enrichment step (
Lce) per marketplace, instead of iterating the raw marketplace plugin list directly. This resolves each plugin's install location against local dev overrides and rewrites the displayed entry accordingly; the same step runs after a single-plugin install/refresh. - The
claude plugin listavailable-plugins path now uses this same batched lookup helper and filters out plugins that fail an install-eligibility check, rather than iterating the marketplace's plugin list entry by entry. - When a marketplace entry omits fields like
displayName,description,author,homepage,repository,license, orkeywords, Claude Code now fetches the plugin's source and reads its.claude-plugin/plugin.jsonto fill those fields in for display.
Why Plugin listings previously showed whatever sparse metadata a marketplace entry happened to include, and could point at the wrong install location for locally-overridden dev plugins. This makes browsing and installing plugins show more complete, accurate information without each marketplace having to duplicate every field.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
| `displayName` | string | Human-readable name shown in UI surfaces. When neither the entry nor the plugin's `plugin.json` sets one, users see the plugin's `name`. May contain spaces and any casing. Not used for namespacing or lookup. |plugin-marketplaces see the edit
Anthropic's documentation has since written up plugin.json, on Create and distribute a plugin marketplace.
Fixed a plugin's default component folder that the OS cannot check, such as a symlink loop, being silently skipped; it is now reported in…