{"version":"2.1.281","anchor":"plugin-browse-screen-tracks-whether-a-policy-filtered-market","canonical_anchor":"plugin-browse-screen-tracks-whether-a-policy-filtered-market","heading":"Plugin catalog groundwork: hidden-plugin tracking and built-in catalog state","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/plugin-browse-screen-tracks-whether-a-policy-filtered-market","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Plugin catalog groundwork: hidden-plugin tracking and built-in catalog state\n\nThe plugin browse screen now notes when a policy catalog hides plugins, and inactive state for a built-in plugin catalog is added\n\n**Unclear.** The finding does not say whether or how the hidden-plugins marker is shown to the reader.\n\n**What**\n\nPlugins are add-ons for Claude Code, listed in marketplaces (catalogs you can browse and install from). Two related pieces around a policy-controlled catalog, whose list of entries is `catalogEntryNames`, are added:\n\n- The plugin browse screen now sets a flag while loading a marketplace's plugin list whenever plugins are skipped. That happens when entries are filtered out, or when the policy catalog lists more entries than the marketplace returns. Before, skipped plugins were silently dropped.\n\n- Installs started from the browse screen now tell the install step `surface: \"browse\"`.\n\n- A new per-host state class adds fields including `nameRegistration`, `catalogEntryNames`, `reviewerMarkedEntryNames`, `isAccessAllowed` and `marketplaceEnabled`.\n\n- A new check is true only when `nameRegistration === \"built-in\"`, access is allowed, and the plugin's name is in the catalog. In this build `nameRegistration` is never set, so this check always returns false.\n\n**Why**\n\nThe browse screen now keeps track of plugins it hides instead of dropping them without a trace, which makes a later notice about hidden plugins possible. The built-in catalog state does nothing yet."}