Defined in hooks/hooks.json
{
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "#!/bin/bash\nFILE=\"$CLAUDE_TOOL_ARG_FILE_PATH\"\nif [[ \"$FILE\" == *'plugin.json' ]] && [ -f \"$FILE\" ]; then\n if ! python3 -c \"import json; json.load(open('$FILE'))\" 2>/dev/null; then\n echo 'Warning: plugin.json may have invalid JSON syntax'\n fi\nfi\nexit 0\n",
"timeout": 2000
}
],
"matcher": "Write:**/plugin.json"
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "#!/bin/bash\nif [ -f '.claude-plugin/plugin.json' ]; then\n echo 'Plugin context detected'\n echo 'Available commands: /plugin-dev:scaffold, /plugin-dev:validate, /plugin-dev:test'\nfi\nexit 0\n",
"timeout": 3000
}
]
}
]
}{
"riskFlags": {
"touchesBash": false,
"matchAllTools": false,
"touchesFileWrites": true
},
"typeStats": {
"command": 2
},
"eventStats": {
"PostToolUse": 1,
"SessionStart": 1
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 0,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}