Zero install
Turn on Anthropic OTEL for Claude Code & Cowork
Mojule installs nothing on your machines. Your Anthropic Organization Admin points Claude Code and Claude Cowork's built-in OpenTelemetry export at Mojule's collector with a bearer token. That's the entire setup — configured once, fleet-wide, from the Anthropic console.
- OTLP endpoint
https://ingest.mojule.cloud- OTLP protocol
http/json- OTLP headers
Authorization=Bearer <your-token>- Resource attributes
mojule.tenant_id=<your-tenant-id>
Open the dashboard onboarding to mint your token and watch the connection go green.
- Surfaces
- Claude Code and Claude Cowork only. Claude Web, plain Desktop chat, and mobile emit no OTEL and are never tracked.
- Data
- Usage metadata only by default: models, token counts, cost, tool names, session timing, and the signed-in seat.
- Not collected
- Prompts, file contents, and code. Mojule's ingest rejects any payload carrying prompt or response content.
- OTLP endpoint —
https://ingest.mojule.cloud - OTLP protocol —
http/json - OTLP headers —
Authorization=Bearer <your-token>
Egress allowlist: if your org restricts network egress, add ingest.mojule.cloud under Capabilities → Network egress, or exports are silently dropped.
managed-settings.json fleet-wide via Anthropic server-managed settings or your MDM (Jamf / Intune / GPO). Managed settings override user settings and can't be bypassed.Save this as /etc/claude-code/managed-settings.json
managed-settings.json
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"CLAUDE_CODE_ENHANCED_TELEMETRY_BETA": "1",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_TRACES_EXPORTER": "otlp",
"OTEL_LOG_USER_PROMPTS": "1",
"OTEL_LOG_TOOL_DETAILS": "1",
"OTEL_EXPORTER_OTLP_PROTOCOL": "http/json",
"OTEL_EXPORTER_OTLP_ENDPOINT": "https://ingest.mojule.cloud",
"OTEL_EXPORTER_OTLP_TRACES_ENDPOINT": "https://ingest.mojule.cloud/v1/traces",
"OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer <your-token>",
"OTEL_RESOURCE_ATTRIBUTES": "mojule.tenant_id=<your-tenant-id>"
}
}
Replace <your-token> with the ingest token from your dashboard. In API-key, Bedrock, or Vertex auth mode, replace <your-tenant-id> with your Mojule tenant id so events stay attributed to your org.
Need the full walkthrough? Read the onboarding docs.