Mission control for your AI coding sessions.
A real-time observability dashboard for Claude Code and Gemini CLI. It captures every hook event, streams it over WebSocket, and shows your agents working — live.
When agents run, you fly blind.
Claude Code and Gemini CLI fire lifecycle hooks the whole time they work — tool calls, session events, permission prompts. Normally that signal just scrolls past in a terminal and disappears. This captures it, stores it, and turns it into a live picture of what your agents are actually doing.
What you get
Live event feed
Every hook — tool use, sessions, permissions — streamed in real time with per-agent color coding and swim lanes.
Agent status panel
See which agents are active, idle, or stopped across both Claude Code and Gemini CLI, side by side.
Session transcripts
Full transcripts ingested at session end and viewable from multiple entry points in the dashboard.
Human-in-the-loop
Respond to agent questions directly from the dashboard — no jumping back to the terminal.
Insights dashboard
KPIs, event breakdowns, and tool-usage charts so you can spot patterns across sessions.
LLM evaluation
Score agent quality on tool success, transcript quality, reasoning depth, and statistical regression.
How it works
Hooks fire
Claude Code (14 events) and Gemini CLI (8 events) run lightweight Python hook scripts as they work.
Events POST in
Each hook sends its event to a Bun server — tagged by source_app + session_id.
Stored + streamed
Events land in SQLite (WAL mode) and broadcast over WebSocket in real time.
You watch live
A React 19 dashboard renders the feed, agent status, transcripts, insights, and evals.
Score your agents, catch regressions
A pluggable evaluation system grades sessions across multiple dimensions — from a no-API-key heuristic to LLM judges and statistical regression detection.
Tool Success
Tool success/failure rate — no API key needed.
Transcript Quality
LLM judge scores input quality and response quality.
Reasoning Quality
Depth, coherence, and self-correction in agent reasoning.
Regression
Statistical z-score detection against a baseline.
Quick start
Built on Bun + SQLite (server) and React 19 + Vite + Tailwind (dashboard), with Python hook scripts run via uv.
# 1. install server + client deps just install # 2. start the system (server + dashboard) just start # 3. open the dashboard, then run Claude Code / Gemini CLI # with the hooks wired up — events stream in live.
Hook setup for both Claude Code and Gemini CLI is documented in docs/hook-setup.md in the repo.
Free, open source, and yours to run.
Grab it on GitHub — or if you want observability built into your own agent platform, let's talk.