Skip to content
Development
Hook

Hooks

What meridian runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.

From plugin
meridian
1816 skills8 agents3 commands7 hooks
Install
$ npx -y skills add markmdev/meridian --agent claude-code

Ships with meridian. 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.

  • Matchesstartup|clear|compactpython3 "${CLAUDE_PLUGIN_ROOT}/scripts/context-injector.py"python3 "${CLAUDE_PLUGIN_ROOT}/scripts/session-cleanup.py"python3 "${CLAUDE_PLUGIN_ROOT}/scripts/save-injected-files.py"

Stop

  • python3 "${CLAUDE_PLUGIN_ROOT}/scripts/work-until-stop.py"
  • python3 "${CLAUDE_PLUGIN_ROOT}/scripts/stop-checklist.py"

PostToolUse

  • Matches*python3 "${CLAUDE_PLUGIN_ROOT}/scripts/action-counter.py"
  • MatchesExitPlanModepython3 "${CLAUDE_PLUGIN_ROOT}/scripts/plan-approval-reminder.py"

PreToolUse

  • MatchesTaskpython3 "${CLAUDE_PLUGIN_ROOT}/scripts/reviewer-root-guard.py"

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.

  • python3 "${CLAUDE_PLUGIN_ROOT}/scripts/action-counter.py"python3 "${CLAUDE_PLUGIN_ROOT}/scripts/plan-mode-tracker.py"python3 "${CLAUDE_PLUGIN_ROOT}/scripts/instruction-reminder.py"

PreCompact

  • python3 "${CLAUDE_PLUGIN_ROOT}/scripts/session-transcript.py"
  • python3 "${CLAUDE_PLUGIN_ROOT}/scripts/session-learner.py"

SessionEnd

  • python3 "${CLAUDE_PLUGIN_ROOT}/scripts/session-learner.py"python3 "${CLAUDE_PLUGIN_ROOT}/scripts/session-transcript.py"
Read hooks/hooks.json

In the plugin's words

How meridian describes its own hook set.

Meridian agent enforcement โ€” context injection, planning gates, session learning, quality checks
Ships withmeridian

Meridian makes Claude Code more reliable on real projects. It adds persistent project context, smarter session handoff, and lightweight workflow enforcement so Claude is less likely to lose the plot halfway through a long task.

Get the whole plugin