felipe

HookLab - Watch your Claude Code hooks in real time

Claude Code recently added HTTP hooks. Instead of shell scripts, you can point hook events at a URL. I built HookLab to play with that.

It’s a live dashboard. Every hook event shows up in the browser as it happens: which tools are being called, what arguments they get, what comes back. You can filter by event type, tool, session, and expand any row to inspect the full payload.

HookLab dashboard

Expanded hook event

To run it:

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

Then point your hooks at it. The README has the full settings.json config you need.

Built with Phoenix LiveView and SQLite. Next version will let you block or modify hook events based on rules.