{"version":"2.1.235","anchor":"claude-plugin-eval-rewritten-around-which-plugin-is-actual","canonical_anchor":"claude-plugin-eval-rewritten-around-which-plugin-is-actual","heading":"claude plugin eval rewritten around which plugin is actually loaded","tier":"notice","area":"Plugin Eval","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235\/e\/claude-plugin-eval-rewritten-around-which-plugin-is-actual","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235","markdown":"### `claude plugin eval` rewritten around which plugin is actually loaded\n\n`claude plugin eval` now checks which plugin is actually loaded before running\n\nThe eval command resolves the target, the plugin root, and any untrusted or adopted manifest directory up front, and prints explicit notices when a nearby plugin is not loaded: because it sits above the working directory, falls outside the scope consulted, or its ownership can't be verified. That way a case running without a plugin loaded runs against baseline Claude instead of silently picking up someone's plugin. `--eval-dir` is now validated and vetted with its own refusal codes, `eval_dir_refused` and `eval_dir_unvettable`, the eval directory can be supplied by the plugin manifest, and the empty-result help output now names the directory and manifest it consulted.\n\n- Area: Plugin Eval\n- Names: `--eval-dir`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}