denis@keisei — keiseikit-browse — 144×42
⌘1
KEISEIKIT v0.16.2DAEMON UPSLEEP 03:07
session 4f3amem 47/2002026-05-01 05:21

$ ls ~/.claude/hooks/*.sh | wc -l → 35

/hooks enforcement

Hooks fire on Claude Code lifecycle events (PreToolUse, PostToolUse, UserPromptSubmit, Stop). They run as shell scripts; exit code controls behaviour. Severity ladder: blockenforcewarnremind.

severity ladder

BLOCK

exit 2 — hard deny, refuses tool call

ENFORCE

exit 1 — must fix before retry

WARN

exit 0 + stderr — proceeds with advisory

REMIND

exit 0 + stderr on UserPromptSubmit

$ filter --by=cat=allblock (4)enforce (3)warn (2)remind (1)
FILEEVENTSEVERITYRULE

register your own hook

{
  "hooks": {
    "PreToolUse": [
      {
        "match": "Bash",
        "hooks": ["~/.claude/hooks/my-guard.sh"]
      }
    ]
  }
}

Use /escalate-recurrence skill to auto-generate the hook + register it via update-config.