> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enfors.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Claude Code & Claude Desktop

> Stream your existing AI tools into Enfors.

Enfors natively supports the AI clients your team already uses. Once set up, their activity
flows into Enfors automatically — no changes to how you work.

<CardGroup cols={2}>
  <Card title="Claude Code & Claude Desktop" icon="terminal">
    Captured by the Enfors **watcher**, which reads their local transcripts — no proxy, no
    certificate. Covers the Claude Code CLI and Claude Desktop (including Claude Code running
    inside it).
  </Card>

  <Card title="Agent SDKs" icon="code">
    Your own agents (e.g. the OpenAI SDK) call the Enfors **gateway** (`llm.enfors.ai`)
    directly, where each call is captured and turned into a decision.
  </Card>
</CardGroup>

## How clients connect

<Tabs>
  <Tab title="Coding assistants → watcher">
    Claude Code (CLI) and Claude Desktop write a transcript of every session to disk. The
    Enfors [watcher](/integrations/gateway-installer) reads those transcripts and uploads
    completed turns to `data.enfors.ai`. It reads files only — no network path, no proxy, no
    certificate. This **replaces the earlier mitmproxy approach**.
  </Tab>

  <Tab title="Agent SDKs → gateway">
    Agent SDKs (e.g. the OpenAI SDK) and other tools call the Enfors gateway at
    `llm.enfors.ai` **directly**, where calls are **captured** and turned into decisions. The
    gateway is model-agnostic (Anthropic, OpenAI, Gemini, Bedrock, Azure…). Bring your own
    provider key via `x-enfors-provider-api-key`. See [Agent SDKs & the
    gateway](/integrations/gateway) for the OpenAI SDK code sample.
  </Tab>

  <Tab title="MCP (query)">
    To **query** Enfors from inside a client (ask questions, render reports), add the
    [Enfors MCP server](/mcp/overview). This is the read direction — complementary to
    capture.
  </Tab>
</Tabs>

## Agent identity

Each connected client registers as an **agent** (for example `claude-desktop-<username>`)
with an owner and model. That identity is what groups the client's sessions and decisions
in the [hierarchy](/concepts/agents-sessions-decisions).

## Set up

<CardGroup cols={2}>
  <Card title="Install the watcher" icon="download" href="/integrations/gateway-installer">
    One-step installer for Claude Code + Claude Desktop capture — macOS and Windows.
  </Card>

  <Card title="Integrate an agent SDK" icon="code" href="/integrations/gateway">
    Route the OpenAI SDK (and others) through the gateway.
  </Card>

  <Card title="Add the MCP server" icon="plug" href="/mcp/overview">
    Query Enfors from your client.
  </Card>
</CardGroup>
