{"version":"2.1.251","anchor":"plugins-resolved-by-name-are-checked-against-trusted-roots","canonical_anchor":"plugins-resolved-by-name-are-checked-against-trusted-roots","heading":"Plugins resolved by name are checked against trusted roots","tier":"notice","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.251\/e\/plugins-resolved-by-name-are-checked-against-trusted-roots","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.251","markdown":"### Plugins resolved by name are checked against trusted roots\n\nPlugins found by name are refused if every candidate folder sits outside trusted roots.\n\n**What**\n\nWhen Claude Code turns a plugin name into a folder on disk, each candidate install path is now checked for being outside the trusted roots. If every candidate looks untrusted it refuses instead of silently loading the first one it found.\n\n**Details**\n\n- The refusal is recorded with a `refused` outcome naming the plugin.\n- Always on, not an opt-in setting.\n\n**Evidence**\n\n`kind: \"refused\", pluginId: e`\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}