Why aren't Claude accounts showing up in DX?
Claude Code accounts can be missing from DX or appear unlinked because of connector, identity, or date-coverage gaps. The checks below depend on which of these you see:
- No Claude Code data at all. The wrong connector is configured, telemetry never reached DX, or the activity falls outside the dates the connector covers.
- Data arrives, but the person shows as unlinked. The payload carries no email address, or the email does not match their email in DX.
Diagnostic checklist
Work through these checks in order until you find the cause.
- Confirm how the person reaches Claude — a claude.ai or Anthropic Console login, a raw API key, or AWS Bedrock, Google Vertex AI, or a gateway. This determines which connector can see them.
- Confirm the matching connector is configured. Enterprise or Console for direct Anthropic access, OTel for anything routed through a 3rd-party provider.
- For OTel, confirm telemetry reaches DX. Check
CLAUDE_CODE_ENABLE_TELEMETRY, the exporter settings, the ingest token, and that Claude Code restarted after the config changed. - For OTel, confirm the payload carries an email. Set
user.emailinOTEL_RESOURCE_ATTRIBUTESwhen Claude Code is not logged in via claude.ai or the Anthropic Console. - For Enterprise or Console, confirm the API key is valid, scoped, and enabled.
- Check the dates. The Enterprise connector has a three-day delay and covers activity on or after January 1, 2026.
Connector coverage
Each Claude Code connector sees a different population.
| Connector | Data source | Covers |
|---|---|---|
| Claude Code (Enterprise) | Anthropic’s Enterprise Analytics API (pull-based) | Users on the Claude for Enterprise plan who access Claude directly |
| Claude Code (Anthropic Console) | Anthropic’s Claude Code Analytics API (pull-based) | Users on the pay-as-you-go Console plan who access Claude directly |
| Claude Code (OTel) | OpenTelemetry, pushed from the client | Users on Bedrock, Vertex AI, or a gateway, and users on Teams or individual plans, which have no Analytics API |
The Analytics APIs see only requests that go straight to Anthropic. When traffic routes through Bedrock, Vertex AI, a custom gateway, or any other 3rd-party provider, Anthropic has no visibility into it, and OTel is the only way that usage reaches DX. For full connector selection guidance, see Which Claude Code connector should I use?.
Missing identity in OTel payloads
DX attributes OTel telemetry using user.email, and falls back to user.account_id or user.id when no email is present. A payload that carries an ID but no email still creates a Claude Code user record, so the person appears in DX but stays unlinked until an email arrives.
Set user.email explicitly when Claude Code is not logged in via claude.ai or the Anthropic Console - especially Bedrock, Vertex AI, gateways, and raw API-key sessions, which typically omit it:
{
"env": {
"OTEL_RESOURCE_ATTRIBUTES": "user.email=name@company.com,user.name=First%20Last"
}
}
Spaces are not allowed in OTEL_RESOURCE_ATTRIBUTES — encode them as %20. Deliver a per-user value through managed settings, your MDM platform, or the environment on each machine. Once a payload including the email arrives, DX backfills it onto the existing records and links the person automatically. For the full matching sequence, see How does DX link Claude Code users?.
If your gateway or collector sets identity attributes on behalf of developers, configure it as described in Centralized Claude Code OTel collection instead of setting them on workstations.
Telemetry not reaching DX
OTel data reaches DX only when all of the following hold:
CLAUDE_CODE_ENABLE_TELEMETRY=1is set on the affected machine. Verify it there rather than assuming the config applied.OTEL_METRICS_EXPORTERandOTEL_LOGS_EXPORTERare set tootlp.OTEL_EXPORTER_OTLP_ENDPOINTpoints at the DX ingest endpoint.- The DX ingest token is set in
OTEL_EXPORTER_OTLP_HEADERS. The OTel connection settings page shows this token; it is separate from your DX API token. - Claude Code restarted after the config was delivered. OTel configuration applies at startup, so a running session does not pick it up.
- For central delivery, the configuration reached the machine. Check Claude.ai Admin Settings → Claude Code → Managed settings, and confirm the endpoint and header values on the machine match what you pushed.
- No firewall or proxy blocks outbound traffic from the machine to the DX ingest endpoint.
Connector and plan mismatch
- The Enterprise connector requires the organization to be on the Claude for Enterprise plan. Teams and individual plans have no Analytics API, so capture those users through OTel.
- The Console connector covers pay-as-you-go Console billing only, and imports usage from Claude Code workspaces only.
- A mixed organization - some users direct, some on Bedrock, Vertex AI, or a gateway - needs both an API-based connector and the OTel connector. With only one configured, the other population is invisible by design.
Enterprise and Console credential problems
- The Enterprise Analytics API key needs the
read:analyticsscope, and only a Primary Owner in the Enterprise organization can create it. A key without that scope fails withinvalid_credentials. - API access must be enabled at claude.ai/analytics/api-keys. When the toggle is off, Anthropic denies every request.
- The Console connector needs an Anthropic Admin API key with permission to read organization usage data. Without it, the connector returns
invalid_permissions.
Data lag and date coverage
- Enterprise data arrives on a three-day delay. Aggregation of day N-1 runs at 10:00 UTC on day N, and the data becomes queryable three days after that.
- Enterprise data covers dates on or after January 1, 2026. Activity before that date does not appear through this connector.
- For someone who started using Claude Code in the last few days, wait for the next imports before treating the integration as broken.
Users that look missing but are not
- OTel takes precedence. When someone has activity from both an API-based connector and OTel, DX reports show the OTel data. This keeps reporting continuous when they move from Enterprise to Bedrock, but it can look like the Enterprise connector stopped covering them.
- The emails do not match. When the email in Claude Code differs from the person’s email in DX — a personal address instead of a work address, for example - link the person manually in the DX UI.
If they still do not appear after these checks, contact support@getdx.com with the affected email address and the connector you expect to cover them.