Costs
Where agent spend appears, what bounds it, and whose ledger a run lands on.
Every model call an agent makes costs money, and Works is built to make that visible rather than to discover it at the end of the month.
Where it shows
Month Spend sits on the dashboard beside the agent and task counts, with the budget state under it — "Unlimited budget" when none is set.
Costs under COMPANY is the detail: inference spend for the chosen period, the budget state, and a finance ledger for charges that are not tied to a single request. Its tabs — Overview, Budgets, Providers, Billers, Finance — split that by what you want to know.

Setting a company budget
Costs → Budgets is where a monthly cap goes. Until one is set the budget card reads Open with "No monthly cap configured", and the inference ledger says "Unlimited budget" — which is a statement, not a warning. A budget can also be set per agent. When one is exhausted, Works cancels the work in that scope rather than letting it run over; see Budgets in NuFi Works for how an administrator sets them.
Whose ledger
This is the reason the per-person setup matters. With a shared, server-wide key, spend is a single number and questions like who spent this and can we cut off one person have no answer in the data.
With each member's own key bound to the agents they use, every model call an agent makes on someone's behalf lands on their ledger, and revoking one person changes nothing for anybody else.
See Connecting your NuFi account.
What bounds it
Three limits stack, and they are enforced in different places:
| Limit | Set where | Bounds |
|---|---|---|
| Key budget and rate limits | The NuFi console, per key | What that key can spend at all |
| Company budget | Works, per company | What the company's agents may spend |
| Approvals | Works, per task | Work that proceeds without a person looking |
The third is the one people forget is a cost control. A task waiting in review is not consuming budget — the agent released it. A loop with no gate in it is where spend runs away.
Reading a surprise
When spend jumps, the sequence that usually finds it fastest:
- Costs — which agent.
- That agent's runs — how many attempts, and whether they repeated.
- The task's comment thread — whether it was retrying against a task it could never satisfy.
The most common cause is not an expensive model. It is a task an agent cannot complete, retried.