Skip to content

Cost control

Pipemason gives you several ceilings — cumulative, per-day, and per-tier — so a program can never spend more than you expect. Set them when you start a program and the runner enforces them automatically.

Cumulative ceiling

Cap the total spend for an entire program with --max-cost. Once a program's accumulated cost reaches this ceiling, it pauses rather than spending past it:

pipemason program start "build a Linear-style issue tracker" \
  --mode greenfield-system \
  --max-cost 50

The value is in US dollars and applies across the whole program run.

Per-day ceiling

Bound how much a program can spend in a single calendar day with --max-daily-cost. This is useful for long programs you want to spread out:

pipemason program start "..." --mode greenfield-system \
  --max-daily-cost 40
  • The default per-day ceiling is $40.
  • Pass --max-daily-cost 0 to disable the per-day ceiling entirely.
  • The daily counter resets at midnight UTC.

Tip

When a program hits its per-day ceiling, auto-advance pauses for the day and resumes automatically the next day — you don't have to restart it manually.

Model-tier ceiling

Cap the model tier used per run with --max-tier. The tier ladder, from least to most expensive, is haiku < sonnet < opus < fable. The runner will never use a tier above your ceiling, even if a step would otherwise reach for one:

pipemason program start "..." --mode greenfield-system \
  --max-tier sonnet
  • --max-tier haiku — cheapest; caps everything at the lowest tier.
  • --max-tier sonnet — forbids the more expensive tiers.
  • --max-tier opus — the default ceiling.
  • --max-tier fable — the top tier; the most expensive, opt-in.

Note

Because fable sits above the default opus ceiling, you must explicitly raise the ceiling to fable to use it. The runner always honors whichever ceiling is more restrictive.

Combining ceilings

These ceilings stack. A common setup caps total spend, bounds the per-day rate, and keeps the model tier modest all at once:

pipemason program start "migrate auth to passkeys" \
  --mode brownfield-upgrade \
  --max-cost 75 \
  --max-daily-cost 25 \
  --max-tier sonnet

With this configuration the program never exceeds $75 total, never spends more than $25 in a day (resuming the next day when it hits that), and never uses a model above the sonnet tier.