╦ ╦╔═╗╔═╗╦╔═ ╦ ╦╔═╗╦═╗╔═╗
╠═╣║ ║║ ║╠╩╗ ╠═╣║╣ ╠╦╝║ ║
╩ ╩╚═╝╚═╝╩ ╩ ╩ ╩╚═╝╩╚═╚═╝

────█────
◈ Get StartedView Source
scroll
↓
0
hooks
0%
smaller
AES-256
encryption
0+
dict codes

Watch it happen

Every hook fires. Every event is captured. The live feed shows exactly what Hook Hero sees during a Claude Code session.

● live telemetrycycle 1
+mshooktool
awaiting session...

One command

Install the plugin and start the dashboard. That's it. No configuration files, no environment variables, no setup scripts.

Terminal

What you get

◈

Every Hook. Captured.

14 hook events — from SessionStart to WorktreeRemove. Nothing escapes the telemetry net.

◉

Real-Time Dashboard

Ink-powered terminal UI with live stream monitoring, project grouping, and keyboard navigation.

◆

Cost Tracking

Auto-updated pricing from Anthropic. Per-session and cumulative cost across all models.

◇

47% Smaller Storage

MessagePack with custom dictionary compression. Static + dynamic symbol tables replace repeated strings with 1-byte codes.

▣

AES-256-GCM Encryption

Optional per-frame encryption. Auto-generated keyfile or environment variable. 29 bytes overhead per event.

▢

AI-Powered Analysis

Press 'a' on any session to ask Claude about your telemetry. Cost insights, tool patterns, optimization tips.

◇

Git-Aware

Tracks commits, PRs, and lines changed per session. Connect agent work to real output.

▤

Subagent Observability

Monitor subagent spawns and completions. See the full tree of agent orchestration.

▥

Zero Config

Install the plugin, start coding. Configurable format and encryption when you need it.

Dictionary compression

JSON — 138 KB
{
"session_id": "24768f42-...",
"event": "tool_start",
"tool": "Read",
"tool_use_id": "toolu_abc...",
"status": "success"
}
x569 events = repeated 569 times
→
msgpack + dict — 73 KB
{
3: -100,
2: -1,
4: -20,
5: "toolu_abc...",
7: -12
}
47% smaller — binary msgpack
0=v1=ts2=event3=session_id4=tool5=tool_use_id-1=tool_start-2=tool_end-12=success-20=Read-23=Bash-100=24768f42-...(uuid)...56 static + per-session dynamic codes

Encrypted at rest

Per-frame encryption
4B
len
1B
ver
12B
IV
NB
ciphertext
16B
GCM tag
Each event is independently encrypted with a random IV. Append without re-encrypting the file.
Enable with one file
~/.claude/hook-hero/config.json
{
"storage": {
"encryption": {
"enabled": true
}
}
}
Key auto-generated at ~/.claude/hook-hero/.key (chmod 600). Or set HOOK_HERO_KEY env var.

How it works

Claude Code
Session
Prompts
Tools
Agents
↓   ↓   ↓   ↓
14 Hooks
Capture
Buffer
Events
State
↓   ↓   ↓   ↓
StorageCodec
Dictionary
msgpack
Encrypt
Frames
↓   ↓   ↓   ↓
Output
Dashboard
AI Chat
Stats
Export

14 hooks. Full coverage.

SessionStartSessionEndUserPromptSubmitPreToolUsePostToolUsePostToolUseFailureStopSubagentStartSubagentStopPreCompactPostCompactWorktreeCreateWorktreeRemoveTaskCompleted

Start capturing

$ claude /plugin install hook-hero

Telemetry starts flowing on your next session.
Run hook-hero --live to open the dashboard.