Intermediate9 min
Background Monitor Plugins
Background monitors continuously watch external sources — log files, process output, CI pipelines — and deliver notifications to Claude Code when conditions change. Unlike hooks (which react to Claude's own tool events), monitors watch the world outside Claude.
Quick Reference
- →Monitors continuously watch external sources — hooks react to Claude's own tool events
- →Monitors deliver notifications to the active Claude Code session as structured events
- →Claude can respond automatically to monitor notifications (via hooks) or surface them for review
- →Use cases: tail dev server logs, watch CI output, monitor error rates, watch test runner
- →Noise control: filter monitor output to only relevant events before delivery
- →Monitor plugins defined in monitors/monitors.json with command, triggers, and filters
- →Part of the Channels feature — requires Claude Code v2.0+ and Desktop app or CLI
- →Claude can be configured to auto-respond to monitor events in an agentic loop
Monitors vs Hooks: The Critical Distinction
Different Trigger Sources
Hooks fire on Claude Code's own tool use events (PreToolUse, PostToolUse, Stop). Monitors watch external sources independent of what Claude is doing. A monitor can notify Claude while it's idle, between tasks, or before it's even started a task.
| Dimension | Hooks | Monitors |
|---|---|---|
| Trigger source | Claude Code's own tool use | External sources (logs, processes, APIs) |
| Firing pattern | Event-driven by Claude's actions | Continuous — fires whenever condition matches |
| Use case | React to what Claude does | React to what happens in your environment |
| Example | Format code after every Edit | Alert Claude when the dev server crashes |