Hooks
What woz runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.
> /plugin marketplace add WithWoz/wozcode-plugin > /plugin install woz@wozcode-marketplace
Ships with woz. Installing the plugin gets these hooks.
What fires, and when
SessionStart
Fires once when a session begins, and again after a context compaction. It is where a plugin sets up its environment, or restores state the compaction dropped.
node --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-hook.cjs
UserPromptSubmit
Fires before Claude sees each prompt you send. A plugin can use it to inject context, so the same instruction reaches the model every turn instead of only at session start.
node --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-hook.cjsnode --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/reviewer-hook.cjs
PreToolUse
node --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-hook.cjs
PostToolUse
- Matches
mcp__plugin_woz_code__Editnode --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/reviewer-hook.cjs - Matches
mcp__plugin_woz_code__Editnode --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-telemetry-post-tool-hook.cjs
SubagentStop
node --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-telemetry-hook.cjs
Stop
node --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-telemetry-hook.cjs
StopFailure
node --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-hook.cjs
PreCompact
node --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-telemetry-hook.cjs
PostCompact
node --no-warnings=ExperimentalWarning ${CLAUDE_PLUGIN_ROOT}/scripts/session-telemetry-hook.cjs
Smarter tools for Claude Code that reduce token usage and cost. Replaces built-in file tools with optimized alternatives — fewer tokens per tool call means cheaper sessions that compound over time.
Repo: WithWoz/wozcode-plugin

