Flight recorder + spend governor for AI agents
Teams running AI agents have no audit trail — the invoice is the first sign something went wrong. Flightbox runs your agent pipelines through a managed runway: deterministic Python owns the loop, so it can record everything and actually stop agents, not just watch them.
The problem
“The invoice is your incident report.”
An agent loops on a failing test at 2 a.m., burns through calls nobody sees, and the first artifact of the failure is a line item on next month's bill. No trace of which agent did what, which phase spent what, or where a human could have said no. Observability SDKs will tell you afterwards. Flightbox owns the loop — so it can stop it.
How it works
Flightbox is a managed runway, not a sidecar. Deterministic Python owns the loop; your agents are bounded nodes inside it.
STEP 01
Install the OSS core into your repo. Define your pipeline — phases, agents, budgets, approval points — in plain config. Run it with just.
STEP 02
Every tool call, prompt, and decision streams live into a SQLite trace. Budget and approval gates sit in the loop itself — when a cap is crossed or an approval times out, the run halts. Hard stop, not a warning.
STEP 03
Open the session-replay UI: a waterfall per run, per-phase tool-call detail, per-agent dollar attribution. Grant pending approvals from any terminal. Get cost estimates before the next run buys a single token.
Features
Every tool call, prompt, and decision streams live into a SQLite trace. Session-replay UI with a waterfall per run and per-phase tool-call detail — scrub through exactly what your agents did.
Per-call token and dollar breakdown, rolled up per agent, per phase, per run. Know that the reviewer costs 3× the builder before it matters.
max_run_cost and per-agent max_cost HALT the run when crossed. The crossing call is billed and recorded — then nothing further runs. Not an alert. A stop.
A chain parks on a pending approval until a human grants it — from any terminal. Silence past the timeout is a denial. Your agents never assume a yes.
Median, p90, and worst-case cost from your own run history — before the first token is bought. A warning fires when p90 clears your cap.
$ just sessions RUN PIPELINE PHASES COST STATUS 0139 feat/search-index 4/4 $2.13 ✔ complete 0140 fix/rate-limiter 3/4 $3.87 ⏸ awaiting approval (deploy) 0141 feat/checkout 4/4 $1.94 ✔ complete 0142 feat/checkout-v2 3/4 $4.71 ■ HALTED — max_run_cost $5.00 $ just estimate feat/checkout-v3 estimate from 12 prior runs: median $2.04 p90 $5.62 worst $7.90 ⚠ WARNING: p90 ($5.62) clears max_run_cost ($5.00) $
Pricing
$0
OSS core · forever
$99
per month · $990/yr annual
$499
per month · $4,990/yr annual
FAQ
No. SDKs observe from the sidelines — they can tell you what happened, not stop it. Flightbox is a managed runway: you run your agent pipelines through it. Deterministic Python owns the loop and agents are bounded nodes inside it, which is why a budget gate can actually halt a run mid-flight instead of just logging that it went over.
The call that crosses the cap is billed and recorded — you can't un-buy tokens already in flight. Then nothing further runs. The halt, the crossing call, and the full trace up to that point are all in the recording.
The chain parks on the pending approval and waits. You can grant it from any terminal. If the timeout passes in silence, that's a denial — the run does not proceed on an assumed yes.
On the free OSS core, everything is local: a SQLite trace in your repo, viewed with the local visualizer. Paid tiers add hosted replay so teammates can share timelines across repos — that's the part you pay for, not the recording itself.