Cost controls
Cap spending for your organization and keep agent usage efficient
Spend is shaped by which models you use, how much context goes into each request, and how many steps an agent takes. Combine organization limits in the dashboard with sensible agent settings in each project.
Organization controls
These live in the organization dashboard at app.withhull.com.
| Control | What it does | Where |
|---|---|---|
| Daily usage limit | Caps what one member can spend per day, in USD. Empty means no limit; 0 blocks usage. | Organization page, member list |
| Low Balance Alert | Emails you when the organization balance falls below an amount you set. | Invoices |
| Automatic top-up | Refills the organization balance when it runs low. | Invoices |
| Model access (Enterprise) | Turns providers and models on or off for everyone, and sets the organization default model. | Model Access |
| Usage analytics | Shows spend by model, user, project, feature and mode. | Usage |
Owners and admins set daily limits. Owners, admins and billing managers manage billing. See Members and roles, Billing and seats and Model access controls.
Stop runaway agents
Keep the doom loop check on
When an agent repeats the same failing action, Hull pauses and asks before continuing. This is the doom_loop permission and it defaults to ask. Leave it there unless you run fully unattended automation.
Ask before risky tools
Each tool can be set to allow, ask or deny. Keep bash at ask for unfamiliar work and allow only the command prefixes you trust. See Permissions and Auto-approve.
Cap agent steps
Set steps on an agent to limit how many agentic iterations it takes in one turn before it must reply.
Scope the task
- Give a narrow, specific goal. "Fix the null check in
processData" costs far less than "fix everything that looks wrong". - Ask for a plan first, review it, then let the agent implement.
- Avoid open-ended prompts such as "keep trying until it works".
Reduce tokens per request
- Start a new session when you switch to an unrelated task. Long sessions carry their history into every request.
- Mention specific files with
@filerather than whole folders. - Exclude generated directories such as build output and coverage reports. See Ignore files.
- Compact long sessions. Auto-compaction is on by default. You can lower the trigger with
compaction.threshold_percent. See Context condensing. - Turn off MCP servers you don't use. Their tool definitions are sent with every request. See MCP.
- Put recurring guidance in
AGENTS.mdinstead of repeating it in prompts. See AGENTS.md.
Pick the right model
Auto picks a model per task through Hull Gateway. You can pin tiers per agent when you want tighter control.
| Task | Suggested model |
|---|---|
| Quick questions, small edits, background summaries | hull-auto/efficient or hull-auto/free |
| Everyday coding and tests | hull-auto/balanced |
| Hard debugging and planning | hull-auto/frontier |
Example configuration
A cost-conscious hull.jsonc for a project, or for ~/.config/hull/hull.jsonc:
{
"$schema": "https://app.withhull.com/config.json",
"model": "hull-auto/balanced",
"subagent_model": "hull-auto/efficient", // default for subagents
"agent": {
"code": { "steps": 25 },
"plan": { "model": "hull-auto/frontier" },
"explore": { "model": "hull-auto/efficient" },
"compaction": { "model": "hull-auto/efficient" },
"title": { "model": "hull-auto/free" }
},
"compaction": {
"auto": true,
"threshold_percent": 70
},
"tool_output": {
"max_lines": 1000
},
"permission": {
"bash": "ask",
"task": "ask",
"doom_loop": "ask"
}
}Relax individual settings as you learn how agents behave on your codebase.
If spend is higher than expected
- Check the Usage page and group by Model, User or Project. See Usage analytics.
- Look for a frontier model being used for routine work.
- Look for long sessions that were never compacted.
- Check that unused MCP servers are off.
- Check that
doom_loophasn't been set toallow.