Channel Budgets
Give every channel its own spend ceiling, tier range, and approval posture.
A personal chat and a shared team workspace should never carry the same risk. Channel Budgets let you set a spend ceiling, a tier range, and an approval posture per channel.
Configure a budget
[channels.telegram]
max_usd_per_day = 2
tier_range = ["R0", "R2"]
auto_approve = ["shell:low"]
[channels.slack]
max_usd_per_day = 20
approve = ["shell:high", "git:push", "web:fetch"]
[channels.cron]
tier_range = ["R0", "R1"]
deny = ["web", "fs:write_outside_workspace"]Fields
| Field | Purpose |
|---|---|
max_usd_per_day | Daily spend ceiling for the channel |
tier_range | Lowest and highest router tier allowed |
auto_approve | Tool classes that run without a prompt |
approve | Tool classes that always require approval |
deny | Tool classes that are never allowed |
Behavior at the limit
When a channel reaches its daily ceiling, BudgetAI stops taking new paid turns on that channel and posts a short notice. Existing sessions keep their transcripts and receipts.
Channel budgets compose with Outcome Contracts: the per-task contract still applies inside the channel's daily ceiling.
Checking status
budgetai channels status slack --json
budgetai cost --by channel