# claude-plugin-json-valid plugin.json must be valid JSON with required fields *Formerly known as `plugin-json-valid`. The legacy name still works in configs, `--rule`/`--skip-rule`, suppression comments, and baselines.* | | | |---|---| | **Severity** | error (auto) | | **Autofix** | - | | **Since** | v0.1.0 | | **Repo Types** | marketplace, single-plugin | | **Category** | [Claude Code](claude.md) | ## Why `plugin.json` is the plugin manifest — if it contains invalid JSON or is missing required fields, the plugin cannot be loaded. The host application uses this file to register the plugin's name, version, and capabilities. ## Examples **Bad:** ```json {"name": "my-plugin"} ``` **Good:** ```json { "name": "my-plugin", "description": "Deployment automation plugin", "version": "1.0.0" } ``` ## How to fix Fix the JSON syntax error or add the missing required fields identified in the violation message. Required fields are `name`, `description`, and `version`. ## Configuration ```yaml rules: claude-plugin-json-valid: enabled: auto # true | false | auto severity: error ``` | Parameter | Description | Default | |-----------|-------------|---------| | `recommended-fields` | Fields that trigger a warning if missing from plugin.json | `["description", "version", "author"]` | *Run `skillsaw explain claude-plugin-json-valid` to see this documentation and the rule's effective configuration in your terminal.*