Skip to content

Observability

PopKit includes observability hooks for capturing event metadata from Claude Code sessions. The public docs currently cover the hook behavior and optional cloud delivery path; hosted dashboard access is deferred until the hosted product surface is verified.

Hosted dashboard setup is not part of the current public launch surface. If you run a private PopKit Cloud deployment, configure its dashboard and API endpoint from that deployment’s operator docs.

The dashboard shows:

  • Activity Feed: Real-time stream of events (tool calls, agent starts/ends, errors)
  • Active Agents: Which agents are currently working
  • Tool Usage: Most frequently used tools
  • Session Stats: Today’s totals for events, agent starts, and errors
  1. Claude Code fires hook events (PreToolUse, PostToolUse, etc.)
  2. The agent-observability.py hook captures these events
  3. Events are sent to PopKit Cloud API
  4. Dashboard receives events via SSE (Pro) or polling (Free)
Claude Code → Hook → PopKit Cloud API → Dashboard
Redis Stream
Terminal window
/popkit-core:account login

If you do not have a PopKit Cloud account or deployment, skip cloud delivery and use the local setup paths.

Add to your shell profile (.bashrc, .zshrc, etc.):

Terminal window
export POPKIT_API_KEY=pk_live_your_key_here

The observability hook is included in popkit-core. If you’ve installed PopKit, it’s already available.

To verify it’s active:

Terminal window
/popkit-core:plugin status
EventDescription
agent_startAn agent was spawned
agent_endAn agent completed
tool_callA tool was invoked
tool_resultA tool returned a result
errorAn error occurred
workflow_phaseA workflow phase changed
FeatureFreePro
Event captureYesYes
Dashboard accessYesYes
Update methodPolling (3s)SSE streaming
Event historyLast 50Last 1000
Stats retentionToday only7 days
  1. Check API key is set:

    Terminal window
    echo $POPKIT_API_KEY
  2. Check hook is registered:

    Terminal window
    claude hooks list
  3. Test manually:

    Terminal window
    echo '{"tool_name":"Read","tool_input":{}}' | python agent-observability.py

The hook is designed to fail silently - it won’t block your Claude Code session if the API is unreachable. Check the dashboard connection status indicator:

  • 🟢 Live (SSE) - Real-time streaming active (Pro)
  • 🔵 Polling (3s) - Polling mode active (Free)
  • 🟡 Connecting - Establishing connection
  • 🔴 Error - Connection failed

Events are scoped to your user account. We capture:

  • Tool names and execution times
  • Agent types and session IDs
  • Error status (not error messages)

We do NOT capture:

  • Tool inputs/outputs
  • File contents
  • Conversation history
  • Personal data

See our Privacy Policy for details.