{"version":"2.1.281","anchor":"new-install-preflight-adds-policy-and-plugin-directory-refus","canonical_anchor":"new-install-preflight-adds-policy-and-plugin-directory-refus","heading":"Plugin installs check policy first and explain refusals more clearly","tier":"notice","area":"Plugins","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/new-install-preflight-adds-policy-and-plugin-directory-refus","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Plugin installs check policy first and explain refusals more clearly\n\nPlugin installs, and the dependencies they pull in, now go through a policy check that explains refusals and notes when a plugin starts disabled\n\n**What**\n\nBefore installing a plugin, Claude Code now runs a new check first. The check can refuse the install for one of three reasons:\n\n- `blocked-by-policy`: the plugin is not allowed by policy.\n\n- `marketplace-blocked-by-policy`: the marketplace the plugin comes from is not allowed by policy.\n\n- `plugin-directory-unavailable`: the plugin directory could not be reached.\n\nOther changes to plugin installs:\n\n- If no marketplaces are known, a plugin from an unrecognised source is refused rather than allowed.\n\n- Dependencies that are installed automatically now go through the same policy check one by one. Any that cannot be found are returned in a `notFound` list.\n\n- After an install, the message can now say \"This plugin is disabled by default\" or that it is disabled \"in your settings\", along with a hint on how to enable it.\n\n- The two policy refusals are now turned into messages in one shared place. They map to the failure codes `plugin_policy_blocked` and `marketplace_policy_blocked`. The message text is the same as before.\n\n**Why**\n\nWhen an install is refused, you now get a clear reason, and a policy block also applies to the dependencies a plugin brings in. You are also told when a newly installed plugin starts out switched off, so you know to enable it.\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5"}