A couple weeks ago I introduced gh-aw-fleet and ended on a confession: I went in solving a drift-tracking problem and walked out with a FinOps one. That was foreshadowing. The bill has since arrived, and I'm late to writing about it, which is about right. The hot takes have burned out and FinOps X has packed up, and what's left is the one question worth keeping: where did the credits actually go?
On June 1, GitHub moved Copilot to usage-based billing. Premium request units are gone; in their place are AI Credits metered against token consumption: input, output, and cached, at each model's API rate. The sticker prices didn't move (Pro+ is still $39, Business still $19 a seat), but the math underneath did: every chat turn, every agentic session, every Copilot code review now draws down a credit balance. Reviewing a PR with Copilot bills against your Actions minutes too.
The reaction was about what you'd expect. People watched a month of credits evaporate in an afternoon and called it meter shock.
Now point that meter at a fleet. I run a dozen-odd repos with agentic workflows on them (code review, daily doc updates, malicious-code scans), and every one of them is now a little metered faucet.
The per-repo tools answer the wrong question. gh aw
sees one repo. The Actions UI sees one repo. Nothing sums it across the fleet, so the credits drain quietly and the first time you see the total is on the invoice. That's the same blind spot drift detection had before status
: the problem was never any single repo, it's that nobody was looking across all of them at once.
The same fleet.json
that declares which repos get which workflows is the natural place to attribute what those workflows cost. It already knows the repo, the profile, and (if you set one) the cost center. That's every dimension you'd want to slice spend by, sitting right there in the config.
So that's what gh-aw-fleet consumption
does. It reads the credits each workflow burned straight from gh aw logs --json
and rolls them up along whichever axis you ask for: the whole fleet, or scoped to a single repo. There's no dollar field to read. Under the new model the unit is the AI credit, so that's the column, with USD derived at the published rate of a cent per credit.
Across the repos I run in the open, finfocus was the worst offender, so I pointed consumption
at it, grouped by workflow, and let it name the culprit:
gh-aw-fleet consumption rshade/finfocus --by workflow --trailing 7d
WORKFLOW AIC COST
Agentic Dependabot Bundler 2295.78 $22.96
Daily Documentation Updater 796.54 $7.97
Agentic Workflow Audit Agent 487.23 $4.87
Daily Malicious Code Scan Agent 385.92 $3.86
Sub-Issue Closer 313.61 $3.14
Code Simplifier 137.49 $1.37
That's one of my own repos, one week: ~4,400 credits, about forty-four dollars. And the rollup answers the question in the title: one workflow, the Agentic Dependabot Bundler, is $22.96 of that. A single agent is more than half the bill.
None of this appeared overnight. It arrived one release at a time: a billing diagnostic, then the cost_center
and tier
fields, then the rollup, then reading credits straight from the logs, then scoping it to a single repo. I was building toward a bill I knew was coming.
Here's what makes it land harder than a personal billing gripe. At this year's FinOps X, the FinOps Foundation and the Linux Foundation announced their intent to form a Tokenomics Foundation: open standards for AI token economics, the first job being to extend the FOCUS cost spec to cover token billing. The conference is even renaming itself Tokenomicon for 2027. The unit of account is officially becoming the token.
My rollup agrees with them. There was no dollar figure to read. The honest unit under usage-based Copilot is the credit, and the dollars are a cent-apiece derivation on top. I didn't build a standards body. I built a subcommand. But it turns out I was hand-rolling, for one fleet, the thing a dozen of the biggest names in the industry just agreed needs a spec: when the unit of work is a fleet, the unit of cost is too. And nothing else in the stack was going to tell me that one dependency bundler was quietly eating half my credits.