Budgets are admin-only. Open the admin panel and go to Settings -> Project -> Budgets.
Set a budget
- Navigate to Settings -> Project -> Budgets.
- Pick a provider (Anthropic, OpenAI, Azure OpenAI, Google, Mistral, AWS Bedrock, OpenRouter, Ollama). Providers declared in
nao_config.yamlare listed here alongside the ones configured in the UI. - Enter a project limit in dollars, a per-user limit, or both.
- Choose a reset period: day, week, or month.
- Save.
Per-user limits
A project limit caps what the whole team can spend on a provider. A per-user limit caps what any one person can spend against that same provider, in the same period. The two are independent, and both are enforced:- A user who hits their own limit is blocked while everyone else keeps working.
- When the project limit is reached, everyone is blocked regardless of individual headroom.
Per-user limits are gated by the
user-budget feature on an Enterprise license. Without it, only the project limit applies. See Enterprise overview.Setting budgets in nao_config.yaml
Budgets can also be declared next to the provider in your project config, so they are version-controlled with the rest of your context:
limit and per_user_limit is required. period defaults to month. These budgets show up on the Budgets page like any other.
How spend is tracked
For every LLM call, nao records the cost computed from the provider’s token pricing and attributes it to the provider’s current period. The Budgets page shows, per provider:- The configured limit and reset period
- Current-period spend
- Percentage of the limit used
Alerts and cutoff
Warnings and cutoffs are evaluated against whichever limit is closest to being reached - the project one or the user’s own.- 80% to 100% used: a banner appears at the top of the chat, warning that the limit is close. It names which budget is running out (“your Anthropic budget” or “your personal Anthropic budget”) and when it resets.
- 100% reached: nao blocks new LLM calls for that provider until the next reset. Someone who hits only their personal limit is blocked on their own; when the project limit is reached, everyone is.
- On project cutoff: nao emails the organization admin(s) so they can raise the limit or wait for the reset.
Unblocking
To resume traffic before the period resets, either:- Raise the limit (project or per-user) on the Budgets page, or
- Switch the default model to another provider that still has budget available.