Get started

Up and running
in 2 minutes.

Choose the capture method that fits how you work. You can use all four at once — they produce the same normalized session record.

Video walkthroughs

Watch the setup, then inspect your first session.

ReclaimLLM channel →

Install ReclaimLLM

Set up RCLM and start capturing sessions.

Use session details

Read captured messages, tool calls, file diffs, and metadata.

ReclaimLLM walkthrough

A quick product walkthrough from the ReclaimLLM channel.

Before you start

You need a free RCLM account and an API key. Create your account, then find your API key in Settings → API Keys.

Create free account →
rclm-hooksMethod 1

Native Hooks

The recommended setup for coding agents. Install the package, run one installer, and ReclaimLLM handles browser login, hook registration, MCP setup, safe defaults, and updates automatically.

  • ✓Claude Code, Gemini CLI, Codex CLI, Cursor, and Antigravity supported by default; OpenClaw is opt-in
  • ✓Paired tool inputs + results captured
  • ✓File diffs where the client exposes before/after changes; Antigravity is capture-only
  • ✓Provider-supported token analytics, redaction sync, and handoff guidance included
install.sh

# Automated install for macOS & Linux

$ curl -fsSL https://reclaimllm.com/install.sh | bash

✓ ReclaimLLM installed to ~/.local/bin

✓ Initializing hooks for Claude Code, Cursor, Codex, Gemini, Antigravity...

Installs rclm in an isolated environment, adds binaries to PATH, and initializes hooks with zero manual setup.

What happens during install:

ReclaimLLM handles browser authentication when needed, writes credentials to ~/.reclaimllm/config.json, registers native hooks for supported tools (Claude Code, Cursor, Codex, Gemini, Antigravity), syncs DLP redaction rules, and enables automatic background updates.

Need custom configuration or flags?

For provider-only installs, project-local hooks, include/exclude folders, custom handoff thresholds, and proxy flags, see the Quickstart Documentation →

rclm-browser-extMethod 2

Browser Extension

Capture conversations from ChatGPT, Claude.ai, and Gemini directly in the browser. Works with your existing accounts — no API keys or extra configuration required. Just install and go.

  • ✓Works on ChatGPT, Claude.ai, Gemini
  • ✓No API keys or account access required
  • ✓Captures in the background, syncs automatically
  • ✓Sensitive content flagged before upload
⏳

The extension is awaiting Chrome Web Store review. In the meantime, you can install it manually in developer mode using the steps below — it takes under a minute.

1

Download the extension

↓ Download reclaimllm-extension.zip

Unzip the file after downloading — you'll need the extracted folder in the next step.

2

Enable Developer mode in Chrome

Open chrome://extensions in your browser. Toggle Developer mode on using the switch in the top-right corner of the page.

3

Load the extension

Click Load unpacked and select the folder you unzipped in step 1. The ReclaimLLM icon will appear in your Chrome toolbar.

4

Sign in with your RCLM account

Click the ReclaimLLM icon in your toolbar and sign in with the same GitHub or Google account you use for your RCLM account. Capturing starts automatically once you're signed in.

rclm-proxyMethod 3experimental

Local API Proxy

A local proxy that sits between your code and LLM providers. Every request and response is recorded — Anthropic, OpenAI, Azure OpenAI, and Gemini. No code changes required; just point your environment variables at it.

  • ✓Works with any app — just set one env var
  • ✓Runs locally for maximum security
  • ✓Supports all major providers via LiteLLM
  • ✓Async upload — never blocks your requests
⚗️

The local proxy is experimental. Expect rough edges — please report any issues you run into.

1

Install the package

install

$ pip install rclm

# or with proxy support (LiteLLM)

$ pip install 'rclm[proxy]'

2

Start the proxy

start proxy

$ export RECLAIMLLM_API_KEY=rclm_your_key_here

$ rclm-proxy

✓ ReclaimLLM proxy listening on :9800

✓ Forwarding to https://api.anthropic.com

3

Point your app at the proxy

your app .env

# Anthropic

$ export ANTHROPIC_BASE_URL=http://localhost:9800

─────────────────────────────────────────────────

# OpenAI

$ export OPENAI_BASE_URL=http://localhost:9800

Your existing API keys stay in place — the proxy forwards them transparently.

OTLP/HTTPMethod 4

Existing LLM API calls

Keep calling OpenAI or Anthropic directly. OpenTelemetry sends a copy of the emitted trace to ReclaimLLM without changing your provider endpoint or storing provider credentials.

  • ✓OpenAI, Azure OpenAI, Anthropic, Gemini, Vertex AI, Bedrock, and generic OTLP traces
  • ✓Prompts, responses, tools, models, timing, and token usage when emitted by the instrumentor
  • ✓Retries merge by trace and span ID without inflating token totals
  • ✓session.id groups multiple calls into one ReclaimLLM session
  • ✓reclaimllm.tags adds searchable session tags from your workflow

Testing another organization

  1. 1. Invite a dedicated integration user to the target organization.
  2. 2. Assign that user to one team for predictable team attribution.
  3. 3. Sign in as that user and create a personal key under Settings → API Keys.

The API key determines the user, organization, team, and data region. Do not send an organization ID in telemetry; it is intentionally ignored for authorization.

install
pip install openai opentelemetry-sdk opentelemetry-exporter-otlp-proto-http openinference-instrumentation-openai
environment
export RECLAIMLLM_API_KEY=rclm_your_key_here
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://api.reclaimllm.com/v1/traces
export OTEL_EXPORTER_OTLP_HEADERS="X-API-Key=${RECLAIMLLM_API_KEY}"
export OPENINFERENCE_HIDE_INPUTS=false
export OPENINFERENCE_HIDE_OUTPUTS=false
export OPENAI_API_KEY=your_openai_key
openai_example.py
import os
from openai import OpenAI
from opentelemetry import trace
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from openinference.instrumentation.openai import OpenAIInstrumentor

provider = TracerProvider(
    resource=Resource.create({"service.name": "support-api"})
)
trace.set_tracer_provider(provider)
provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
OpenAIInstrumentor().instrument(tracer_provider=provider)

client = OpenAI()
tracer = trace.get_tracer("support-api")

with tracer.start_as_current_span("support-conversation") as span:
    span.set_attribute("session.id", "support-case-123")
    span.set_attribute("reclaimllm.tags", ["customer-support", "production"])
    response = client.responses.create(
        model=os.getenv("OPENAI_MODEL", "gpt-4.1-mini"),
        input="Reply with one short test message.",
    )
    print(response.output_text)

provider.force_flush()

These examples enable full input and output capture for a non-sensitive test. Review your privacy policy before enabling content capture in production.

Verify

Check that it's working.

01

Run a session

Start a Claude Code session, send a request through the proxy, or open ChatGPT with the extension installed.

02

Open your dashboard

Go to your RCLM dashboard. A new session should appear within a few seconds of the session ending.

03

Browse the capture

Click into the session to see messages, tool calls, file diffs (hooks only), and token usage.

No account yet?

Sign up free — no credit card required. Start capturing up to 200 sessions at no cost.

Create free account→