observability
observability
Section titled “observability”Local, metadata-only telemetry for Claude Code. A bundled observer records session, tool, and subagent lifecycle events into SQLite on your machine, an optional statusline shows live context and usage, and an OpenTelemetry Collector can forward redacted signals to Grafana, generic OTLP, or PostHog. Prompts, responses, code, tool inputs and results, credentials, and environment values are never stored. Every sink beyond local SQLite is opt-in.
Version: 0.7.0
Skills
Section titled “Skills”enable-project-telemetry: Opt the current project into local Claude Code usage telemetry, or verify its setup. Use to enable, disable, or check project telemetry.
- SessionStart (startup|resume):
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/lib/observability/ensure.js" --launch - SessionStart:
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/observability.js" - SessionEnd:
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/observability.js" - UserPromptSubmit:
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/observability.js" - PreToolUse (*):
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/observability.js" - PreToolUse (Agent|Task):
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/request-body-preflight.js" - PostToolUse (*):
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/observability.js" - Stop:
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/observability.js" - SubagentStart:
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/observability.js" - SubagentStop:
node --no-warnings "${CLAUDE_PLUGIN_ROOT}/hooks/observability.js"
Bin entrypoints
Section titled “Bin entrypoints”install-otel-collector.jsobserver.jsproject-telemetry.jsprune-observability.jssetup-observability.jsstatusline.jstoken-usage-report.jsverify-project-telemetry.js