← All posts

July 15, 2026 · 5 min read · Waste and recovery

The hidden cost of idle AI seats — and how to find them in an afternoon

A seat is a paid license for one person. You handed some out in a rollout. One engineer tried the tool twice. One license renews on its own. Now multiply that across every AI vendor you pay.

By Spendassay Research

Somewhere between a tenth and a fifth of your AI tool bill probably buys idle seats — paid seats nobody has used lately. You can find out which ones this afternoon, with access you already have. All it takes is joining two lists that no vendor will join for you: the roster of people you are billed for, and the last date each of them showed any activity.

That join is the whole exercise. The rest of this post is how to price the result, and what not to do with it.

How big the problem actually is

Nobody has counted this cleanly across the whole market. Two published figures bracket it.

Opsera's 2026 AI Coding Impact Benchmark, drawn from more than 250,000 developers, reports 21% of AI coding licenses underutilized. That is the largest sample anyone has put a number on. It is also published by a vendor, and it never says what "underutilized" means. Set the bar for activity a little higher or lower and the number moves several points. Treat it as a rough size, not a fact.

Flexera's July 2026 research comes at it from the spend side. 59% of companies say wasted AI spend grew year over year. Only 31% say they can see it accurately. Also vendor research, also thin on method. It does line up with KPMG's Q2 2026 Global AI Pulse of 2,145 C-suite leaders, which found 42% have only partial visibility into AI spending.

So: one big vendor figure at 21%, most companies saying the problem is growing, and fewer than a third who can see it. Roughly 10–20% of the AI tool bill is a fair planning assumption. It is not a measurement of your company, and you should not present it as one. It is a reason to go get your own number.

Why the vendor dashboard won't hand you this

Every AI vendor can see which of your seats are asleep. None of them build the screen that shows you a seat to cancel.

That is not malice. It is incentive. An idle seat is revenue that costs nothing to serve. Vendor consoles show adoption and rollout progress, where the good direction is always *more*. A report that spans every vendor and names dead seats has no good direction for any one of them, so it does not exist.

It could not exist anyway. GitHub cannot see your Cursor roster. Anthropic cannot see who is active in Copilot. The finding lives in the join, and you are the only one who owns both sides. What each AI vendor's admin console actually exposes shows where each console stops.

An idle seat is not hidden. It has just never been joined to its price. You are the only one who can do that join.

Price it correctly, or you will understate it

A count of idle seats is not a finding. That count times the right per-seat price is. Published list prices, read July 2026:

| Tool | Plan | Per seat / month | |---|---|---| | GitHub Copilot | Business | $19 | | GitHub Copilot | Enterprise | $39 + ~$21 GitHub Enterprise Cloud = ~$60 effective | | Cursor | Business | $40 | | Claude Code | Team Premium | $100 (5-seat minimum) |

The Copilot Enterprise line is where most audits leak money. GitHub's published plans list Enterprise at $39. It also requires GitHub Enterprise Cloud at about $21 per user. Price an idle Enterprise seat at $39 and you understate what you can get back by 35%.

A worked example: 200 engineers

Assume a normal mix. One tool everywhere, a second on some teams, an expensive one on a few.

| Tool | Seats | Rate | Monthly | |---|---|---|---| | Copilot Business | 200 | $19 | $3,800 | | Cursor Business | 60 | $40 | $2,400 | | Claude Code Team Premium | 25 | $100 | $2,500 | | Total | | | $8,700 — $104,400/year |

Apply a flat 21% idle rate and you get back about $1,830 a month, or $21,900 a year. At the bottom of the band, 10%, it is $10,440. That spread is the honest answer: a band, not a number, until you count.

But flat is the wrong assumption, and the reason matters. Idle seats pile up in whatever you rolled out most recently and priced highest. Run it again with 18% idle on Copilot, 15% on Cursor, and 30% on the newest and most expensive tool:

  • Copilot: 36 seats × $19 = $684
  • Cursor: 9 seats × $40 = $360
  • Claude Code: 8 seats × $100 = $800

Total: $1,844 a month. That is within one percent of the flat-rate answer, and it points at a completely different fix. The first version says trim everything a little. The second says your $100 seats are the problem and your $19 seats are fine. Same dollars, different meeting.

The afternoon version

Four steps per vendor, then one pass across all of them.

1. Export the billed roster. That is the list of people, not the seat count on the invoice. Note the date you pulled it.

2. Pull the last activity date for each seat. It is a rough signal — a date, not a volume. Use it to find dead seats. Never use it to prove a seat is alive.

3. Join the roster, the activity dates and the correct price. Sort by days idle, longest first.

4. Set your cut-offs. 30 days with no activity is a candidate. 60 days is a strong candidate.

Then do the pass across every vendor, because it changes what the numbers mean. Say a developer has no Copilot activity for 60 days but is in Cursor every day. That is not waste. That is a migration nobody cancelled. Call it waste in front of an engineering leader and you lose the room. How to find unused GitHub Copilot licenses walks the manual steps for one vendor. Do you need both Copilot and Cursor? covers the overlap.

Send the list to engineering managers. Ask them to confirm or contest each person. Take back what comes back unclaimed. Never revoke a seat automatically.

The honest caveats

Not every idle seat should be cancelled. Parental leave, a sabbatical, a quarter spent on architecture instead of code, a contractor between projects, a seasonal team — each one leaves a clean 30-day gap, and none of them means the tool is worthless. Some seats are cheap insurance. A $19 license kept for the odd week can be worth more than $19.

The activity signal itself is the soft part. It is rough, each vendor defines it its own way, and any vendor can change that definition. Real work sometimes shows up as nothing at all. Contractors on outside domains and mismatched logins look idle when they are not.

And a seat you take back is not a dollar you saved until an invoice says so. Between cancellation cycles, annual commitments, and the right to cut committed seats at renewal, the gap between "revoked" and "billed less" can run a full contract term.

Find your recoverable AI spend

The idle-seat join takes an afternoon per vendor, and a day across all of them. You will run it every quarter, forever. Spendassay does it read-only across GitHub, Cursor, Anthropic and OpenAI at once, prices each idle seat at the rate you really pay, and hands you one page that shows what your AI tools cost and what you get back. A human still decides what gets revoked.

`Start free` → /login?src=blog_hidden-cost-of-idle-ai-seats

Find your recoverable AI spend

Spendassay turns this from an afternoon of spreadsheets into a live, proof-level audit with the recovery attached.

Practical, evidence-first notes on AI spend. A couple a month. No spam, unsubscribe anytime.