{"version":"2.1.224","anchor":"plugin-eval-can-validate-and-report-its-own-json-output","canonical_anchor":"plugin-eval-can-validate-and-report-its-own-json-output","heading":"Plugin eval can validate and report its own JSON output","tier":"notice","area":"Plugin Eval","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.224\/e\/plugin-eval-can-validate-and-report-its-own-json-output","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.224","markdown":"### Plugin eval can validate and report its own JSON output\n\nPlugin eval JSON output is validated before printing, and suppressed with a stderr warning if invalid.\n\n**What**\n\n`claude plugin eval --json` now checks its result against the expected shape before printing. If validation fails the JSON is not printed at all and a warning goes to stderr instead; if it merely differs from the expected shape a warning is printed and the result is still emitted.\n\n**Details**\n\n- On drift, a `result_schema_drift` counter fires and the result is still printed.\n- On outright validation failure, output is withheld entirely and stderr carries the explanation.\n- New outcome telemetry records pass and fail counts, how many cases hit run errors, and separates exits caused by a cost ceiling from exits caused by a case that failed to load.\n\n**Evidence**\n\n`warning: --json result withheld because it failed schema validation`\n\n- Area: Plugin Eval\n- Names: `claude plugin eval`, `--json`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5"}