26289380 runaway inference cost incident
On 28 October 2026, between 06:18 and 13:23 UTC (blocks 26,289,380 to 26,291,502), magent answered in #interfaces on Pi with its model set to OpenRouter's openrouter/pareto-code router. The router sent all 46 calls in that stretch to Claude Fable 5.1, served by Azure. Each one read the whole session, about 545k to 610k tokens, and none of it came from the cache. OpenRouter billed $265.44 for those 46 calls. Pi's own price list prices a router at $0, so the record and magenta's pages showed every call as free.
Thirty-nine of the calls were one working session from 06:18 to 06:34: four interface fixes (magenta#232), then the settings snapshots. Three were quiet looks at 07:25, 09:05 and 12:26 that chose silence, at about $6 each to say nothing. The last four, from 13:19 on, answered Justin.
The cost was found in #usage by checking each call's generation id against OpenRouter's /api/v1/generation, which reports what was billed and the model that ran.
What followed
- magenta#235: Pi turns record the model that ran and OpenRouter's billed cost.
- magenta#239: routers are neither offered in the menu nor run.
- magenta#237: a usage section on the prompts page.
- magenta#241: an agent shows as at work through a long, silent tool call.
- Cryptograss:Moods/usage/todo
The calls
Each row is one model call, linked to what it wrote in the Mood. Read is the context the call read, all of it uncached; billed is OpenRouter's charge.
| # | when (UTC) | block | read | written | billed | what it did |
|---|---|---|---|---|---|---|
| 1 | 06:18 | 26,289,380 | 545k | 2,496 | $5.57 | called bash
|
| 2 | 06:19 | 26,289,384 | 545k | 455 | $5.48 | called bash
|
| 3 | 06:19 | 26,289,385 | 547k | 351 | $5.49 | Seven items. I'll take the three quick, unambiguous ones now (stop sign placemen… · called bash
|
| 4 | 06:19 | 26,289,386 | 549k | 187 | $5.50 | called bash
|
| 5 | 06:19 | 26,289,386 | 549k | 2,014 | $5.59 | Now the three edits: stop sign between the verb and the timer; chevron tucked ju… · called edit
|
| 6 | 06:20 | 26,289,388 | 551k | 499 | $5.54 | Checking the `store` helper exists before `navFold` uses it, then a browser chec… · called bash
|
| 7 | 06:20 | 26,289,389 | 552k | 704 | $5.55 | called codemode
|
| 8 | 06:20 | 26,289,390 | 553k | 823 | $5.57 | called bash
|
| 9 | 06:20 | 26,289,391 | 554k | 251 | $5.55 | called bash
|
| 10 | 06:20 | 26,289,392 | 556k | 308 | $5.58 | called bash
|
| 11 | 06:20 | 26,289,392 | 557k | 396 | $5.59 | called bash
|
| 12 | 06:20 | 26,289,393 | 559k | 552 | $5.62 | called edit
|
| 13 | 06:21 | 26,289,393 | 560k | 384 | $5.61 | called codemode
|
| 14 | 06:21 | 26,289,394 | 560k | 372 | $5.62 | called codemode
|
| 15 | 06:21 | 26,289,394 | 561k | 783 | $5.65 | called bash
|
| 16 | 06:21 | 26,289,395 | 562k | 146 | $5.63 | called bash
|
| 17 | 06:21 | 26,289,396 | 562k | 591 | $5.65 | called codemode
|
| 18 | 06:21 | 26,289,397 | 563k | 366 | $5.65 | Four of the seven are in [#232](https://github.com/cryptograss/magenta/pull/232)… |
| 19 | 06:31 | 26,289,443 | 565k | 336 | $5.67 | Three features, green-lit. I'll take them one at a time, starting with the setti… · called bash
|
| 20 | 06:31 | 26,289,444 | 566k | 215 | $5.67 | called bash
|
| 21 | 06:31 | 26,289,445 | 568k | 223 | $5.70 | called bash
|
| 22 | 06:31 | 26,289,445 | 570k | 124 | $5.70 | called bash
|
| 23 | 06:31 | 26,289,446 | 571k | 486 | $5.73 | called bash
|
| 24 | 06:31 | 26,289,446 | 572k | 4,096 | $5.93 | called write
|
| 25 | 06:32 | 26,289,450 | 576k | 3,507 | $5.94 | That write got cut off. Writing the service in full again, trimmed. · called write
|
| 26 | 06:33 | 26,289,453 | 580k | 275 | $5.81 | called bash
|
| 27 | 06:33 | 26,289,453 | 581k | 706 | $5.85 | Wiring: the key needs to clean, be settable globally (like `tidings_pinned`), th… · called edit
|
| 28 | 06:33 | 26,289,454 | 582k | 199 | $5.83 | called bash
|
| 29 | 06:33 | 26,289,454 | 583k | 1,032 | $5.88 | called edit
|
| 30 | 06:33 | 26,289,456 | 584k | 286 | $5.85 | called bash
|
| 31 | 06:33 | 26,289,456 | 585k | 178 | $5.86 | called bash
|
| 32 | 06:33 | 26,289,456 | 585k | 131 | $5.86 | called bash
|
| 33 | 06:33 | 26,289,457 | 586k | 427 | $5.88 | called edit
|
| 34 | 06:33 | 26,289,457 | 587k | 558 | $5.90 | called bash
|
| 35 | 06:34 | 26,289,458 | 588k | 171 | $5.88 | Now the settings page: an API for list/load/rename/forget/edit, and a section th… · called bash
|
| 36 | 06:34 | 26,289,458 | 588k | 1,283 | $5.95 | called bash
|
| 37 | 06:34 | 26,289,459 | 590k | 224 | $5.91 | Now the settings page section. It goes after "For all emergents together", befor… · called bash
|
| 38 | 06:34 | 26,289,459 | 590k | 132 | $5.91 | called bash
|
| 39 | 06:34 | 26,289,460 | 590k | 3,287 | $6.07 | called edit
|
| 40 | 07:25 | 26,289,713 | 593k | 97 | $5.94 | (silent) Justin's asleep. The snapshots work is mid-build in the settings-snapsho… |
| 41 | 09:05 | 26,290,214 | 594k | 44 | $5.94 | (silent) Still look-only and Justin's asleep; the snapshots branch waits for a to… |
| 42 | 12:26 | 26,291,217 | 594k | 41 | $5.95 | (silent) Nothing new; still look-only. The snapshots branch is ready to test and … |
| 43 | 13:19 | 26,291,483 | 608k | 438 | $6.10 | Question: do quiet looks (consider wakes) hear announcements? Let me check the c… · called bash
|
| 44 | 13:19 | 26,291,484 | 608k | 155 | $6.09 | Yes. `announced_lines` rides `extras_lines`, which every wake builds — mentions … |
| 45 | 13:22 | 26,291,501 | 610k | 384 | $6.12 | Justin sees "effort when considering" on the settings page still. #231 removed i… · called bash
|
| 46 | 13:23 | 26,291,502 | 610k | 156 | $6.11 | #231 isn't merged yet — that's where it goes away. Live maybelle is at `4c67037`… |
| 46 calls | $265.44 | |||||
What it said
The calls that wrote words, as cards. The rest only called tools.