{"version":"2.1.323","anchor":"plugin-validate-now-type-checks-a-plugins-hooks-module","canonical_anchor":"plugin-validate-now-type-checks-a-plugins-hooks-module","heading":"plugin validate now type-checks a plugin's TypeScript hooks module","tier":"use","area":"Plugins","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/plugin-validate-now-type-checks-a-plugins-hooks-module","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### plugin validate now type-checks a plugin's TypeScript hooks module\n\nplugin validate now checks a plugin's TypeScript hooks module for type errors and reports them as warnings for each file\n\n**What**\n\nA plugin is a package that adds features to Claude Code. A plugin can include a hooks module, a code file that runs at set moments. `plugin validate` now type-checks that module when it is a TypeScript file (`.ts` or `.tsx`), meaning it looks for mistakes in how the code uses data before the code runs. The check runs in a separate process, and problems appear as warnings for each file.\n\n- The check is skipped, with a note, when the plugin's manifest lists dependencies.\n\n- When the check cannot run, for example because no suitable runtime is available, the output says the module was not type-checked.\n\n- A note is added when the plugin's `settings.json` has an `agent` key.\n\n- A plugin may only name one hooks module. If more than one is named, validation says the loader refuses both.\n\n**Why**\n\nPlugin authors writing hooks modules in TypeScript now see type errors from `plugin validate` before the plugin is loaded, instead of finding them later.\n\n- Area: Plugins\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}