{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "sh \"${CLAUDE_PLUGIN_ROOT}/scripts/session-start.sh\"",
"timeout": 15000
},
{
"type": "command",
"command": "sh \"${CLAUDE_PLUGIN_ROOT}/scripts/watch.sh\"",
"async": true,
"asyncRewake": true,
"timeout": 14400
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "sh \"${CLAUDE_PLUGIN_ROOT}/scripts/heartbeat.sh\" prompt --from-payload",
"timeout": 10000
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "sh \"${CLAUDE_PLUGIN_ROOT}/scripts/heartbeat.sh\" stop --from-payload",
"timeout": 10000
},
{
"type": "command",
"command": "sh \"${CLAUDE_PLUGIN_ROOT}/scripts/stop-drain.sh\"",
"timeout": 12000
},
{
"type": "command",
"command": "sh \"${CLAUDE_PLUGIN_ROOT}/scripts/watch.sh\"",
"async": true,
"asyncRewake": true,
"timeout": 14400
}
]
}
],
"SessionEnd": [
{
"hooks": [
{
"type": "command",
"command": "sh \"${CLAUDE_PLUGIN_ROOT}/scripts/heartbeat.sh\" idle --from-payload",
"timeout": 10000
}
]
}
]
}
}