displayName
hooks-mux
protocolType
hook
nativeSide
- claude — PreToolUse, PostToolUse, UserPromptSubmit, Notification, Stop, SubagentStop, SessionStart, SessionEnd, PreCompact, ShellEnv
- codex — OnToolCall, OnStop
- gemini — pre_prompt, post_response
- copilot — preTool, postTool
- cursor — inherits Claude Code hook schema
- opencode — on_step, SessionIdle, ShellEnv
- pi, omp, openclaw, hermes — onEvent (generic)
canonicalSide
Canonical 14-hook surface set (PreToolUse, PostToolUse, UserPromptSubmit, etc.)
position
Between Agent-Runtime hook events and subscribed plugins / extension-interface impls
bridgingConcerns
- name mapping (per-agent → canonical)
- payload schema normalization (UnifiedHookEvent: version, adapter, phase, rawEventName, supportLevel, execution, payload, env, raw)
- support level (supported / degraded / unsupported) per (agent, hook)
- hook family (shell-hook / in-process / observer) — determines delivery mechanism
- merge policy across multiple subscribers (DECISION_PRECEDENCE deny < ask < allow < continue < noop)
catalogInputNodeKinds
- HookSurface
- HookMapping
- AgentVersion
trustChainParticipation
planned
description
Bridges per-product native hook names to the canonical hook taxonomy
+ applies per-axis merge policies (persistEnv key-wise, decision
most-restrictive-wins, systemMessage concat, toolMutation single-writer).
Emits MergeDiagnostics: handlerCount, handlerOrder, conflicts,
degradedFields, handlerTimings, unsupportedOutputFields,
nativeRenderingLosses, mergedAt.