Quickstart
Paste one snippet into the Claude for Teams admin console. 5 minutes, zero per-machine work.
Metric AI is built for teams using Claude for Teams or Enterprise. The canonical flow is one paste into the Claude.ai admin console — every developer’s claude install picks up the bearer at next startup. Five minutes, no per-machine setup.
This page is the fast path. For MDM rollout or single-dev fallback, see Onboarding.
1 · Generate the org token (admin)
Sign into the dashboard → Admin → Settings → Org ingest token → Generate.
The plaintext is shown once. Copy it now along with the rendered managed-settings.json snippet (the dashboard pre-fills the bearer for you).
Need to rotate later? Same panel → Rotate. Previous token is revoked immediately. Update the snippet in the admin console with the new value.
2 · Add your team to Members (admin)
Same panel → Members → add each teammate’s email. The dashboard signs in via email-OTP; the members table is the gate.
One bearer for the whole team. Every member uses the same
OTEL_EXPORTER_OTLP_HEADERSvalue — per-user attribution comes fromuser.emailon every span automatically. Devs never handle the bearer directly.
3 · Push via Claude.ai admin console (admin)
Open Claude.ai → Admin Console → Claude Code → Managed settings (path may differ by plan tier). Paste:
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"CLAUDE_CODE_ENHANCED_TELEMETRY_BETA": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_TRACES_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "http/json",
"OTEL_EXPORTER_OTLP_ENDPOINT": "https://otlp.metric-ai.nativekloud.com",
"OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer <YOUR_ORG_TOKEN>",
"OTEL_RESOURCE_ATTRIBUTES": "deployment.environment=prod"
}
}
Replace <YOUR_ORG_TOKEN> with the plaintext from step 1, save. Settings fetch on each claude startup.
4 · Devs do nothing
Each team member’s next claude session picks up the bearer automatically. No per-machine setup, no ~/.claude/settings.json edits, no shared secret floating in dotfiles.
Verify on a developer machine:
claude /status
# Look for "Enterprise managed settings (remote)" — that's the bearer arriving from the admin console.
5 · Watch data flow
Within 30 seconds of any developer’s next claude activity, thin spans land in D1. Within 15 minutes, daily aggregates roll into the dashboard — Usage, Quality, Activity panels light up automatically.
What this captures
- every
claude_code.interaction(one per user prompt) - every
claude_code.llm_request(model, tokens, cache hit, cost computed at read time) - every
claude_code.toolexecution (Bash / Read / Edit / etc.) - every approval prompt (
tool.blocked_on_user) → tool approval rate panel - every hook fire
- the
prompt.idresource attribute correlates an entire user turn across CLI, Agent SDK, and Cowork - per-user attribution via
user.email— no per-user tokens needed
Don’t have Claude for Teams yet?
Two fallbacks (full details on the Onboarding page):
- MDM (Jamf / Kandji / Intune / GPO) — push the same
managed-settings.jsonto system paths on every developer machine. Same effect, override-proof. - Per-user
~/.claude/settings.json— single dev evaluating the product, or no MDM available. Each dev pastes the same org bearer manually. Override-able; move to managed settings as soon as you have more than a couple of seats.
Notes
- Both OTLP/JSON and OTLP/protobuf are supported.
- Agent SDK inherits CLI config automatically (
TRACEPARENTpropagates to subprocesses, including Bash). - Cowork emits separately — point its admin-portal OTLP config at the same
https://otlp.metric-ai.nativekloud.comURL with the same bearer; the source-chip filter on the dashboard segments Cowork from CLI traffic.