My AI Usage
Usage Value
vs prior period ():
Covered by seat
Billed on-demand
Cursor reports a dollar value even for seat-covered requests. Only on-demand usage is billed.
Usage
Requests
Cost / Request
Top Model
Spend Alerts
Get notified before your monthly AI spend reaches a limit you set.
Alerts at · · resets each month · paused
Test alert result
-
·
Other alerts
You haven't set a spend alert yet. Get a heads-up before your monthly AI spend reaches your limit.
Provider Split
Model Usage Details
Exact cost and request counts per model
| Model | Spend | Requests | Share |
|---|---|---|---|
| No model usage in this period | |||
Daily Spend
Trend and the daily values behind it
| Date | Spend | Requests |
|---|---|---|
| No daily usage in this period | ||
Month-over-Month History
Your monthly spend and request history
| Month | Spend | Requests | $/Request |
|---|---|---|---|
| No monthly history yet | |||
AI Usage Overview
Scope: · Period:
Selected period spend
Individual usage view
Totals below are for the selected user only, not the whole team.
Previous Period
Change
Requests
$/Request
Top Model
Daily Spend
Provider Split
Model Breakdown
Team context
Total Spend
():
Projected Month-End
Current monthUnique Users
across providers
Avg Cost / User
2026 AI Budget
/
Org-wide 2026 Budget Burn
Daily Spend Trend
Provider daily spend
Spend Distribution
Calendar Month Spend
Seat Growth & Cost per User
Seats vs $/user trend
All-timeSpend Concentration
Spend Categories: Subscription, Overage, API
Combined category view
Top category
Overage share
Other/API share
Team AI Budgets
Combined month-to-date spend across Cursor, Anthropic, and OpenAI
spent of
| User | Team | Providers | Spend | vs Period | Requests | $/Req | Top Model | |
|---|---|---|---|---|---|---|---|---|
| Loading users across providers... | ||||||||
|
|
||||||||
|
|
||||||||
Total Spend
Included
On-Demand
Projected (30d)
Teams
Avg / Team
Cursor Daily Spend
Selected range
Cursor Model Spend
Top models
Cursor User Search
Cursor usage detail
Usage Value
Covered by seat
Billed on-demand
Change
Requests
$/Request
Top Model
Cursor reports a dollar value even for seat-covered requests. Only on-demand usage is billed.
Provider Split
Model Breakdown
Detailed daily history is not available in this provider row yet; showing Cursor period totals from the user spend table.
| User | Usage Value | Covered | On-Demand | vs Last Month | Requests | $/Request | Top Model |
|---|---|---|---|---|---|---|---|
| No matching Cursor users found. | |||||||
| User | Plan | Spend | Included | Overage | Requests |
|---|---|---|---|---|---|
No usage data yet
Connect the Cursor Admin API for automatic syncing, or import a CSV.
Cursor Admin API
Setup required
- Go to cursor.com/dashboard > Team Settings > Advanced > Admin API Keys
- Create a new Team Admin API Key (requires Teams or Enterprise plan)
- Store the key in AWS Secrets Manager under the configured secret ARN
- The sync Lambda will use this key automatically on its daily schedule
Records Stored
in database
Data Range
kept beyond Cursor's 30-day limit
Last Sync
Sync Interval
automatic background sync
Sync History
| Time | Trigger | Status | Events | Records | Users |
|---|---|---|---|---|---|
Upload CSV
Supported formats:
Date, User, Kind, Model, Cost, ... -- team usage events export (actual costs, auto-aggregated)
email, period, spend -- simple spend per user
email, date, subscription_included_reqs, ... -- analytics export (costs estimated)
Drag & drop CSV here, or
Ask a dashboard admin to upload the export — only admins can import Cursor usage.
Bugbot code review
Issues Bugbot flagged while reviewing pull requests — and how many were fixed
No Bugbot export loaded yet
Bugbot review results are not synced automatically. Cursor only serves Bugbot analytics through its API on the Enterprise plan, and this team is on Teams — so the numbers have to come from a file someone downloads.
How to get the file
- Open the Bugbot dashboard at cursor.com/dashboard and go to the Bugbot / code review section.
- Export the pull request review table as CSV. Keep the date in the filename — it becomes the snapshot date shown on this page.
- Upload it below. Each upload is stored as its own snapshot, and the panel combines them — it shows the latest known state of every PR seen in any export, not just the newest file.
Ask a dashboard admin to upload the export — only admins can add or remove snapshots.
— the rest fall outside the filters above.
PRs reviewed
Bugs found
flagged in review
Bugs resolved
fixed before merge
Resolution rate
all reviewed PRs
Rate on merged
merged PRs only
Open / pending
still unresolved
Found vs resolved
Top 10 by bugs found — the table below carries the rest
Nothing to chart for this selection
Clear a filter to widen the view
Resolved by severity
Which severities actually got fixed
No resolved bugs in this selection
Severity is only recorded once a bug is fixed
Bugbot spend
Billed team-wide — never split per repository or pull request
Total spend (org-wide)
every repository, every month
Cost per bug caught
n/a
Cost per pull request
n/a
Pull requests reviewed
Snapshots
Upload a newer Bugbot CSV export — the panel combines every snapshot, keeping each PR's latest known state
The file was cut off: too many unreadable lines, so the rest of it was never read. The counts above cover only the part that was.
Import warnings
| File | Export date | Uploaded | By | Rows | PRs | Remove |
|---|---|---|---|---|---|---|
AI Adoption & Engagement
Seat efficiency, engagement cohorts, and model mix
Licensed seats
Active
Recoverable / mo
Engagement cohorts
By request volume — click a slice to drill in
Model adoption
Share of requests by model family
No model usage in this period.
Adoption by team
| Team | Licensed | Active | Idle | Inactive |
|---|---|---|---|---|
| No teams in scope. | ||||
seats
| User | Provider | Team | Last used | Requests |
|---|---|---|---|---|
| Offboarded | ||||
| No seats. | ||||
Access & Chargeback
Click a tool once for Must have, again for Must not have, a third time to clear it.
Tick the tools someone is allowed to have. Anyone holding anything beyond them is left out.
No tool matches that.
Identity directory
Roster people without an email ()
Showing the first — list truncated.
Will get an email from the directory ()
Showing the first — list truncated.
Still without an email after this directory ()
Showing the first — list truncated.
Email-derived names this directory fixes ()
Showing the first — list truncated.
Reviewing ·
Dry-run preview — nothing has been written yet. Click a tile to see who's in it, then Commit to persist.
Committed — this is what was written.
Identity matching degraded
Committing gives this tool to everyone under New (will add). Click any tile to see who's in it.
- · no email on file :class="toolingOffboardRowIsStale(p) ? 'text-slate-700 font-medium' : 'text-slate-500'" x-text="'· ' + toolingOffboardRowBaseline(p)">
None.
- · no email on file
Tool rosters
Upload CSV —
Parses the export, diffs it against the previous snapshot, and lets you review before anything is written.
Native format for the tools we parse; others use a generic CSV reader.
Pick a fiscal year + quarter to preview this upload.
No roster uploads yet
Users & tool access
Period · access from the uploaded tool rosters.
Showing of user(s) with tool access.
Tool access ()
Upload HR termination list
In use
| List | Quarter | People | Uploaded | By | Recent audits | Actions | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
In use
|
||||||||||||
|
— parsed . Viewing only — audits still use the newest list. Loading…
No parsed people are stored for this list. |
||||||||||||
Column headings are read from row 1 of the first sheet and matched on the exact wording below. Capitalisation and surrounding spaces are ignored — underscores, dots and hyphens are not, so Term_Date and Term. Date will not be found.
Employee — formatted Last, First Middle - EmployeeID (the id is whatever follows the last “ - ”). Without this column nothing is imported.
Dates can be real Excel date cells or text as M/D/YYYY (M/D/YY also works) — an unreadable date does not lose the row. Blank rows and rows with no Employee value are skipped; a leading unnamed column is ignored. .xlsx only, up to 5 MB.
Parser notes ()
Everyone in this file, in file order.
This file is larger than the preview lists — showing the first of . The counts above are the file's true totals, and committing stores every row.
| Name | Terminated | Department | Pay group | Roster match |
|---|---|---|---|---|
Unmatched names matched no roster identity, so they cannot be cross-checked — they may hide a real leaver-with-access.
You are reading — an immutable snapshot. Its numbers are frozen and do not reflect roster changes since.
No audit runs yet
Upload tool rosters (Rosters) → upload the HR termination list → Run audit to produce the first snapshot.
Audit results are admin-only
Each finding names a leaver and their termination date, so the run detail and its export are restricted to admins. Rosters and User access on this section are open to you.
Run date
Tiles count all tools — the “” filter applies to the tables below, not to these numbers.
“”.
Leavers audited ()
Everyone in this runShowing named of leavers on the list — someone holding two tools is still one row.
| Person (HR) | Terminated | Department | Outcome |
|---|---|---|---|
Tools audited ()
Cross-checked| Tool |
|---|
Access already removed ()
InformationalHR terminated these people and this run found no access left for any of them, so they can be marked offboarded in Admin → People. Anyone whose name does not match exactly one person record is skipped and named.
| Person (HR) | Terminated | Department | Actions |
|---|---|---|---|
| — |
No roster record ()
InformationalNothing could be checked for these people, so nothing is claimed about them: they are neither cleared nor a violation.
| Person (HR) | Terminated | Department |
|---|---|---|
No access findings
No terminated person holds access in any in-scope tool for this quarter. Nothing to remediate.
But terminated no roster record, so nothing could be confirmed either way — see “No roster record” above.
Leaver has access ()
Access violation| Person | Tool | Terminated | Status | Actions |
|---|---|---|---|---|
|
|
|
Unmatched leavers — review required ()
Unmatched — reviewA miss here can hide a real violation — review each.
| Person (HR) | Terminated | Department | Status | Actions |
|---|---|---|---|---|
|
|
Un-auditable tools ()
Un-auditable| Tool | Reason | Status | Actions |
|---|---|---|---|
|
|
AWS costs
Fetch from Cost Explorer
This result may be incomplete
Read through a shared billing view ·
Or upload a cost CSV
Preview first · commit when readyWarnings ()
Unmatched accounts ()
These account ids aren't configured yet — on commit they're surfaced in the console above as Unassigned · non-prod for you to classify.
View AWS costs
Total AWS spend
accounts · · production · shared ·
| Monthly breakdown | Name | Account number | Group | Team | Environment | Shared | Inactive | Cost | Source | |
|---|---|---|---|---|---|---|---|---|---|---|
| team · not in a group | ||||||||||
|
|
— | |||||||||
|
Monthly
Billed to
Quarter total:
No monthly detail — re-upload the CSV to populate. |
||||||||||
| Run at | Source | Quarter | Cost basis | Matched | Unmatched | Run by |
|---|---|---|---|---|---|---|
| Latest |
Record a cost
What are you adding?
New tools to be added to the catalog ()
Check the spelling — a misspelled name is added as a separate tool.
Added to the catalog ()
You can now upload a roster for these tools.
Payment method
- →
Every payment method in this file already matches what is recorded — nothing to change.
| Tool | Period(s) | Basis | Amount | Payment | Matched? |
|---|---|---|---|---|---|
| — |
Unmatched tools ()
These tool names matched no in-scope tool — their cost is not stored.
In your catalog
No tool in the catalog matches.
Applies to
A spread always runs forward to Q4 — it never reaches an earlier quarter.
This tool has no committed cost yet, so there is nothing to add to. Enter its invoice first — switch to Annual invoice or One quarter above — then come back and true it up.
| Quarter | Committed now | True-up share | New total |
|---|---|---|---|
| no committed cost | |||
| total |
Working out what this would change…
No costs committed for this quarter yet — record one with “+ Record a cost” above.
| Tool | Payment method | Annual | Quarter amount | Added by | Actions |
|---|---|---|---|---|---|
| manual true-up |
—
before change tracking
|
||||
|
$
|
|||||
|
True-ups on this quarter |
|||||
Every cost entry, correction, true-up, delete and committed cost file — who did it and when, newest first. History is never rewritten or removed.
Loading…
No activity recorded yet — entries start from the release that added this trail. No activity recorded for — entries start from the release that added this trail.
No events in the latest — try All events.
Showing the latest 50 for . Pick a tool above to see the latest 50 for that tool alone.
Only committed uploads appear as CSV commits — dry-run previews are never stored.
Record a cost (above) and tool rosters (Rosters) → set teams → the per-team rollup appears here.
Check back once an admin has added tool costs and rosters for this quarter, or try a different quarter above.
Chargeback by team —
Download CSVInvoice total
Committed for this quarter
Allocatable
Teams + not yet assigned
Un-allocatable
Cost with no roster — not charged
Per-team breakdown —
| Team | Tools | Seats | Cost |
|---|---|---|---|
| No per-tool detail. | |||
| · | |||
| No per-tool detail. | |||
| Total allocated | |||
·
Cost with no roster to divide · listed under Un-allocatable costs below
Invoice total for
Un-allocatable costs
not charged to any team| Tool | Reason | Amount |
|---|---|---|
These dollars are still counted in the invoice total above. No allocatable holders: upload a roster for the tool (Rosters) to make it allocatable. No paid seat: the roster is fine — check the tool’s licensing rather than re-uploading the roster.
What's new
High-level updates — new features and fixes. Visible to admins only.
No updates yet.
People
of people in a team · everyone we know of, service accounts excluded
stopped this change — nobody was moved
| Person | Team | Group | Status | |
|---|---|---|---|---|
|
needs identity service account not linked |
Saving…
Bill this person to No groups exist yet — make one on Teams & groups first. |
Offboarded roster: offboarded this quarter |
Nobody matches those filters.
Nobody is known yet — a roster upload or a provider sync fills this list.
Teams & groups
Teams are where people work. Groups are who gets billed together.
Each row counts two different things — who is on the team’s roster, and who holds an AI tool account — so the two numbers rarely match.
No teams in this group yet. Use Edit teams to put some in it.
Teams in this group
No teams exist yet. Add one with + Team.
No groups yet. Every team below is billed under its own name until you make one.
Ungrouped
· each billed under its own name. A team lands here when it is in no group.
Every team is in a group.
in no team at all, so no group bills for them yet.
Invoice Uploads
Upload vendor PDF invoices to track actual billing alongside usage reports.
- •
| Vendor | Provider | Tenant | Invoice | Date | Amount | File | Uploaded by | Delete invoice |
|---|---|---|---|---|---|---|---|---|
| — | — |
No invoices uploaded yet.
Allocated annual
of $120,000 org budget
Teams budgeted
of total teams
Active alert rules
across all teams
Alerts this period dev
kill-switch active locally
No teams yet. Add teams on the Teams & groups sub-tab first.
No teams match.
Budget settings, alert rules, and recent alert history for this team.
Budgets
Alert Rules
Test alert result
No alert rules for this team yet.
Recent Alerts (dev — kill-switch active)
No alert send attempts yet.
Admins
Admins can see every section and manage who has access. Use Section visibility below to open Access & Chargeback or AI Adoption to everyone. Changes apply on each person's next page load.
Added by ·
No admins yet. Add someone above — until then, only the break-glass superadmin can reach this screen.
Section visibility
Who can see each section. Everyone = any signed-in employee; Admins only = admins from above. The Admin section is always admins-only.
Audit log
Every access change — admins added or removed, and section-visibility changes — newest first. Showing the latest 5; the full trail is kept and downloads via Export.
by
No changes recorded yet.
Claude spend by tenant
Across all 3 Anthropic tenants ·
Subscription
Usage
Records Stored
Data Range
daily usage records kept
Last Sync
Sync Interval
automatic background sync
Sync History
| Time | Tenant | Trigger | Status | Events | Records | Users |
|---|---|---|---|---|---|---|
Subscription paid
invoice total excluding prepaid pool top-ups
Usage value
attributed usage from CSV/API
Pool balance
Period spend Usage spend
Projected
at current pace
Daily Avg
per day
Paid invoices
Actual Billing vs Usage
Uploaded invoices show paid billing. Admin API data shows usage spend for the selected period.
Paid invoices
actual uploaded billing
Usage spend
OpenAI Admin API spend
Difference
paid invoices minus usage spend
Invoices show actual billing. CSV/API data shows attributed usage for the selected period.
Seats
No seat plan lines found
Pool / top-up
prepaid credits or usage pool on invoice
Other invoice lines
Pool top-ups, credits, or billing adjustments
Daily Spend Trend
Cost by Model
No model usage data for this period.
Spend
Change
Requests
$/Request
Top Model
Daily Spend
Provider Split
Model Breakdown
Detailed daily history is not available for this provider row yet; showing period totals from the provider usage table.
| Tenant | Spend | vs Last Month | Requests | $/Request | Top Model | Share | |
|---|---|---|---|---|---|---|---|
|
|
|||||||
| No matching users found. |