{"version":"2.1.281","anchor":"plugin-install-refuses-ids-under-a-reserved-marketplace-name","canonical_anchor":"plugin-install-refuses-ids-under-a-reserved-marketplace-name","heading":"Plugin install and loading add checks for directory plugins and reserved names","tier":"notice","area":"Plugins","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/plugin-install-refuses-ids-under-a-reserved-marketplace-name","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Plugin install and loading add checks for directory plugins and reserved names\n\nPlugin install rejects IDs under reserved marketplace names, and install, load and update now track directory plugins and run a source check\n\n**What**\n\nPlugins are add-ons that extend Claude Code, and they are installed from marketplaces (catalogs of plugins). This release adds checks and record-keeping for directory plugins across installing, loading and updating.\n\n- Reserved names: installing a plugin whose ID falls under a reserved marketplace name now fails with \"plugin id under the reserved marketplace name\".\n\n- Install records: installed-plugin records gain `directoryRepositoryKey`. Install passes `isDirectoryPlugin` and `directoryPin`, and now returns `recordedAt` and `manifestVersion`.\n\n- Version sources: the version is now resolved as either `installed` or `catalog` (`{ kind: \"catalog\", version }`).\n\n- Check before re-download: when a plugin's cached files are missing and would be downloaded again, a new check can refuse the load and show its own message. `isDirectoryPlugin` and `directoryPin` are passed to this step as well.\n\n- Updates: plugin updates run the same check and fail with `not_found` if it refuses.\n\n- npm marketplaces: `plugin update` for an npm-marketplace plugin that is not installed now fails with `not_installed` (\"is not installed\").\n\n**Why**\n\nThe reserved-name check stops a lookalike marketplace from passing its plugins off under a name meant for an official one. The source check means a plugin whose files have gone missing is not quietly downloaded again if it fails that check. If an install or update now fails with one of these messages, the plugin's name or source is what to look at.\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5"}