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

# Devin CLI

> Add an otel block to your Devin CLI config to ship session telemetry — prompts, tool calls, and model API requests with token counts — to Sazabi.

[All Devin integration capabilities](https://docs.sazabi.com/catalogs/integrations/devin.md)

## About

Ship Devin CLI session telemetry to Sazabi using Devin CLI's built-in OTLP exporter. Once configured, every session emits structured events covering session start and end, user prompts, model API requests with token counts, and tool calls — no code changes to your projects required. The same configuration applies to the Devin CLI bundled with Devin Desktop.

> [!WARNING]
>
> Devin CLI exports prompt and response text and tool arguments by default, including any sensitive content typed or pasted during sessions. Add `"disable_user_prompt_logging": true` and `"disable_tool_logging": true` to the `otel` block to keep that content out of your logs.

## Prerequisites

* Devin CLI installed and signed in (`devin auth status`)
* Your Sazabi intake URL, shown above — open the log source and copy the **Intake URL** from its setup screen (the public key is embedded in the URL)

## Set up in the dashboard

**Step 1**

### Add an otel block to the Devin CLI config

Open or create `~/.config/devin/config.json` (on Windows, `%APPDATA%\devin\config.json`) and add an `otel` block, keeping the file's other top-level keys:

```json title="~/.config/devin/config.json" theme={"system"}
{
  "otel": {
    "logs_endpoint": "<your intake URL>/v1/logs"
  }
}
```

Replace `<your intake URL>` with the intake URL shown above, keeping the `/v1/logs` path. If an `otel` block already exists, set `logs_endpoint` inside it instead of adding a second one.

Use `logs_endpoint`, not `endpoint` — `endpoint` also sends metrics, which this setup leaves off to keep volume down.

**Step 2**

### Check the configuration

Run `devin doctor`. The `otel logs export` row shows your intake URL with `/v1/logs`, and `otel metrics export` shows `off`.

**Step 3**

### Restart Devin CLI

Devin CLI loads its config at startup. Quit any running Devin CLI session and start a new one for the `otel` block to take effect.

## Set up with the CLI

You can also register the Devin CLI log source with the [Sazabi CLI](https://docs.sazabi.com/reference/cli.md) (installed and authenticated — see [CLI reference](https://docs.sazabi.com/reference/cli/log-sources.md)).

Registering the source mints the same intake URL the dashboard shows above (the public key is embedded in its hostname):

```bash theme={"system"}
sazabi log-sources create devin_cli --mode manual
```

The command prints the intake URL for the new source — copy the whole URL and point your sender at it using the configuration shown above. Run `sazabi log-sources get <log-source-id>` at any time to reprint the endpoint, or `sazabi log-sources list` to see every log source in the project.

## Verify

Start a Devin CLI session and run a prompt. Open the [Intake page](https://docs.sazabi.com/guides/instrument/intake.md) in the Sazabi dashboard and confirm events from the **Devin CLI** source appear within a minute or two.

## Troubleshooting

**No events after restarting** — Run `devin doctor`. If it reports `otel export off`, confirm `~/.config/devin/config.json` is valid JSON and the `otel` block sits at the top level. Devin CLI exports only while signed in; run `devin auth status`.

**Events go somewhere else** — An `OTEL_EXPORTER_OTLP_ENDPOINT` environment variable overrides the configured endpoint. Unset it, or point it at your intake URL.

**`CFG006` warning** — Devin CLI ignores some `OTEL_EXPORTER_OTLP_*` variables, including every `OTEL_EXPORTER_OTLP_TRACES_*` variable. Unset the variable `devin doctor` names.

**Team settings override the local config** — On Devin Enterprise, team settings can enforce or disable telemetry export and content capture. `devin doctor` reports the team settings it loaded.

**Metric data points show up as log records** — `endpoint` or `metrics_endpoint` is set, so Devin CLI is also exporting metrics. Sazabi is not a metrics store and keeps each data point as a log record. Switch to `logs_endpoint` and leave `metrics_endpoint` unset.

## Further reading

> [card] [Devin CLI configuration](https://docs.devin.ai/cli/reference/configuration/config-file)
>
> Devin CLI config file locations and settings.

> [card] [Intake](https://docs.sazabi.com/guides/instrument/intake.md)
>
> See per-source ingestion volume and health.

> [card] [Log sources](https://docs.sazabi.com/catalogs/log-sources.md)
>
> Browse the full log source catalog.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.