claude-code-telemetry-enable
from adaptationio/skrillz
No description
npx skills add https://github.com/adaptationio/skrillz --skill claude-code-telemetry-enableSKILL.md
Claude Code Telemetry Enable
Enable OpenTelemetry telemetry in Claude Code to send metrics, logs, and traces to your observability stack (local LGTM or Railway).
When to Use
- After deploying observability stack (
observability-stack-setup) - Need to enable Claude Code monitoring
- Want to configure telemetry for local or cloud backends
- Need to verify telemetry connectivity
What This Skill Does
Creates Claude Code environment configuration files that enable:
- Metrics: Token usage, costs, session counts, tool performance
- Logs: User prompts (full content), tool results, API requests/errors
- Traces: Session flows, tool execution spans, API call traces
Privacy Note: Configured for FULL LOGGING (no redactions) per your requirements.
Quick Start
For Local Stack
# After running observability-stack-setup
# Invoke this skill with:
enable-local
# Claude Code will now send telemetry to localhost:4317
For Railway Stack
# After deploying to Railway
# Invoke this skill with:
enable-railway --endpoint https://your-alloy.railway.app:443
# Claude Code will send telemetry to Railway
Operations
enable-local
Configure Claude Code for local LGTM stack.
Creates: ~/.config/claude-code/.env.telemetry
Configuration:
CLAUDE_CODE_ENABLE_TELEMETRY=1
OTEL_METRICS_EXPORTER=otlp
OTEL_LOGS_EXPORTER=otlp
OTEL_EXPORTER_OTLP_PROTOCOL=grpc
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
# Fast export (for development)
OTEL_METRIC_EXPORT_INTERVAL=10000 # 10 seconds
OTEL_LOGS_EXPORT_INTERVAL=5000 # 5 seconds
# FULL LOGGING (no privacy restrictions)
OTEL_LOG_USER_PROMPTS=1
OTEL_METRICS_INCLUDE_SESSION_ID=true
OTEL_METRICS_INCLUDE_VERSION=true
OTEL_METRICS_INCLUDE_ACCOUNT_UUID=true
enable-railway
Configure Claude Code for Railway-hosted LGTM stack.
Parameters:
--endpoint: Railway Alloy OTLP endpoint URL--token: (Optional) Railway authentication token
Example:
enable-railway \
--endpoint https://your-alloy-abc123.railway.app:443 \
--token your-railway-token
Creates: ~/.config/claude-code/.env.telemetry with Railway endpoint
enable-custom
Configure for custom OTLP endpoint (Grafana Cloud, DataDog, etc.).
Parameters:
--endpoint: OTLP endpoint URL--protocol:grpcorhttp(default: grpc)--headers: Authentication headers (e.g., "Authorization=Bearer token")
Example:
enable-custom \
--endpoint https://otlp.grafana.net:443 \
--protocol grpc \
--headers "Authorization=Basic base64encodedcreds"
verify
Test telemetry configuration and connectivity.
Checks:
- Configuration file exists
- Required environment variables set
- OTLP endpoint reachable
- Test telemetry successfully sent
- Data visible in backend (Grafana/Loki/Prometheus/Tempo)
Output:
Telemetry Configuration Check:
✅ Config file: ~/.config/claude-code/.env.telemetry
✅ CLAUDE_CODE_ENABLE_TELEMETRY=1
✅ OTLP endpoint: localhost:4317
✅ Endpoint reachable
✅ Test span sent successfully
✅ Data visible in Grafana
Status: HEALTHY - Telemetry fully operational
disable
Turn off telemetry completely.
Actions:
- Renames
.env.telemetryto.env.telemetry.disabled - OR sets
CLAUDE_CODE_ENABLE_TELEMETRY=0
Re-enable: Rename file back or use enable-local / enable-railway again
status
Show current telemetry configuration.
Output:
Telemetry Status:
State: ENABLED
Endpoint: http://localhost:4317
Protocol: gRPC
Privacy: FULL LOGGING (all data captured)
Export Intervals: Metrics 10s, Logs 5s
Captured Data:
- User prompts (full content)
- Tool executions (all tools)
- API requests (tokens, cost, latency)
- Session metadata (IDs, version, account)
Configuration Details
Environment Variables
Essential:
CLAUDE_CODE_ENABLE_TELEMETRY:1to enable,0to disableOTEL_EXPORTER_OTLP_ENDPOINT: OTLP endpoint URLOTEL_EXPORTER_OTLP_PROTOCOL:grpcorhttp
Exporters:
OTEL_METRICS_EXPORTER:otlp(send metrics via OTLP)OTEL_LOGS_EXPORTER:otlp(send logs via OTLP)
Export Intervals:
OTEL_METRIC_EXPORT_INTERVAL: Milliseconds between metric exports (default: 60000)OTEL_LOGS_EXPORT_INTERVAL: Milliseconds between log exports (default: 5000)
Privacy Controls (configured for FULL logging):
OTEL_LOG_USER_PROMPTS:1= log full prompt content,0= log length onlyOTEL_METRICS_INCLUDE_SESSION_ID:true= include session IDs in metricsOTEL_METRICS_INCLUDE_VERSION:true= include Claude Code versionOTEL_METRICS_INCLUDE_ACCOUNT_UUID:true= include account identifier
Authentication (for cloud backends):
OTEL_EXPORTER_OTLP_HEADERS: Headers for authentication (e.g., "Authorization=Bearer token")
What Gets Captured
Metrics (counters, gauges, histograms):
claude_code.session.count- Session frequenc
...