Claude Code
Software.com automatically tracks AI coding metrics from Claude Code. Get insight into adoption, activity, and the impact of Claude Code on your team’s productivity.
Connection Methods
You can connect Claude Code in one or more of these ways:
- Claude Console (platform.claude.com) using an API key – Claude Console organization with shared team billing for API usage. Manage keys at Settings → API keys .
- Claude.ai Subscription using OpenTelemetry – Team members log in with their Claude.ai accounts. Manage at Claude.ai organization settings .
- Cloud providers using OpenTelemetry – Claude Code is managed through your cloud infrastructure (e.g. Amazon Bedrock, Google Vertex AI, or Microsoft Foundry).
1. Claude Console (platform.claude.com)
Setup
- Create an Admin API key in the Claude Console (organization admin only): Admin API keys .
- In Software.com, go to Settings > Connected Apps.
- Find Claude Code and click Connect.
- Paste your Admin API key.
- Click Connect.
Admin API key required
This integration uses the Admin API. You must use an Admin API key (keys start with sk-ant-admin...), which is different from standard Claude API keys.
- Only organization members with the admin role can create Admin API keys.
- Provision keys in the Claude Console: Admin API keys .
Standard API keys cannot access the usage report or organization users endpoints.
Data collected
We pull from two Anthropic API endpoints (both use the same Admin API key):
| Purpose | Endpoint |
|---|---|
| Usage and productivity | GET https://api.anthropic.com/v1/organizations/usage_report/claude_code |
| Organization users (team list) | GET https://api.anthropic.com/v1/organizations/users |
We use the organization users response to match Git users to Claude users. For full parameter and response details, see Claude Code Analytics API and Administration API .
2. Claude.ai Subscription
We use OpenTelemetry to track usage from Claude.ai subscriptions (Pro/Team/Max/Enterprise).
Setup methods
OpenTelemetry is managed through Claude Code settings. For full options, see Claude Code settings .
Administrator configuration (recommended)
Administrators can configure OpenTelemetry for all users via the managed settings file. This gives centralized control of telemetry across the organization. Environment variables in the managed settings file have high precedence and cannot be overridden by users. See settings precedence for how settings are applied.
The managed settings file is located at:
| Platform | Path |
|---|---|
| macOS | /Library/Application Support/ClaudeCode/managed-settings.json |
| Linux and WSL | /etc/claude-code/managed-settings.json |
| Windows | C:\ProgramData\ClaudeCode\managed-settings.json |
Example managed settings (use the endpoint and headers from the settings.json you generate in Software.com Settings > Connected Apps):
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.software.com:1234",
"OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer company-token"
}
}Managed settings can be deployed via MDM (Mobile Device Management) or other device management solutions.
Claude.ai Managed settings
Alternatively, configure OpenTelemetry through the Claude.ai UI so that developers receive managed settings when they sign in. This will track terminal usage, but not activity in Claude Code editor extensions or the desktop app.
- In Software.com, go to Settings > Connected Apps.
- Find Claude Code and click Generate settings.json.
- Copy the generated
settings.jsonfile. - Go to Claude.ai Managed settings .
- Click Manage.
- Paste the JSON payload into the settings.
- Click Update Settings.

After you save, when developers log into Claude with their subscription via their Terminal they will see a notification: “Managed settings require approval”. Users must accept these settings to use Claude. This provides a centralized rollout—you control the configuration.
The following is an example of what that notification looks like when developers open Claude Code in the terminal:

3. Cloud providers
Coming soon.
Data and frequency
We receive metrics every hour, such as lines added, commits, pull requests, tokens, and related usage. For full details on what Claude Code sends, see Monitoring usage in Claude Code’s OpenTelemetry documentation.
We do not collect logs (for example, prompts). Only aggregated metrics are sent.
Other notes
- Using Platform at the same time: If your organization uses the Console/API integration (Platform), you can use both. Claude.ai subscription data is go-forward only. Platform data backfills all historical usage.
- OpenTelemetry precedence: If developers have their own OpenTelemetry collector or have already set up a
.claude/settings.jsonin the repo with OpenTelemetry configured, our managed settings will supersede it. Keep this in mind if you or your team have existing repo-level OpenTelemetry configuration.