Dash0 Raises $110M Series B at $1B Valuation

Last updated: July 5, 2026

Troubleshoot AI Coding Insights

Resolve common issues with coding agent telemetry export, data volume, and missing metrics in Dash0.

If telemetry is not showing up in Dash0, or you see unexpected data volume or missing metrics, the solutions below address the most common AI Coding Insights issues. Most problems come down to OpenTelemetry configuration or network connectivity.

No Sessions Appearing

If sessions are not appearing after configuration, work through these checks.

Confirm the endpoint and token. Re-check the otlp_url and auth_token against the values on your agent's integration page under Integrations in Dash0. A common cause is a token that has expired. Check Settings → Auth Tokens and create a new one if needed.

Confirm the time range. Set the time range to cover the session, for example Last 30 minutes. Sessions appear within a minute or two of activity.

For the Claude Code plugin:

  1. Verify the plugin is installed: run /plugin and check that dash0 or dash0-agent-plugin appears under Installed.
  2. Verify the configuration: /plugin → Installed → dash0 → Configure.
  3. Reload plugins after any change: /reload-plugins.
  4. Restart the agent. Configuration changes are loaded at startup, so a change made while the agent is running does not take effect until you restart it.

Avoid duplicate installations. If you installed both dash0@claude-plugins-official and dash0-agent-plugin@dash0, uninstall one to avoid duplicate hook firing.

Verify network connectivity. Confirm the machine can reach the Dash0 endpoint. If a request fails, check firewall rules, VPN settings, and proxy configuration.

Claude Desktop Sessions Not Appearing (CLI Works)

If sessions from the Claude Code CLI appear in Dash0 but sessions from the Claude Desktop app do not, the issue is likely how the plugin was configured.

The problem: Configuring via the Plugin UI (/plugin → Configure) writes configuration scoped to the marketplace plugin identity (dash0-agent-plugin@dash0). The CLI uses this identity, so it works. However, Claude Desktop loads its own bundled copy of the plugin under a different identity (@inline). Since userConfig is keyed per plugin identity, the Desktop app runs completely unconfigured: hooks fire and write events locally, but with no OTLP URL the export is a silent no-op. No configuration warnings appear because the Desktop app does not render JSON-formatted system messages from plugin hooks.

The fix: Configure via the .local.md file instead of the Plugin UI. Create ~/.claude/dash0-agent-plugin.local.md with your configuration:

yaml
123456789
---
otlp_url: "https://ingress.<region>.aws.dash0.com"
auth_token: "your-dash0-auth-token"
dataset: "default"
agent_name: "claude-code"
team_name: "your-team"
omit_io: true
omit_user_info: false
---

The plugin reads this file on every hook regardless of identity, so it configures both the CLI (@dash0) and Desktop (@inline) variants. After adding the file, restart Claude Desktop. Session start should show dash0: connected and your Desktop sessions will now export.

This is already the primary configuration path documented in Set Up AI Coding Insights. The Plugin UI route only configures the CLI identity and silently leaves Desktop unconfigured.

Everything Is Grouped Under unknown

Telemetry that carries no team attribute is grouped under unknown, which is why an organization that has just started sending data sees most activity there. Set a team on every agent, using team_name for the Claude Code plugin or the equivalent setting on any other agent, and apply it consistently across developers. See Set Up AI Coding Insights for details.

Missing Token Metrics

If token counts or cache metrics are missing from session details:

Update the agent. Token telemetry requires a recent agent version that follows the GenAI semantic conventions. Check that you are running the latest version.

Inspect span attributes. Use the Trace Explorer to check whether spans include the gen_ai.usage.* attributes:

  • gen_ai.usage.input_tokens
  • gen_ai.usage.output_tokens
  • gen_ai.usage.cache_read.input_tokens
  • gen_ai.usage.cache_creation.input_tokens

If these attributes are missing, the agent is not exporting token data.

Check for attribute filtering. Some OpenTelemetry pipelines drop attributes to reduce data size, which can remove token metrics. Make sure your export path preserves them.

Sessions Show as Failed Incorrectly

A session is marked as failed if any of its spans has an error status. This is often correct, because the session did not complete as intended, but it can be surprising when the developer recovered from the error.

Open the session detail panel on the Explore Sessions to see which tool calls failed. A single failed tool call, such as a permission-denied file read, marks the whole session as failed. Long-running operations that time out are also marked as failed.

Missing Conversation Content

If the conversation preview on the Sessions tab is empty or incomplete:

Check omit_io. With omit_io set to true, which is the default, prompts and tool input/output are stripped from the telemetry. Set it to false if you want to read full conversations in Dash0, keeping in mind that this sends prompt and tool I/O to your dataset.

Check span event limits. Conversation content is carried as span events. OpenTelemetry has default limits on the number of events per span, so very long sessions can lose events. If you run a custom pipeline, raise the event limit:

bash
1
export OTEL_SPAN_EVENT_COUNT_LIMIT=1000

Duplicate Sessions

If a single invocation produces multiple sessions:

Check for multiple plugin installations. The most common cause is having both plugin versions installed at once. Keep only one of dash0@claude-plugins-official or dash0-agent-plugin@dash0, and uninstall the other with /plugin uninstall <plugin-name>.

Check for multiple exporters. If you export both directly and through a collector, sessions can be sent twice. Consolidate to a single export path.

High Data Volume

If an agent generates more telemetry than expected:

Review monitored repositories. Large monorepos and repositories with many files generate more spans per session.

Exclude development sessions. Consider disabling export for local development where observability matters less than performance.

Check for automated processes. Scripts, CI pipelines, or automated tooling can trigger sessions and generate unexpected volume.

Performance Impact

If the agent feels slower after enabling telemetry:

Confirm asynchronous export. Spans should be exported off the main thread so they do not block the session.

Reduce span detail. Keeping omit_io set to true avoids attaching large prompt and tool I/O payloads to spans.

Check network latency. High latency to the Dash0 endpoint slows export. If latency is consistently high, run a local OpenTelemetry Collector as a buffer.

Multi-User Attribution Issues

When you roll AI Coding Insights out to a team, attribution problems usually come from identity configuration.

Sessions not attributed, or all under one user. The Claude Code plugin reads user.name from each developer's local Git configuration. Confirm each developer has their Git identity set:

bash
1
git config user.name

If you use native Claude Code tracing instead of the plugin, each developer sets their identity through an environment variable:

bash
1
export OTEL_RESOURCE_ATTRIBUTES="user.name=$(git config user.name)"

This value is per developer and cannot be shared, so verify each machine sets its own.

User names appear anonymized. If names show as hashes, omit_user_info is enabled. Set it to false in the plugin configuration and run /reload-plugins to capture readable names.

Inspect What the Agent Sends

To see exactly what the Claude Code plugin exports, run it with debug output enabled:

bash
1
DASH0_DEBUG=true DASH0_DEBUG_FILE=/tmp/dash0-debug.log claude

You can also set DASH0_DEBUG in the plugin configuration through /plugin, then run /reload-plugins. The debug log shows the OpenTelemetry payloads being exported, which is the fastest way to tell whether the problem is data generation or data export.

If telemetry is being generated but sessions still do not appear, the issue is on the export side: re-check the endpoint, the token, and that the export protocol matches the OTLP endpoint shown on your integration page.

Further Reading