Claude Transcripts docs GitHub
Work in progressUnder active development — not tested as ready for use. Breaking changes land without notice, stored data may need to be discarded between revisions, and there is no auth or security model. These docs describe the intended design as much as the current state.

17. Hooks and actions are decoupled (many-to-many)

Date: 2026-06-18

Status

Accepted

Context

Today each Claude Code hook event maps to one handler module, and the registered set is a deliberate subset of eight events. We want two things that the current shape conflates:

  1. A handler for every Claude Code hook type that exists (so coverage is complete and, in Tier 3, a CI job can diff our hook list against an external source of truth and flag drift).
  2. Freedom to define what we do on an event independently of which event triggered it — the same action (e.g. "append a content chunk", "write an event marker", "extract URLs") may be driven by several events, and one event may drive several actions.

A fixed event→handler mapping can't express that cleanly.

Decision

Model hooks and actions as two separate, independently-maintained lists, with an explicit many-to-many mapping between them.

Consequences