{"version":"2.1.305","anchor":"claude-plugin-validate-profile-directory-runs-plugin-dir","canonical_anchor":"claude-plugin-validate-profile-directory-runs-plugin-dir","heading":"claude plugin validate --profile directory checks a plugin against the plugin directory's rules","tier":"use","area":"Plugins","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305\/e\/claude-plugin-validate-profile-directory-runs-plugin-dir","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305","markdown":"### `claude plugin validate --profile directory` checks a plugin against the plugin directory's rules\n\n`claude plugin validate` gains `--profile directory`, which checks a plugin folder for the plugin directory's submission rules and can fail a CI run\n\n**What**\n\nA plugin is an add-on package for Claude Code. `claude plugin validate` is the command that checks a plugin for mistakes. It now has a new option, `--profile <name>`, and `directory` is the only choice. `claude plugin validate <path> --profile directory` reads the plugin folder on disk and checks it against the rules of the plugin directory, the place plugins are submitted to. The `--profile` option did not exist in the previous release.\n\n- Rules checked include `README_MISSING`, `LICENSE_MISSING`, `ICON_MISSING`, `PRIVACY_URL_MISSING`, `PATH_TRAVERSAL`, the plugin name, whether the hooks and MCP files are valid JSON, and stray system files such as `.DS_Store` and `Thumbs.db`. Each finding has a code, a severity and text saying how to fix it.\n\n- Errors are blocking: the command exits with code 1 when the plugin directory would refuse the submission, for example when the README is missing.\n\n- The command also exits with code 1 when a check could not be made, for example when there are more than 16 MCP or hooks files.\n\n- `--strict` makes warnings fail the run too. The output suggests running `--profile directory --strict` on a fresh checkout in CI (an automated build system).\n\n- JSON output includes a section for the directory results, and the output describes the required plugin layout.\n\n- The output states that the directory's safety scan and policy review are not run by this command.\n\n- Plugin loading also takes a new `containedIn` option and now runs a check on `SKILL.md`, `hooks\/hooks.json` and `settings.json`.\n\n**Why**\n\nPlugin authors can check locally, or in an automated build, whether a plugin is likely to be refused by the plugin directory before submitting it. Passing this check does not mean the plugin will pass the directory's safety scan or policy review, since those are not run.\n\n- Area: Plugins\n- Names: `claude plugin validate`\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}