Release · CLI · Dashboard · Proxy

VibePod CLI 0.22: what every agent call costs

0.22.0 ships with vibepod-datasette 0.6.0 and vibepod-proxy 0.5.0: every model call your agents make is now priced from published rates, and the spend is broken down by agent, workspace, credential profile, and single run.

2026-09-04 · Release · CLI · Dashboard · Proxy

Every call, priced

The dashboard has counted tokens for a while. It now also prices them, using published rates from pydantic/genai-prices rather than a table kept by hand. Calls are priced once, when they are captured, against their own timestamp — so old totals stay correct after a provider changes a price — and the rates ship with the image, so nothing is fetched over the network.

The all-agents token usage dashboard showing total and estimated cost cards, cost over time, and cost broken down by agent.
The all-agents dashboard, now with cost alongside tokens.
python -m pip install --upgrade vibepod
vp logs start

Two figures stay separate. Confirmed cost is calls to a host that names its billing provider. Estimated cost is calls to a host that fronts several vendors — a Copilot endpoint never says who billed the call, so the provider is read off the model name. Both use published rates, but a guess never lands in the actual-dollars number.

Where the money went

One table ranks every dimension — agent, workspace, profile, session, model, provider, host — by share of spend. Beside it: cost over time against the previous window of the same length, average, median and p95 cost per call, the most expensive calls, outliers costing 3× the median for their own model, and models billed at more than one rate.

Three of those breakdowns are new, and they are where this release's three repositories meet:

Calls that resolve to none of them are counted as unknown instead of dropped, so the breakdowns still add up to the total.

What is not priced

Coverage and quality tables report how each call got its price — an exact rate, an alias match (claude-opus-4-5-20260101 at the claude-opus-4-5 rate), an inferred provider, or nothing — plus the token volume nothing could price and what it would have cost at the window's confirmed rate. A missing rate is worth fixing upstream in the genai-prices provider files. As that project says itself, these prices are a best-effort estimate, not a bill.

Upgrading

Nothing to migrate by hand. vp logs start pulls the new dashboard image, vp run and vp task pull the new proxy, and both databases update their schema in place — earlier captures keep working, they just carry no profile.

Release details

Related links