plugin.json
{
"name": "my-mod",
"version": "0.1.0",
"description": "status-line starter"
}Save plugin.json under .claude-plugin/ and the other files under hooks/. Generate local types, then validate before loading.
Validate UI behavior on your installed version. The guard starter allows all calls until you add a rule.
{
"name": "my-mod",
"version": "0.1.0",
"description": "status-line starter"
}{
"modules": [
"./register.tsx"
]
}// Generate declarations with your installed Claude Code; APIs are version-specific.
import type { Register } from 'claude-code';
export const register: Register = (on) => {
on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
return next({ ...e, props: { ...e.props, suffix: ' · my-mod' } });
});
};