← Back to News

feature

Sep 21, 2026

Capture LLM API Calls and Coding-Agent Sessions in One Model

ReclaimLLM now supports OpenTelemetry API workloads alongside native capture for six coding agents, with shared search, analytics, and governance.

ReclaimLLM now captures both instrumented LLM API calls and native coding-agent sessions without requiring every workload to use the same integration method.

Applications can send OpenTelemetry traces from existing OpenAI, Anthropic, Gemini, Azure OpenAI, Vertex AI, Bedrock, and other LLM pipelines. Developers using Claude Code, Codex CLI, Cursor, Antigravity, Gemini CLI, or OpenClaw can use native adapters that preserve client-specific session details.

Both paths produce the same ReclaimLLM session model, so captured activity appears in the existing search, analytics, governance, export, and retention workflows.

Two capture paths, one session model

OpenTelemetry and coding-agent integrations solve different problems.

OpenTelemetry is designed for applications that already call model APIs. These applications can continue sending requests directly to their chosen provider and export traces to ReclaimLLM through an OpenTelemetry SDK or Collector. ReclaimLLM does not proxy the model request or receive the provider API key.

Native coding-agent capture is used when the client exposes information through proprietary hooks or local transcripts. Depending on the client, this can include:

  • user and assistant messages;
  • tool calls and results;
  • file changes;
  • working-directory and project context;
  • lifecycle events;
  • model and token usage;
  • permission and failure information.

ReclaimLLM currently has native adapters for:

  • Claude Code
  • Codex CLI
  • Cursor
  • Antigravity
  • Gemini CLI
  • OpenClaw

Each adapter remains independent because the clients expose different hooks, transcript formats, and lifecycle guarantees.

Installing coding-agent capture

Install the capture package and run the shared installer:

pip install rclm
rclm-hooks-install

The default installation configures Claude Code, Codex CLI, Cursor, Antigravity, and Gemini CLI. Individual clients can also be selected:

rclm-hooks-install --claude --cursor

OpenClaw remains opt-in:

rclm-hooks-install --openclaw

The installer opens the ReclaimLLM authentication flow and links the local integration to a ReclaimLLM user API key. For enterprise deployments, that identity can be a dedicated user or team member.

Historical transcripts can be discovered and uploaded separately:

rclm-sync
rclm-sync --antigravity

Failed uploads are retained locally after ReclaimLLM redaction so authentication failures, rate limits, and temporary server errors do not silently discard a completed session. They can be retried with:

rclm-sync --failed

Uninstallation removes only ReclaimLLM-owned configuration and preserves unrelated client settings.

Connecting an existing API pipeline

Applications using OpenTelemetry can send OTLP/HTTP traces to ReclaimLLM’s trace endpoint using the same ReclaimLLM user API-key model.

The receiver understands OpenTelemetry GenAI conventions, OpenInference attributes, and provider-specific shapes where supported. It retains a bounded canonical trace representation so unfamiliar attributes remain available for troubleshooting even when they are not yet mapped into a first-class field.

Session grouping uses this order:

  1. session.id
  2. gen_ai.conversation.id
  3. the OpenTelemetry trace ID

Later exports with the same correlation value merge into the same user-scoped session. Spans are identified by trace and span ID so Collector retries do not duplicate content or inflate token usage.

Explicit source attribution

Captured sessions now distinguish three separate concepts:

  • capture_source: whether the session came from opentelemetry or native_agent;
  • agent_client: the coding application, such as cursor or claude_code;
  • model provider: the provider serving the underlying model.

This matters when, for example, Cursor is configured to use a Claude model. The session remains attributed to Cursor while retaining Anthropic as the model provider.

The dashboard can filter native sessions by coding agent instead of inferring the client from model names or tool conventions.

Security and ownership

Both integration paths authenticate with a ReclaimLLM user API key. User, organization, team, authorization, and data region are resolved by the backend. Incoming telemetry cannot claim another ReclaimLLM identity.

Captured content continues through the existing encryption, residency, retention, authorization, and deletion controls.

ReclaimLLM-owned local configuration, session state, sync indexes, and failed-upload records use owner-only permissions. Provider-owned transcript files remain under the provider’s control and may still contain unredacted content.

Current limitations

Capture completeness depends on what the source exposes. An OpenTelemetry instrumentor that does not emit prompts or responses cannot be used to reconstruct them. Native clients also differ in which lifecycle events, usage counters, file changes, and tool-result replacement mechanisms they support.

Running native capture and OpenTelemetry capture for the same activity may create two sessions. ReclaimLLM does not merge records based on repository, timestamps, models, or similar content because those signals are not safe identifiers. Cross-source merging will require an explicit shared correlation contract.

We are validating current client versions and real-world hook and transcript formats before declaring each adapter generally available. Feedback is especially useful for unusual transcript shapes, resumed sessions, concurrent exports, missing lifecycle events, and workflows that use more than one capture mechanism.