Last updated: November 11, 2026
TL;DR
Claude Code monitoring for a team takes three tools, one per question: the analytics dashboard shows who uses Claude Code and what it ships, the spend report or the Claude Console shows what it costs, and OpenTelemetry streams per-person tokens and cost into your own tools. Developers check their own usage with /usage, whose breakdown covers only their own machine.
- ๐ Who uses it and what it ships: the analytics dashboard, in Claude's admin analytics for Team and Enterprise or the Claude Console for API organizations. Daily active users, sessions, accept rate, and pull requests once you connect GitHub.
- ๐ต What it costs: depends on how people sign in. On Team and seat-based Enterprise plans, the spend report only counts usage-credit spend, because use inside a seat's allowance isn't billed in dollars. API organizations use the Console's Cost page; Bedrock, Google Cloud and Foundry customers use their cloud bill.
- ๐ก Per-person detail, live, in your stack: OpenTelemetry, turned on for everyone through managed settings. It's the only option that works on every setup.
- ๐งโ๐ป What a developer sees alone:
/usageand/insights, built from session history on that one machine.
Who uses Claude Code and what it ships: the analytics dashboard
The analytics dashboard answers the adoption question: who is active, how many sessions they run, how often they accept Claude Code's edits, and, once GitHub is connected, how many merged pull requests contain code written with it. Team and Enterprise organizations open it at https://claude.ai/analytics/claude-code. API organizations open it at https://platform.claude.com/claude-code. The Team and Enterprise data refreshes daily.
Anthropic's analytics docs split it by plan:
| Team and Enterprise | Claude Console (API) | |
|---|---|---|
| Where | https://claude.ai/analytics/claude-code | https://platform.claude.com/claude-code |
| Who can open it | Team: Owners and Primary Owners. Enterprise: also Admins, who see everything except spend | Anyone with the UsageView permission: Developer, Billing, Admin, Owner and Primary Owner roles |
| Usage | Daily active users, sessions, suggestion accept rate, lines of code accepted | The same, plus daily spend in dollars |
| Per person | Leaderboard of the top 10, with a CSV export of every user | Team insights table: spend and lines accepted per member, last 30 days by default |
| Pull requests | Yes, with the GitHub integration (public beta) | Not available |
Who can open it comes from Anthropic's usage analytics help article, which also lists a Value tab on the Team and Enterprise page: cost per commit, cost per pull request, cost per session, top spenders and spend concentration, with every formula shown and adjustable.
Contribution metrics, the pull request numbers, need two people:
- A GitHub admin installs the Claude GitHub app at https://github.com/apps/claude.
- A Claude Owner opens https://claude.ai/admin-settings/claude-code and turns on Claude Code analytics, then the GitHub analytics toggle, and picks which GitHub organizations to include.
Data typically appears within 24 hours. Three limits are worth knowing before you show the numbers to anyone:
- They undercount on purpose. Anthropic calls the metrics "deliberately conservative": a line counts only when it matches Claude Code session activity from 21 days before to two days after the merge, and code a developer rewrote by more than 20% isn't attributed.
- They need github.com. Repositories on GitHub Enterprise Server get usage metrics only.
- Zero Data Retention turns them off. An organization with it enabled sees usage metrics only.
Merged pull requests with Claude Code lines get a claude-code-assisted label in GitHub, so you can query the same data there.
What Claude Code costs: it depends on how your team signs in
What Claude Code costs depends on how each developer signs in. Team and seat-based Enterprise seats draw from an allowance, so most use never shows up as dollars. API organizations pay per token and see it in the Console. Cloud-provider customers pay per token on their cloud bill. A mixed organization meters each developer by the sign-in they used.
Anthropic's cost management docs map each setup:
| Your setup | See spend | Cap spend | Per-person numbers |
|---|---|---|---|
| Team or Enterprise | Spend report in org analytics | Spend limits in admin settings, once usage credits are on | Spend report CSV; the Enterprise Analytics API on Enterprise |
| Claude Console (API) | The Console's Cost page | Workspace spend limits | Console dashboard; the Claude Code Analytics API |
| Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry | Your cloud billing console | Your cloud's budget controls | OpenTelemetry, a Claude apps gateway, or an LLM gateway |
On Team and seat-based Enterprise plans, read the spend report for what it is. Each seat's Claude Code use draws from an allowance that resets on a rolling five-hour window and a weekly window, shared with chat and Cowork. Use inside that allowance isn't metered in dollars, so the spend report only covers usage credits, the paid overflow past the allowance. A team that never turns usage credits on can show no spend at all and still be busy. For volume, read the dashboard and the token counts below instead. On a usage-based Enterprise plan, Anthropic's help article says the export captures your organization's full usage.
The spend report itself is a daily-updated CSV from Settings > Analytics, under "How much is Claude costing?". Each row is one person on one model, with request count, prompt and completion tokens, and net and gross spend. You can pick month to date, last month, the last 90 days or a custom range, and the newest data is from yesterday. On Enterprise, the Enterprise Analytics API returns per-user usage and cost reports across Claude surfaces; a Primary Owner creates its key with the read:analytics scope. It isn't available on the Team plan.
On the Console, Claude Code has its own workspace. The first time someone authenticates Claude Code with a Console account, a workspace called "Claude Code" is created, and you can set a spend limit on it. Anthropic notes that the dashboard's spend figures are estimates and the Cost page has the actual costs. The Claude Code Analytics API returns the same daily per-user metrics with an Admin API key.
On a cloud provider, Anthropic sees none of it. Claude Code doesn't send metrics from your cloud back to Anthropic, so neither the dashboards nor the Analytics API cover that usage. Per-person cost comes from OpenTelemetry or a gateway you run.
If you need a baseline before any of this exists, Anthropic's figure across enterprise deployments is about $13 per developer per active day and $150 to $250 per developer per month, with 90% of users staying below $30 per active day. Our Claude Code best practices for a team covers how to run a pilot against those numbers.
Per-person Claude Code monitoring in your own tools: OpenTelemetry
Use OpenTelemetry when you want per-person tokens, cost and activity in the observability stack you already run, close to real time. Anthropic's docs call it the only option that streams those metrics into your own tools, and it works on Team, Enterprise, the Console and every cloud provider. You turn it on for everyone through managed settings, not repository files.
The monitoring docs give the managed settings shape. An administrator delivers it through server-managed settings, an MDM policy or managed-settings.json:
{
"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.example.com:4317",
"OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer example-token"
}
}
A repository can't do this for you. Claude Code ignores these variables in a project's .claude/settings.json, so a repo can't turn telemetry on or point it somewhere else. If you haven't set up managed settings yet, our Claude Team admin settings guide covers where they live, and is Claude Code safe for a business? covers the permission rules worth locking in the same file. To check it works, look in your backend for claude_code.session.count, which Claude Code emits when a session starts.
Claude Code exports eight metrics:
| Metric | What it counts |
|---|---|
claude_code.session.count | Sessions started |
claude_code.lines_of_code.count | Lines added and removed, by model |
claude_code.pull_request.count | Pull requests created |
claude_code.commit.count | Git commits created |
claude_code.cost.usage | Estimated cost in USD, by model, skill, plugin or subagent |
claude_code.token.usage | Tokens by type: input, output, cache read, cache creation |
claude_code.code_edit_tool.decision | Accepted and rejected Edit, Write and NotebookEdit calls |
claude_code.active_time.total | Active time, split between the person and the CLI |
Three details decide whether the dashboards you build on top are right:
- Sessions aren't people. One developer can start many sessions. For active users, Anthropic says to count distinct
user.account_uuidvalues. - Add team labels.
OTEL_RESOURCE_ATTRIBUTESattaches keys such asdepartment=engineering,team.id=platform,cost_center=eng-123to every metric. Values can't contain spaces. - Cost is list price unless you say otherwise. If your organization pays contracted rates, the
modelPricingmanaged setting makes/usage, the status line and OpenTelemetry report them. It needs Claude Code 2.1.242 or later and changes what's reported, not what Anthropic charges.
Tell your developers what you're collecting before you switch it on. Our Claude data privacy guide covers what Anthropic keeps; this is what you keep. By default Claude Code records prompt length, not prompt text, and leaves out tool arguments and file contents; each is a separate opt-in, such as OTEL_LOG_USER_PROMPTS=1. When people sign in with OAuth, user.email is attached to every record. Anthropic's docs say all of it goes only to the endpoint you configure, never to Anthropic.
What a developer sees alone: /usage and /insights
A developer checks their own usage with /usage inside Claude Code. It shows the current session's tokens and an estimated cost, and on Pro, Max, Ultra, Team and Enterprise plans a breakdown of what counts against the plan limits, attributed to skills, subagents, plugins and MCP servers, with suggestions. That breakdown reads only that machine's session history.
That last part is the limit for an admin. Anthropic's cost docs say the breakdown is computed from local session history, so usage from other devices or from Claude on the web isn't in it. Two things in it are still useful to hand your team:
- The suggestions. Rows such as trimming a large CLAUDE.md or lowering effort each show the share of recent usage they apply to. Press
dorwto switch between the last 24 hours and the last seven days. On Claude Code 2.1.305 or later,fapplies the ones Claude Code can. - The spend row. On Team and Enterprise, while usage credits are on,
/usageshows the developer's own usage-credit spend this month against any limit you set for them.
/insights writes an HTML report about how someone works rather than how much: what they work on, where requests went wrong, and suggestions. It reads up to 200 sessions it hasn't seen before on that machine, saves to ~/.claude/usage-data/report.html, and its tokens count against the developer's plan. It's a coaching tool, not a monitoring feed.
Frequently asked questions
Can Claude Code be monitored?
Yes. Team and Enterprise admins see active users, sessions and accept rate in the analytics dashboard at https://claude.ai/analytics/claude-code, and API organizations see the same plus spend at https://platform.claude.com/claude-code. For per-person tokens and cost in your own tools, turn on OpenTelemetry export through managed settings.
How do I see Claude Code usage for my whole team?
Open the analytics dashboard. On Team, Owners and Primary Owners can view it; on Enterprise, Admins can too, except spend. It shows daily active users, sessions, accept rate and a top-10 leaderboard with a CSV export of every user. Connect GitHub for pull request numbers.
Why does our Claude Team spend report show almost nothing?
Because use inside each seat's allowance isn't billed in dollars. Anthropic's cost docs say the spend report covers usage-credit spend, the paid overflow past the allowance, and appears once usage credits are on. Read adoption in the analytics dashboard and per-person tokens through OpenTelemetry instead.
Is the Claude Enterprise Analytics API available on the Team plan?
No. Anthropic's analytics docs say the Enterprise Analytics API is Enterprise only. On Team, export the spend report CSV from Settings > Analytics, which lists token usage and estimated spend per person and per model. API organizations use the separate Claude Code Analytics API with an Admin API key.
Does Claude Code OpenTelemetry send data to Anthropic?
No. Anthropic's monitoring docs say telemetry goes only to the endpoint you configure. By default it records prompt length rather than prompt text and leaves out tool arguments and file contents. When developers sign in with OAuth, their email address is attached, so filter it in your backend if that's a concern.
Can a repository turn on Claude Code telemetry?
No. Claude Code ignores the OpenTelemetry exporter variables in a project's .claude/settings.json and .claude/settings.local.json, so a repository can't switch telemetry on or redirect it. Set them in managed settings for the whole team, or have each developer set them in their shell or ~/.claude/settings.json.
How accurate are Claude Code cost figures?
They're estimates. /usage, the status line and OpenTelemetry compute cost from token counts at list price unless an admin sets the modelPricing managed setting to your contracted rates. Anthropic points to the spend report on Team and Enterprise and the Console's Cost page for actual billing.
Why doesn't the analytics dashboard show pull requests?
Contribution metrics need setup: a GitHub admin installs the Claude GitHub app, and a Claude Owner turns on Claude Code analytics and GitHub analytics in admin settings. They cover github.com repositories only, are off under Zero Data Retention, and aren't available to API customers.
Get Claude Code set up properly for your team
We set up Claude Team for small businesses: the seat plan, the security settings, shared Projects and skills written from your actual processes, and managed Claude Code settings for teams with developers. If you'd rather have it done once and done right, see how our Claude Team setup works or book a 30-minute call.
Stop guessing. Score your first workflow.
Score one workflow in about five minutes. Nine questions, a grade, and the specific gap holding it back - no call required.
Related Posts

Claude Code settings.json: every scope, and which file wins
Claude Code reads settings from four JSON files plus managed settings, and the highest level that sets a key wins. Where each file lives, who it reaches, how lists merge, and why a key you commit can still miss a teammate.

Claude Code sandbox: what it stops, what it doesn't, and when to use a container
How to set up the Claude Code sandbox: turn it on with /sandbox, prove it works, allow only the hosts and paths a build needs, block credential reads, close the unsandboxed retry, and know when a container is the better boundary.

Is Claude Code safe for a business? What it can reach and what you control
Claude Code is safe enough for business use when three things are set on purpose: the plan developers sign in with, the permission mode sessions start in, and the limits locked in managed settings. What it can reach, where your code goes, who approves each action, and the version a team should run.
