{ "hooks": { "SessionStart": [ { "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-ensure-canonical-path.js\"", "timeout": 5 }, { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-check-update.js\"" } ] } ], "PreToolUse": [ { "matcher": "Write|Edit", "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-prompt-guard.js\"", "timeout": 5 }, { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-read-guard.js\"", "timeout": 5 } ] }, { "matcher": "Write|Edit|MultiEdit", "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-worktree-path-guard.js\"", "timeout": 5 } ] }, { "matcher": "Write", "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-write-guard.js\"", "timeout": 5 } ] }, { "matcher": "Read|Grep|Bash", "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-secret-read-guard.js\"", "timeout": 5 } ] }, { "matcher": "Agent|Task", "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-agent-isolation-guard.js\"", "timeout": 5 } ] } ], "PostToolUse": [ { "matcher": "Bash|Edit|Write|MultiEdit|Agent|Task", "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-context-monitor.js\"", "timeout": 10 } ] }, { "matcher": "Read|WebFetch|WebSearch", "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-read-injection-scanner.js\"", "timeout": 5 } ] } ], "SubagentStop": [ { "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-context-monitor.js\"", "timeout": 10 } ] } ], "Stop": [ { "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-context-monitor.js\"", "timeout": 10 } ] } ], "PreCompact": [ { "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-context-monitor.js\"", "timeout": 10 } ] } ], "FileChanged": [ { "matcher": "config.json", "hooks": [ { "type": "command", "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/msd-config-reload.js\"", "timeout": 8 } ] } ] } }