{"version":"2.1.283","anchor":"claude-plugin-validate-checks-more-manifest-paths-flags-j","canonical_anchor":"claude-plugin-validate-checks-more-manifest-paths-flags-j","heading":"Plugin validation checks more manifest paths","tier":"use","area":"Plugins","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283\/e\/claude-plugin-validate-checks-more-manifest-paths-flags-j","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.283","markdown":"### Plugin validation checks more manifest paths\n\n`claude plugin validate` now checks paths for more plugin parts and flags a .json path that is really a folder\n\n**Unclear.** The full list of checked keys comes from reading the code, not from running the validator.\n\n**What**\n\nA plugin's manifest is the file that tells Claude Code where the plugin's parts live. `claude plugin validate` now checks these paths in the manifest:\n\n- commands, hooks, agents, skills, mcpServers, workflows and types, as before\n\n- outputStyles, themes, monitors and lspServers, which were not checked before\n\n- the same keys written in the `experimental.<key>` form\n\nThere is also a new error. If a hooks, monitors, lspServers or mcpServers path ends in .json but is actually a folder, validation reports that it \"must point to a JSON file\".\n\n**Why**\n\nPlugin authors see missing or wrong paths for more kinds of plugin parts before their users run into them. For example, a missing MCP servers file is otherwise skipped silently, so none of its servers load.\n\n- Area: Plugins\n- Names: `claude plugin validate`\n- Tier: Use it now\n- Useful: 2\/5\n- Signal: 1\/5"}