章 07

hooks

公式 hooks 仕様だけで、信頼、PreToolUse の deny/書換、Stop 続行、SessionStart の追加文脈を動かします。

到達目標

  • hooks.json を置き /hooks で信頼できる
  • PreToolUse で deny と updatedInput を返せる
  • Stop で stop_hook_active を見て1回だけ続行できる

レッスン

  1. hooks のライフサイクル — 公式 12 イベントと、command / mcp_tool だけが走ることを把握します。
  2. 有効化と /hooks 信頼 — [features] hooks = true を明示し、定義を信頼するまで走らないことを確認します。
  3. PreToolUse で deny する — Bash の command に echo CODEX_SCHOOL_DENY_MARKER が含まれるとき permissionDecision を deny します。
  4. updatedInput で書き換える — permissionDecision が allow のときだけ updatedInput を返します。
  5. Stop で1回だけ続行する — stop_hook_active を見て、2回目は続行しません。
  6. SessionStart の additionalContext — startup や resume で追加の developer context を渡します。
  7. async と出力上限 — 背景実行、8並列、2500トークン、SessionEnd の短い timeout を読みます。

最初のレッスンへ