
Peras 0.5 · actual Peras app, drawing a test burn
Stop a subagent fan-out before it empties your 5-hour window
Codex started 8 subagents on its own and emptied a 5-hour window in about 5 minutes. A line at 95% can't catch that. Peras 0.5 also watches how fast usage rises.
What happened
Claude Code handed a read-only review of 6 repos to Codex with codex exec. The prompt never asked for subagents. Codex started 8 of them anyway, and the 5-hour window went from 0 to 100% in about 5 minutes. Both jobs ended before writing anything. Peras was running and only warned at 100%: its one line was a warning at 95%, and usage moved faster than Peras read it.
Set a burn line
npx peras-cli set 5h rate 15/5m pause
npx peras-cli codex set 5h rate 15/5m pauseThat stops the agent when its 5-hour window rises 15 points within 5 minutes, at any level. The stop holds until you resume or the window resets. npx peras-cli codex resume lets that burst go, and a new burst stops it again. Choose 1 to 300 minutes, and warn, ask or pause. weekly works too.
Every setup also gets one burn line by default: a warning when the 5-hour window rises 20 points within 10 minutes.
No new subagents while it burns
While any burn line is crossed, including that default warning, Peras refuses new subagents. Only the spawn is refused; the agent keeps working without it. Codex gets this reply:
Peras is not starting new subagents: new subagents are held while usage
is burning fast (5-hour +20 points within 10 minutes). It lifts when the
burst ends or you resume. Continue without new subagents, or tell the
user why you can't.Cap subagents per prompt
npx peras-cli set agents 3 ask
npx peras-cli codex set agents 3 pauseThe 4th subagent one prompt starts waits for your OK (ask) or is refused (pause). Subagents started by subagents count toward the same prompt, and so do subagents started at the same moment: 8 at once against a line of 3 leaves 5 refused. Peras counts subagent starts by tool name.
Agent to agent
When Codex is paused, Claude Code running codex exec is refused with Codex's reason, and the same for Codex running claude -p while Claude Code is paused. It matches the command, so a wrapper script, an alias or npx codex gets past it.
How fresh the readings are
Codex is read every 10 seconds while a burn line exists or usage climbs 3 points a minute, otherwise every minute. In a replay of the incident's curve with 5h rate 15/5m pause, Peras paused Codex at 20%, the first reading after the burst began.
Claude Code's usage comes from its status line. On Claude Code 2.1.97 and later, Peras asks it to redraw every 10 seconds. Headless claude -p draws no status line, so burn lines can't act there. A pause reaches subagents at their next tool call; requests already in flight still finish. Peras pauses. It doesn't save tokens or make anything cheaper.
Free guard, optional app
The burn guard is free and MIT, in the CLI and hooks. A burn warning's notification has a Pause now button. The signed, notarized macOS app (€4.99 once, updates included) adds the burn badge beside the bar, the subagents this prompt, settings rows for both lines, and burns in the weekly recap.
npx peras-cli setup
npx peras-cli codex setupGet the app · Source and install · Codex usage limit · FAQ
spend the last of your week on purpose.