Where spend shows
Where each cost comes from
Some runtimes report what a run cost. For the others, Clawboo estimates it. Estimates count toward budgets the same way as reported figures, and the Board marks them est.- The priced models are claude-haiku-4-5, claude-sonnet-4-6, gpt-4o and gpt-4o-mini, plus the OpenRouter ids anthropic/claude-haiku-4.5 and openai/gpt-4o-mini. The default leader models, claude-sonnet-5 and gpt-5.4, are not among them.
- The rate table lists Anthropic’s Claude models plus gpt-4o and gpt-4o-mini. The default rate is $3 per million input tokens and $15 per million output tokens.
- Length estimates count about four characters as one token, then apply the model’s rate.
- Runs that end without a report. A run that reports neither a cost nor token counts gets a length estimate, marked est., in team chat, one-to-one chat, routines and API runs alike. That includes a Claude Code run that fails or is stopped before it reports its cost, and an OpenClaw routine run that fails, times out or is stopped.
- Local Ollama models cost nothing. A run on a model your own Ollama serves is recorded at $0, charges no budget, and reads free on the Board. That covers a Clawboo Native agent on the Ollama provider and an OpenClaw agent whose model in
openclaw.jsonis anollama/one. Ollama’s cloud models (a-cloudtag) run on ollama.com, so they keep the default rate. Clawboo tells them apart by that tag alone, so a cloud model you copied under a name without it counts as free. - Tokens Used counts OpenClaw differently: it shows the token counts the OpenClaw Gateway records for each turn. Those counts and the budget’s estimate for the same turn can differ. The other runtimes are listed with the figures their runs record.
Read Tokens Used
Open Settings (the Settings row in the sidebar, orCmd/Ctrl + ,), then Insights > Tokens Used.
- Today, This Week and This Month show token counts, not dollars. This Week covers the last 7 days and This Month the last 30, each counted from midnight on the computer running Clawboo. A count turns amber at 10,000 tokens and red at 100,000.
- Tokens by Team lists every agent, grouped by team, with agents outside a team under Unassigned. Each row shows a bar for the agent’s share and its input and output tokens; hover them for exact counts.
- The chart below shows daily totals for the last 30 days, with empty days at zero.
What counts against a budget
A budget counts spend only from the moment you create it, and only for its own scope:- Team chat, meaning General, rooms, team routines, tasks you give an agent on the Board, and the tasks a leader hands off from there: charged to the agent and the team, and to the mission when the run works on a task.
- Agent routines and runs started through the API on Clawboo Native, Claude Code, Codex or Hermes: charged to the agent, the mission and the team. A run that reports no cost is charged an estimate when it ends.
- OpenClaw agent routines: charged to the agent, the mission and the team, from an estimate when the run ends, whether it succeeded, failed, timed out or was stopped.
- One-to-one chat with a Clawboo Native, Claude Code, Codex or Hermes agent: charged to that agent only.
- One-to-one chat with an OpenClaw agent: shows on Tokens Used, but no budget is charged.
Set a budget
Create the budget
Open Governance
Pick the scope
Pick who it covers and the limit
This already has a hard cap budget of $5.00., and the form switches to that budget’s mode. Set budget then changes that budget instead of adding a second one.Pick the mode
Save it
$0.00 / $5.00) and a bar. The list refreshes every 5 seconds while the panel is open.Warn only or hard cap
budget entry to the audit log. Spend from team chat and one-to-one chat moves the bar and the status, but writes no audit entry.
What a hard cap stops
A paused hard cap refuses new runs on every path below. Whether it also stops a run that is already going depends on where the work runs:- A run started through the API that a cap stops is cancelled, and its task goes back to To do with the comment
Auto-paused: <scope> budget reached. Raise the cap (or resume) to continue.A run refused before it starts answers422with the reasonbudget_pausedand leaves the task as it was. - A run whose last cost report crossed the cap (the usual case for Claude Code and Codex) had already ended, so it is not stopped: its result is posted, its task moves on as usual, and the comment reads
Budget cap reached (<scope>) by this run's final cost report. The run had already ended, so what it produced is kept; the next run is refused until you raise the cap or resume. - An agent routine counts the refused or stopped run as a failure. The routine stops until you resume it, and its task waits in Needs you; see When a routine stops.
- An OpenClaw routine whose estimate crosses the cap leaves the comment
Budget cap reached (<scope>). This run is recorded; the next scheduled fire is blocked until you raise the cap or resume. - Team chat and one-to-one chat, before a run starts: Clawboo checks the agent’s budget, the team’s and, for a run that works on a task, the mission’s (one-to-one chat checks only the agent’s, the one budget it is charged to). When a hard cap among them is paused, nothing runs, and the chat shows
The <scope> budget is paused at its hard cap, so this run did not start. Raise the cap or resume it in Governance to continue.A handed-off task, or a task you gave an agent on the Board, is not started either: it waits in Needs you with that sentence in a comment, and for a hand-off, the agent that handed it off is told. - A team routine whose message is refused that way counts as a failed run with that sentence as its error, and stops until you resume it. If the lead was busy when the routine fired, the fire already counted as posted, so the refusal shows only in the chat.
- Team chat and one-to-one chat, during a run: a stopped run that had not replied yet leaves the message
The run failed: the run was stopped by a budget cap. In team chat, a handed-off task it was working on waits in Needs you.
Resume or raise a budget
A paused budget shows a Resume button on its row.- Resume puts the budget back to active at once, without changing the limit. If spend is still at or over the limit, a message warns you and the row shows will re-pause: the next recorded spend pauses it again.
- Set cap changes the limit. Type the new amount in the row’s new cap $ field and press Set cap. It keeps the row’s mode. A limit above the current spend un-pauses the budget: it reads active again, or soft_capped while spend is still 80% of the new limit or more.
POST /api/governance/budgets without mode, keeps the budget’s mode.
Try a budget out first
To see how a budget behaves without pausing anything, start with warn only:Set a small warn-only budget
Use the team
Watch the status
Switch to a hard cap when you are ready
Read the audit log
The Audit log at the bottom of Governance keeps a record of what Clawboo’s guardrails did, newest first, up to 200 entries at a time. Each entry shows the time of day, the event type, the start of the agent’s id and a one-line summary. Narrow it with the agent id box (the full id), the event type list and All, 1h, 24h or 7d. It reloads when you change a filter or press Refresh at the top of the panel. The event types that matter for spend:The rest of the Governance panel
- Caps (enforced in code) shows three chips you cannot change. max spawn depth 2 means a task can have at most two tasks above it, so a chain of hand-offs is three tasks deep. max fan-out 8 is the most hand-offs one team-chat turn can start. per-node cost names a per-run cost limit that only a routine set up through the API can carry; the chip is not a limit in force. Budgets and guardrails explains each one.
- Approval queue lists every pending approval from every team. See Approvals.
Troubleshooting
My budget passed 100% and nothing stopped
My budget passed 100% and nothing stopped
The budget is paused, but the team still runs
The budget is paused, but the team still runs
I resumed a budget and it paused again at once
I resumed a budget and it paused again at once
My hard cap turned into warn only
My hard cap turned into warn only
"mode": "warn" through the API. Pick the same scope and the same agent, team or task in the form, pick hard cap, and press Set budget. Use Set cap on the row whenever you only want a new limit.Set budget did nothing
Set budget did nothing
The budget's bar never moves
The budget's bar never moves
Couldn't load budgets.
Couldn't load budgets.
Tokens Used shows zero for an agent
Tokens Used shows zero for an agent
An Ollama run shows a cost
An Ollama run shows a cost
-cloud tag), which runs on ollama.com, or an OpenClaw agent whose model in openclaw.json is not an ollama/ one.The bar is amber, but the audit log shows no warning
The bar is amber, but the audit log shows no warning
Under the hood
Under the hood
- Statuses and modes. Budgets are stored with the modes
warnandcapand the statusesactive,soft_cappedandpaused. Awarnbudget never readspaused. Spend is kept in fractions of a cent, so many tiny costs add up, and each scope (agent, mission, team) is updated in its own write. - Budgets over REST.
GET /api/governance/budgetslists them.POST /api/governance/budgetstakes{ "scope", "scopeId", "limitUsdCents", "mode" }, wherelimitUsdCentsis a positive whole number. A new budget withoutmodeiswarn; saving an existing scope updates its limit, and its mode only when you send one.POST /api/governance/budgets/:scope/:scopeId/resumeresumes a budget and answerswillRepause; when spend is at or over the limit, an optionalgraceUsdCentsraises the limit to the current spend plus the grace and keeps the mode. There is no delete route. - The audit log over REST.
GET /api/governance/audittakesagentId,eventType,sinceandlimit(at most 1,000). - Another way to get a hard cap. Creating a Clawboo Native agent through the API with
budgetUsdalso creates a hard-cap budget for that agent. - Run costs. Each run records its cost with a source of
reported,local,token-estimateorchar-estimate. A task’s total reads as an estimate when any of its runs is neitherreportednorlocal, and as free when all of them arelocal. - Tokens Used reads
GET /api/cost-records/summary. Clawboo’s server writes one cost record for each OpenClaw turn it can match to an agent in Clawboo, and one for each run of the other runtimes. - Shapes and codes: Governance API and Costs and fleet API.
Next steps
- Budgets and guardrails: the model behind budgets, caps and circuit breakers, path by path.
- Approvals: answer the requests in the Approval queue.
- Routines: resume a routine that a hard cap stopped.
- Board: read what each task cost.
- Limits and defaults: every threshold and waiting time in one place.