[BUG] /code-review: effort level silently ignored unless it's the first argument — this cost me my whole balance
I asked for high. You ran max. Here's how.
I invoked the skill with the level at the end:
/code-review origin/main...origin/my-feature-branch high
(Worth mentioning: this command was composed by claude-opus-5 itself, via the Skill tool. If your own model can't get the argument order right, maybe the parser shouldn't silently depend on it.)
My mistake, maybe. But nothing told me it was a mistake — no error, no warning, not even a note. The parser only checks the first token for the effort level, so my high got swallowed into the review target (the fork prompt literally says Review target: origin/main...origin/my-feature-branch high). With no explicit level and no last-used one, the skill fell back to my session's ambient effort — max. Silently.
What that cost, in one run:
- Wave 1: an orchestrator + 10 finder subagents. The orchestrator died on a 429 (concurrency limit) 15 minutes in. Its orphaned finders kept burning tokens for 10+ minutes after it was dead.
- The skill retried by itself. Another orchestrator, 10 more finders, then 14 verifiers.
- Total: 36 subagents, ~1,560 messages on claude-fable-5-1, 56 minutes.
- Then
403 insufficient balance. Session dead. Review findings: zero.
I typed high specifically to avoid the max fan-out. I got the max fan-out anyway, and paid for it twice.
Three things that would have stopped this:
- Warn when a level word appears anywhere in the args, not just position 1. The regex already exists — it just never runs on the token that matters.
- Print the resolved effort level and its source before any fan-out:
Running at max (inherited from session effort). One line. I would have Ctrl-C'd on the spot. - When the orchestrator is killed by a 429/403, reap its children. They kept spending after the parent died.
2.1.271, native macOS arm64.
Related: #78257 is a sibling manifestation (explicit level overridden by session effort; auto-closed for inactivity). This one is worse: the level never reaches the parser at all, and there is zero warning on any path.