Dev & Engineering observabilitymonitoringmulti-agenthookssqlitewebsocketvue

Claude Code Multi-Agent Observability System

Real-time monitoring for Claude Code agents through simple hook event tracking.

FollowAgents review · FARS-2.1
Not recommended
35/ 100 5-point scale 1.8 / 5
1 2 3 4 5 6
1Trust5 / 29 · 0.9/5

Evidence: README describes security features (blocking rm -rf, sensitive file access) but lacks implementation details; hook scripts send event data to a local server, but data retention and access control are not specified; dependencies are not pinned, posing supply chain risk; no user confirmation mechanism mentioned; external effects include starting a server and sending HTTP requests, but no rollback plan; publisher identity unverified. Deductions: least privilege only partially implemented (documented blocking of dangerous commands), user confirmation absent, data flow transparency insufficient, sensitive data handling unclear, dependency security unaddressed, external effects not fully explained, rollback missing, source attribution not provided.

2Reliability6 / 14 · 2.1/5

Evidence: README and project structure are consistent, hook script naming is clear, but no test results or error handling details provided; dependencies (Bun, uv, just) are not pinned, availability depends on external factors; failure messages not documented. Deductions: self-consistency is adequate, but dependency availability not guaranteed, failure messages not provided.

3Adaptability9 / 18 · 2.5/5

Evidence: README targets developers, provides multiple usage scenarios (single project, multi-project, team orchestration), but capability boundaries not explicit (e.g., supported Claude Code versions); trigger precision controlled via matcher and event types, but specific trigger conditions for all events not explained; environment fit depends on specific toolchain (Bun, uv), other environments not addressed. Deductions: audience and scenarios well covered, but capability boundaries unclear, environment fit limited.

4Convention6 / 18 · 1.7/5

Evidence: README has clear structure, includes installation steps, project structure, configuration; provides examples and FAQ (via video links); but no known limitations, license, version changelog; maintenance responsibility not clear (publisher unverified). Deductions: information architecture and install notes good, but naming stability not guaranteed (no version numbers), examples and FAQ partially rely on external videos, known limitations missing, license missing, versioning changelog missing, maintenance responsibility unclear.

5Effectiveness7 / 13 · 2.7/5

Evidence: Output is a real-time dashboard with filtering, charts, etc., good usability; marginal value lies in multi-agent observability, but not compared with other tools; cost-benefit not quantified, depends on multiple external services (API keys). Deductions: output usability good, but marginal value not fully argued, cost-benefit not assessed.

6Verifiability2 / 8 · 1.3/5

Evidence: Claims in README (e.g., security features) lack code-level evidence; no independent verification sources; facts and inferences mixed (e.g., marketing language like 'vibe coding'). Deductions: claim traceability insufficient, cross-source corroboration missing, fact-inference separation unclear.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 8a6e5cf795df
Safety controls not found in source: confirmation before acting, dependency security, rollback or recovery path, verifiable attribution
Before you use it
  • Dependencies are not pinned, posing supply chain risk.
  • No license information provided, use with caution.
  • Hook scripts send event data to a local server, but data retention and access control are not specified.
  • Publisher identity unverified, maintenance responsibility unclear.
Review evidence [1]
See the full review method →

What does this agent do, and when should you use it?

This is an open-source real-time monitoring system for tracking Claude Code agent behavior. It captures all tool calls, task handoffs, and agent lifecycle events via the hook system, sends them via HTTP POST to a Bun server, stores them in SQLite, and streams them in real-time to a Vue 3 client via WebSocket. The system supports concurrent monitoring of multiple agents with session tracking, event filtering, and live updates. The repository includes a hook system intercepting 12 event types, a Bun TypeScript server, a Vue 3 client, and optional Agent Teams (builder and validator). It requires Claude Code, Bun, Python with uv, and an Anthropic API key for integration.

The system captures 12 types of events (PreToolUse, PostToolUse, Notification, etc.) via Claude Code's hook mechanism, running corresponding Python scripts (e.g., pre_tool_use.py, post_tool_use.py) for validation, logging, and summarization. The send_event.py script sends event data (including tool name, session ID, source app) via HTTP POST to the server (default localhost:4000/events). The server (Bun + TypeScript) validates events, stores them in SQLite (WAL mode), and broadcasts to all connected clients via WebSocket. The Vue 3 client displays events in a real-time timeline, supports filtering by app, session, and event type, and includes a live pulse chart and chat transcript viewer.

  1. Individual developers who want to understand Claude Code's internal decision-making during coding, tracking every tool call.
  2. Teams using Claude Code across multiple projects needing centralized monitoring of agent activity and errors.
  3. Developers building multi-agent orchestration systems needing to track task creation, updates, and message passing across the swarm.
  4. Users who need to surface agent failures and permission requests early to prevent cascading issues.
  5. Those wanting to measure agent throughput and optimize multi-agent workflows.

What are this agent's strengths and limitations?

Pros
  • Provides a real-time dashboard with a full timeline of all Claude Code events.
  • Supports concurrent monitoring of multiple agents with filtering by agent swim lane.
  • Includes security features like blocking dangerous commands and sensitive file access.
  • Offers chat transcript viewing and a live pulse chart.
  • Integrated Agent Teams for defining builder and validator roles.
Limitations
  • Only works with Claude Code, not other AI coding tools.
  • Setup requires multiple components (server, client, hooks), with a learning curve.
  • Requires an Anthropic API key, which may incur costs.
  • The database stores event data, which could lead to disk space growth.
  • Relies on WebSocket and HTTP communication; events won't be received if the network is down.

How do you install or deploy this agent?

Clone the repo and install dependencies: requires Claude Code, Astral uv, Bun (or npm/yarn), and the Python runtime. Copy the .claude directory to your project root: cp -R .claude /path/to/your/project/. Then edit .claude/settings.json to set the source-app parameter. Configure environment variables: create a .env file in the root with ANTHROPIC_API_KEY (required), optional OPENAI_API_KEY, ELEVENLABS_API_KEY, FIRECRAWL_API_KEY. In apps/client, copy .env.sample to .env and set VITE_MAX_EVENTS_TO_DISPLAY. Start the system: ./scripts/start-system.sh or just start.

How do you use this agent?

Ensure the server and client are running (default ports 4000 and 5173). Open http://localhost:5173 in your browser. In your project with Claude Code, run a command like git ls-files and watch events stream into the client. You'll see tool calls, session start/end, subagent activities. Use the filter panel to select app, session, event type. Manage via just commands: just stop to stop, just restart, just test-event to send a test, just health to check status.

How does this agent compare with similar options?

No explicit alternatives are mentioned, but similar observability tools might include Langfuse or LangSmith.

FAQ

What keys are needed to run the system?
Only ANTHROPIC_API_KEY is required; others (OpenAI, ElevenLabs, Firecrawl) are optional.
How do I block certain tools?
The deny_tool logic is defined in pre_tool_use.py, which can block dangerous commands like rm -rf. You can edit that file to customize.
Does event data contain sensitive information?
Hook scripts log tool inputs and outputs; ensure you don't run it in insecure environments. You can adjust scripts to filter sensitive fields.
What happens if the server is not running?
send_event.py validates server connectivity; if the server is down, events may not be sent or errors may be logged.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents