Everyone can quote the price per million tokens. Almost nobody can say what one run of their agent costs, because a run is not a fixed number of tokens. It is a loop: read, decide, call a tool, read again. A change to a prompt, a tool that starts returning more data, a retry that used to be rare, and the same task costs three times what it did last week.

So the honest answer to 'how much does an AI agent cost' is a distribution, and the useful number is how that distribution moved. Median cost per run this week against last week. Total spend today against your own typical day. The provider's remaining credit and the hour it runs out at the current rate.

Those numbers need two sources. The provider tells you the total: OpenRouter, Anthropic and OpenAI all expose spend or usage over an API, on their own cadence. The agent tells you the per-run detail, because only the agent knows which task it was doing when it spent forty cents.

Put them side by side and the interesting questions become answerable. Which task type is the expensive one? Did cost rise because volume rose or because each run got dearer? Is the nightly job the one that tripled, and did it also start failing? A total on an invoice cannot answer any of those.

The alert worth having is not 'spend exceeded a number'. It is 'spend per run departed from normal', because that is the one that catches the prompt change on Tuesday instead of at month end. And it is 'credits run out at this hour', because that is the one that prevents the outage.

The rest is discipline: every run reports its cost, the costs land in one place with everything else the company does, and a rule in plain English watches the curve. InternalStatus takes agent runs by webhook or MCP, polls the providers for the totals, and lets you write that rule as a sentence.