Hook Lab — Productivity skill for Claude Code
A web dashboard for watching Claude Code hook events in real time.
How to install Hook Lab
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open felipeelias/hook-lab and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Hook Lab does
A web dashboard for watching Claude Code hook events in real time.
Alternatives in Productivity
- Tradingview MCP — Real-time crypto & stock screening, advanced technical indicators, Bollinger Bands intelligence, candlestick p 2.6k ★
- GrokSearch — Integrate Grok's powerful real-time search capabilities into Claude via the MCP protocol 1.8k ★
- Claude Code Hooks Multi Agent Observability — Real-time monitoring for multi-agent Claude Code sessions via hook event tracking 1.3k ★
README
HookLab
A web dashboard for watching Claude Code hook events in real time.


Quickstart
services:
app:
image: ghcr.io/felipeelias/hook-lab:latest
ports:
- "4000:4000"
volumes:
- hook_lab_data:/app/data
environment:
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
DATABASE_PATH: /app/data/hook_lab.db
PHX_HOST: localhost
volumes:
hook_lab_data:
export SECRET_KEY_BASE=$(openssl rand -base64 64)
docker compose up -d
Open http://localhost:4000.
Hook configuration
This repo includes a [`docs/claude-settings.example.json`](docs/claude-settings.example.json) that sends every hook event to HookLab over HTTP. Each hook has a 1-second timeout. If HookLab isn't running, Claude Code moves on.
Copy the `hooks` block from that file into `~/.claude/settings.json` or your project's `.claude/settings.json`. Here's a stripped-down version with just two events if you want to start small:
{
"hooks": {
"PreToolUse": [
{
"hooks": [
{
"type": "http",
"url": "http://localhost:4000/api/hooks",
"timeout": 1
}
]
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "http",
"url": "http://localhost:4000/api/hooks",
"timeout": 1
}
]
}
]
}
}
Hook settings are read at session start, so open a new Claude Code session after changing them.
Custom URL
If HookLab is running on a different host or port, replace `http://localhost:4000/api/hooks` in each hook entry with your URL. HTTP hooks don't support environment variable interpolation in the `url` field, so the URL must be edited directly in the settings file.
Development
mix setup
mix phx.server
# http://localhost:4000
mix ci
docker compose build
Related Skills
Claude Code Remote
claude-code-remote is a real-time monitoring system for Claude Code sessions. A lightweight Go server runs on
Branchwork
Real-time web dashboard for visualizing and interacting with Claude Code plans, agents, and tasks
Pawscope
Local web dashboard for inspecting Claude / Copilot / Codex CLI agent sessions in real time. Read-only, local-
Claude Code Logitech Haptic Plugin
Claude Code hook integration that triggers MX Master 4 haptic feedback via HapticWebPlugin for permission prom
Claude Visualizer
Real-time ambient visualizer for Claude Code tool events — Tycho-inspired generative visuals and music. Zero d
Secretscan
Real-time secret & credential detector for Claude Code — 47 patterns, PostToolUse hook, lossless recovery
Related Agents
Claude Code Hook Comms (hcom)
by aannoo - Lightweight CLI tool for real-time communication between Claude Code sub agents using hooks. Enabl
Socket Realtime
Wires up the real-time layer of the cart app — a Socket.io server attached to Nuxt's Nitro server that turns c
X402 UI Architect
Architecture & Data-Model Agent for x402 UI/Dashboard Swarm. Designs information architecture, real-time data