Layer one: Claude Code already emits rich native telemetry
Claude Code can export metrics, events, and optional traces through OpenTelemetry. Current documentation includes model/API activity, token and cost usage, tool result and tool decision events, MCP connections/calls, hooks, skills, commits, pull requests, and security-oriented events. Use this layer for internal intent, policy, and tool semantics.
Layer two: AgentSight observes the selected local run
AgentSight can record Claude's process family and supported process, file, network, resource, and model/TLS activity without adding a Claude-specific SDK. This layer becomes most useful when a Bash tool or extension starts descendants whose detailed host behavior is not represented by the parent application's own events.
The boundary is concrete: Claude does not propagate its OTel exporter settings to every child
Claude's monitoring reference states that OTEL_* variables are not passed to Bash subprocesses, hooks, MCP servers, or language servers. That does not make those children unobservable; it means they do not automatically join the same OTel export path. AgentSight can provide an independent host view without requiring each child to be separately instrumented.
Provider traffic is another measurement layer
Claude native API events know the semantic request and retry context. AgentSight can reconstruct supported model traffic from the TLS boundary for compatible binaries, and can export captured request/response pairs as GenAI-style spans. These two records may overlap but are produced differently. Preserve source provenance instead of assuming one is a duplicate of the other.
Use the combined stack for concrete investigations
For cost and tool adoption, start with Claude native metrics. For a permission or policy question, start with tool decision events. For a slow shell step, unexpected child process, repo-external path, or non-model destination, add the AgentSight run. For fleet-wide alerts, export the selected signals to your existing OTel/SIEM backend rather than turning AgentSight into the central policy plane.
Content controls are a security decision, not a debugging convenience
Claude telemetry redacts many content fields by default and exposes explicit flags for prompts, tool details, tool content, and raw API bodies. AgentSight sessions can also contain sensitive prompts, responses, commands, headers, paths, and network targets. Decide what must be collected before enabling content-rich modes and avoid copying the same sensitive payload into multiple remote systems unnecessarily.
$ sudo agentsight record -- claude