Authenticating...

Logout
Dashboard API error
Try Refresh after the deployment or database connection recovers.

My AI Usage

Period
Loading your 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.

Loading your alerts…
Channels
Slack delivery
Enabled

Other alerts

Provider Split

Model Usage Details

Exact cost and request counts per model

ModelSpendRequestsShare
No model usage in this period

Daily Spend

Trend and the daily values behind it

DateSpendRequests
No daily usage in this period

Month-over-Month History

Your monthly spend and request history

MonthSpendRequests$/Request
No monthly history yet
Period

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.

Cursor Admin API

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)

Bugbot code review

Issues Bugbot flagged while reviewing pull requests — and how many were fixed

Loading Bugbot data…

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

  1. Open the Bugbot dashboard at cursor.com/dashboard and go to the Bugbot / code review section.
  2. Export the pull request review table as CSV. Keep the date in the filename — it becomes the snapshot date shown on this page.
  3. 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.
Review date

— 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

Repository PR Author Status Found Resolved Rate H M L Reviewed
No pull requests match these filters.

AI Adoption & Engagement

Seat efficiency, engagement cohorts, and model mix

Loading adoption data…

Access & Chargeback

Tooling API error
Tooling data failed to load. Try Refresh after the API recovers.

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.

Access level
Must not have (none of)

Identity directory

people loaded from Okta exports
emails backfilled names fixed

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.

Persists the directory for the resolver, attaches canonical emails onto the roster, and fixes email-derived display names.

Reviewing ·

stored

Committing gives this tool to everyone under New (will add). Click any tile to see who's in it.

Tool rosters

Preview first · commit when ready
Action
No tools match this filter.
Loading tools…

Upload CSV —

Parses the export, diffs it against the previous snapshot, and lets you review before anything is written.

Uploads always target a KNOWN quarter — pick the fiscal period this export belongs to.
Quarter (required)

Native format for the tools we parse; others use a generic CSV reader.

Pick a fiscal year + quarter to preview this upload.

Last uploaded:
No uploads yet for this tool.
Date Tool Quarter File Download

No roster uploads yet

Users & tool access

Period · access from the uploaded tool rosters.

Showing user(s) with tool access.

Upload HR termination list

In use

Testing only
List Quarter People Uploaded By Recent audits Actions

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.

Required

Employee — formatted Last, First Middle - EmployeeID (the id is whatever follows the last “ - ”). Without this column nothing is imported.

Optional
Department Termination Date or Term Date Position Pay Group or PayGroup

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.

Dry run preview

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
Every person in this file matched a roster identity — nothing unmatched.

Unmatched names matched no roster identity, so they cannot be cross-checked — they may hide a real leaver-with-access.

Roster quarter to audit (blank = latest)

Past run

You are reading — an immutable snapshot. Its numbers are frozen and do not reflect roster changes since.

Testing only

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.

Status

“”.

Leavers audited ()

Everyone in this run

Showing named of leavers on the list — someone holding two tools is still one row.

Person (HR) Terminated Department Outcome
No one in this list matches “”.

Tools audited ()

Cross-checked
Tool
No tool in this list matches “”.

Access already removed ()

Informational

HR 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 one in this list matches “”.

No roster record ()

Informational

Nothing could be checked for these people, so nothing is claimed about them: they are neither cleared nor a violation.

Person (HR) Terminated Department
No one in this list matches “”.

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
No findings match the current filters.

Unmatched leavers — review required ()

Unmatched — review

A miss here can hide a real violation — review each.

Person (HR) Terminated Department Status Actions
No findings match the current filters.

Un-auditable tools ()

Un-auditable
Tool Reason Status Actions
No findings match the current filters.

AWS costs

Fetch from Cost Explorer

Read through a shared billing view ·

Or upload a cost CSV

Preview first · commit when ready
No rows for this quarter — nothing will be stored. Check the Quarter above against your file's months, then re-upload.
Rows outside the target quarter were skipped:

Warnings ()

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

of accounts
Summary

accounts · · production · shared

selected

Run at Source Quarter Cost basis Matched Unmatched Run by
Tooling API error
Chargeback data failed to load. Try Apply again after the API recovers.

stored figures

No costs committed for this quarter yet — record one with “+ Record a cost” above.

Tool Payment method Annual Quarter amount Added by Actions

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.

When Event Tool · quarter Amount By · Source

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 CSV

Invoice total

Committed for this quarter

Allocatable

Teams + not yet assigned

Un-allocatable

Cost with no roster — not charged

Shared AWS split fell back: no team has owned AWS to prorate against, so the shared pool was split evenly instead.

Per-team breakdown —

Group by
Team Tools Seats Cost
·
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

selected

Person Team Group Status

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 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.

Upload as:
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.

Select a team to view details.

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.

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.

No changes recorded yet.

Access denied