# LangChain | Sentry for Cloud Functions for Firebase

## [Server-Side Usage](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#server-side-usage)

*Import name: `Sentry.langChainIntegration`*

The `langChainIntegration` adds instrumentation for [`langchain`](https://www.npmjs.com/package/langchain) to capture spans by automatically wrapping LangChain operations and recording AI agent interactions with configurable input/output recording.

Enabled by default and automatically captures spans for LangChain SDK calls. Requires Sentry SDK version `10.28.0` or higher.

To customize what data is captured (such as inputs and outputs), see the [Options](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#options) in the Configuration section.

## [Configuration](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#configuration)

### [Options](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#options)

The following options control what data is captured from LangChain operations:

#### [`recordInputs`](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#recordinputs)

*Type: `boolean` (optional)*

Records inputs to LangChain operations (such as prompts and messages).

Defaults to `true` if `sendDefaultPii` is `true`.

#### [`recordOutputs`](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#recordoutputs)

*Type: `boolean` (optional)*

Records outputs from LangChain operations (such as generated text and responses).

Defaults to `true` if `sendDefaultPii` is `true`.

**Usage**

Using the `langChainIntegration` integration:

```javascript
Sentry.init({
  dsn: "____PUBLIC_DSN____",
  // Tracing must be enabled for agent monitoring to work
  tracesSampleRate: 1.0,
  integrations: [
    Sentry.langChainIntegration({
      // your options here
    }),
  ],
});
```

## [Supported Operations](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#supported-operations)

By default, tracing support is added to the following LangChain SDK calls:

* **Chat model invocations** - Captures spans for chat model calls
* **LLM invocations** - Captures spans for LLM pipeline executions
* **Chain executions** - Captures spans for chain invocations
* **Tool executions** - Captures spans for tool calls

### [Runnables](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#runnables)

The integration automatically instruments the following LangChain runnable methods:

* `invoke()` - Single execution
* `stream()` - Streaming execution
* `batch()` - Batch execution

### [Providers](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#providers)

The automatic instrumentation supports the following LangChain provider packages:

* `@langchain/anthropic`
* `@langchain/openai`
* `@langchain/google-genai`
* `@langchain/mistralai`
* `@langchain/google-vertexai`
* `@langchain/groq`

## [Supported Versions](https://docs.sentry.io/platforms/javascript/guides/firebase/configuration/integrations/langchain.md#supported-versions)

* `langchain`: `>=0.1.0 <2.0.0`
