{
  "hooks": {
    "SessionStart": [
      {
        "matcher": "startup|resume|clear",
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: session start",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PreCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: compacting",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PostCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: compacted",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: prompt submit",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PreToolUse": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: tool start",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: tool complete",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PermissionRequest": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: approval needed",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: turn done",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: session end",
            "timeout": 3
          }
        ]
      }
    ],
    "Interrupt": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.codex/hooks/vibemon.py",
            "statusMessage": "VibeMon: turn interrupted",
            "timeout": 3
          }
        ]
      }
    ]
  }
}
