What probably matters to youSection of the release
What
Plugin manifests (plugin.json) can now declare a types field pointing at a .d.ts file that describes the plugin's type contract: what it adds to the shared $ object via engine.create and declares on EngineInterface. The path must end in .d.ts and stay inside the plugin directory.
A new validator strictly checks the declared type contract: it rejects imports/requires/references, runnable code, stray tokens, non-ASCII or control characters, @ts- pragmas, and anything other than declare module 'claude-code' { ... } or type/interface exports.
Valid contracts are copied into a claude-code-plugins/ folder and referenced from a generated claude-code-plugins.d.ts file.
The /plugin-types command now writes this claude-code-plugins.d.ts file in addition to the existing claude-code.d.ts and claude-code-mcp.d.ts.
Plugin validation also reports, as a warning, which members of the plugin's declared interface it exposes on $.
Why
This lets plugin authors declare and get type-checking for the custom functionality their plugin adds, with /plugin-types generating declaration files that editors and tooling can use for autocomplete and validation.