Mojule Docs
Connect OTEL
Anthropic's first-party OpenTelemetry exports usage telemetry from Claude Code and Cowork. An Organization Admin points it at Mojule's collector with a bearer token — no software is installed on any endpoint.
Get your ingest token
In the Mojule dashboard, open Connect and issue an org ingest token. It starts with mtk_ and is shown once at creation. Use it as the bearer token in both channels below; rotate it from the dashboard if it leaks.
Claude Cowork — Monitoring panel
In Claude Desktop, open Organization settings → Cowork → Monitoring and set the three OTLP fields. Stored server-side, applied to every Cowork seat in your org.
Cowork Monitoring fields
OTLP endpoint https://ingest.mojule.cloud
OTLP protocol http/json
OTLP headers Authorization=Bearer <your-token>ingest.mojule.cloud under Capabilities → Network egress, or exports are silently dropped.Claude Code — managed-settings.json
Distribute a managed-settings.json fleet-wide via Anthropic server-managed settings (console-delivered, refreshed hourly) or your MDM (Jamf / Intune / GPO). Managed settings override user settings and cannot be bypassed, so every Claude Code install inherits the export.
Save this as /Library/Application Support/ClaudeCode/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 your ingest token before deploying.
API keys, Bedrock, or Vertex
Those auth modes don't attach an organization.id, so add a tenant resource attribute so events stay attributed to your org:
Shell
OTEL_RESOURCE_ATTRIBUTES=mojule.tenant_id=<your-tenant-id>Your tenant id is shown on the dashboard Connect page.
Verify
Once the config is live and someone uses Claude, events start arriving. The Connect page shows a green “receiving from N seats” state and lists which surfaces (Claude Code, Claude Cowork) have reported in.