Costs and budgets
What the assistant is allowed to spend in a day, by category. At the warning mark you get a notification and work continues. Models priced at zero continue without spending against an exhausted money cap; a paid fallback is checked before its request is sent. At the cap a paid turn stops and asks whether to carry on. Approving unlocks that category for the rest of the day, and the extra shows in red. With nobody there to approve, it simply stops. Image generation uses the images category and the catalog’s per-image price; returned images are recorded even if saving or displaying the artifact later fails.
These are the shipped defaults. What you can change lives in a config file you own once TESSERACT is installed, so your copy may differ, and should, once you tune it.
| Category | Roles it covers | Daily cap |
|---|---|---|
| chat brain | chat_brain | $3.00 |
| sub-agents | consolidate, observer_agent, outbound_writer, playbook_extract, provider_check, scheduled_task, subagents_default, watchman | $10.00 |
| images | channel_vision, image_generator | $1.50 |
| voice | audio_transcribe | $2.00 |
| Omni | omni | $0.50 |
| CLI | auditor, claude_cli, coder, codex_cli | counted, never refused |
Every role names its category
Each role in tesseract/config/roles.yaml carries budget:, the category it spends from, and the categories and their caps sit together in tesseract/config/budgets.yaml. Settings, Costs edits the caps without opening it. Background work that is not a role, such as a scheduled job, is counted under sub-agents.
Speaking and listening count under voice
Voice is billed by the character spoken or the hour heard rather than by the token, and every voice lane draws on the one voice cap. A lane that runs on your machine costs nothing and is never held to it; only a cloud lane can spend.
The CLI is counted, not capped
A subscription seat prices at zero, so a dollar limit would read zero forever. The CLI category has no daily cap: its calls are counted and never refused.
The global cap is derived, not configured
There is no separate global budget line to drift out of step. The ceiling is the sum of every category’s cap, so $17.00, computed in brain/cost/ledger.py::global_cap_usd. Change one category’s cap and the global ceiling moves by exactly that much. A category with no cap adds nothing to it.
TESSERACT v1.1.3 — documentation built 9 Oct 2026