Event Hooks

claude-code-observability

14 events · 14 hooks

From claude-code-observability
Install
1
Run in your terminal
$
npx claudepluginhub melodic-software/claude-code-plugins --plugin claude-code-observability
Risk Indicators
Matches all tools
Source

Defined in hooks/hooks.json

Configuration
{
  "Stop": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" stop",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "PreCompact": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" precompact",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "PreToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" pretooluse",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "SessionEnd": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" sessionend",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "PostToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" posttooluse",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "Notification": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" notification",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "SessionStart": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" sessionstart",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "SubagentStop": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" subagentstop",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "TeammateIdle": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" teammateidle",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "SubagentStart": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" subagentstart",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "TaskCompleted": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" taskcompleted",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "UserPromptSubmit": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" userpromptsubmit",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "PermissionRequest": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" permissionrequest",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ],
  "PostToolUseFailure": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "python -u \"${CLAUDE_PLUGIN_ROOT}/hooks/hook_dispatcher.py\" posttoolusefailure",
          "timeout": 5
        }
      ],
      "matcher": "*"
    }
  ]
}
Summary
{
  "riskFlags": {
    "touchesBash": false,
    "matchAllTools": true,
    "touchesFileWrites": false
  },
  "typeStats": {
    "command": 14
  },
  "eventStats": {
    "Stop": 1,
    "PreCompact": 1,
    "PreToolUse": 1,
    "SessionEnd": 1,
    "PostToolUse": 1,
    "Notification": 1,
    "SessionStart": 1,
    "SubagentStop": 1,
    "TeammateIdle": 1,
    "SubagentStart": 1,
    "TaskCompleted": 1,
    "UserPromptSubmit": 1,
    "PermissionRequest": 1,
    "PostToolUseFailure": 1
  },
  "originCounts": {
    "absolutePaths": 0,
    "pluginScripts": 14,
    "projectScripts": 0
  },
  "timeoutStats": {
    "commandsWithoutTimeout": 0
  }
}
Stats
Parent Repo Stars40
Parent Repo Forks6
Last CommitFeb 15, 2026