← Back to Blog

Fable Thinks, Sonnet Builds

The first Fable cap hit at the end of last week. Annoying, but survivable; the window rolls over and you wait. The second hit less than 48 hours later, on July 6, in the middle of a wave of parallel agents. That one stung, because the agents died holding unfinished work. By Thursday I was close enough to the total token limit that the only honest move was to stop working. Anthropic reset my limits Thursday night.

This is the third post in a series I keep hoping is finished. In June I said goodbye to Opus when Fable 5 shipped. Four days later an export directive pulled Fable offline, I noticed I had burned 90% of my usage, and I said hello again. That post ended with a plan. Fable thinks, Opus builds: save the frontier model for work where its judgment changes the outcome, let the workhorse carry the volume, and put the budget guard in code instead of in my head.

I published the plan, felt good about it, and wired none of it.

How it happened again#

Fable came back to the subscription plans and the fleet drifted straight back to frontier-by-default, because nothing in the harness said otherwise. The first cap was ordinary volume catching up with me: backlog loops, review passes, the daily grind, all billed at frontier rates for no reason anyone could defend. The second was the agent wave, a burst of parallel subagents all running on Fable at once.

The frustrating part is that the June post named the exact failure. "My restraint mid-loop is not in code." I wrote that sentence, published it, and then kept the plan in the one place an autonomous loop never reads: my head.

I don't think the pull is unique to me. When the best model is a keystroke away and included in the plan, every task looks like it deserves it. No single session feels expensive. The bill shows up later, as a wall, usually mid-wave.

What I changed this time#

The plan went into files instead of a blog post. Three changes, same shape as June, different medium.

1. The tiers are policy now. There is an architecture decision record in my specs repo that says who does what. The frontier model supervises: it triages the backlog, writes the briefs, reviews the PRs. Sonnet executes. Haiku gets the purely mechanical items. The slogan needed an update anyway, since Sonnet 5 closed most of the coding gap over the summer: Fable thinks, Sonnet builds.

2. The loop is pinned where it can't drift. The backlog command that eats most of my volume now declares its model in its own settings, read fresh on every invocation. The loop runs on Sonnet no matter what mood the session is in. This forced a change I didn't expect: a cheaper model only succeeds when the work item removes the need for judgment, so items now carry the files to touch, the exact verification commands, and what is out of scope before the loop is allowed to pick them. Writing those briefs is real work, and it is exactly the work the frontier model should be doing. The routing didn't just cut the burn. It pushed the expensive model toward the part of the job where it earns its rate.

3. Escalation is one consult, not a wave. When a Sonnet worker hits genuine ambiguity, it gets a single Fable consultation, one subagent handed a self-contained brief, and then it either proceeds or blocks the item for triage. Parallel Fable subagents are banned outright. That pattern is what crashed the July 6 wave, and it never comes back.

Anthropic is clearly thinking about the same split. The new advisor tool does this natively at the API level: a Sonnet executor runs every turn, and a Fable advisor gets consulted mid-task with the full transcript forwarded automatically. And their usage guidance already says it plainly: Sonnet is the right choice for the large majority of coding work, switch up when you need it. The vendor selling the expensive model is telling you not to run it as your default. It took me two caps to take the hint.

The two shapes, side by side:

Receipts#

I pulled the numbers out of my own transcripts instead of guessing. Every Claude Code session logs per-message token usage, so I priced the last two weeks at API list rates. The subscription absorbs the dollars, but the cap doesn't care, and the list price is the honest weight of the habit:

  • July 1 through 8, fleet-wide: about $3,350 at list rates. Roughly two thirds of it was Fable.
  • The single worst session: a two-day run on nothing but frontier models that priced out at $918 by itself.
  • July 9, the day before the reset: zero Fable tokens. Not discipline. An empty tank. The whole day ran on Opus and Sonnet because there was no Fable left to spend.

I also ran one controlled comparison, the same small task through each shape with an API harness: identical deliverable, and the frontier model's output dropped from about 5,900 tokens doing everything to about 1,200 giving advice. On a task that size the dollars are noise. The ratio is not. The scarce resource on a subscription is frontier output, and the routed shape cuts it by four fifths. Applied to a $400-a-day habit, that ratio is the difference between a Thursday reset and a normal week.

The medium was the bug#

The June plan was right. It failed anyway, because a plan in a blog post depends on me remembering it mid-loop, and mid-loop me has never once been the guy who remembers. The settings file doesn't have that problem. Neither does the decision record, or the loop that reads its model from disk every time it wakes up.

Fable thinks, Sonnet builds. Last month that was a slogan. Now it's a line in a file, which is the only place a plan survives contact with an autonomous fleet.

Keep reading

Post

Hello Again, Opus

Four days after I said goodbye to Opus, an export-control directive pulled Fable 5 offline and the fallback became the workhorse again. What I shipped in the window, what it cost, and the model-tiering plan for when Fable comes back.

Read
Post

Goodbye Opus, Hello Fable

Anthropic shipped Claude Fable 5 and Mythos 5: same model, two names, one safeguard layer apart. What the new frontier model means for running agents in production.

Read
Post

The Pocket Quant

I built a quant research platform, then built an agent to operate it: a scheduled Claude session that reads the boards, keeps a pre-registered track record, and texts me three times a day without ever saying buy.

Read
Post

Building an AI-Native Platform: A Retrospective

A year of building and operating a small fleet of finance and content products almost entirely through an AI coding agent. What worked, what was hard, the honest failures (including a flagship signal that measured nothing and an edge that vanished net of costs), and the lessons that transfer.

Read
Post

Prompt caching is a prefix match, not a flag

Prompt caching looks like a flag you flip for a cheaper bill. It is really the reuse of a stored prompt prefix, governed by three rules, and applying it across four parts of my own system showed where it pays, where it quietly does nothing, and where it is not even my decision. With the token counts I measured to check.

Read
Post

The Orange Pi That Maintains Itself

A small ARM box that started as a local LLM experiment and ended up a self-governing node: private retrieval, a resident agent under a written constitution, a code-enforced safety fence, and a nightly job where it audits itself and files its own backlog.

Read

Follow the work

New tools and writing as they ship — pick a channel.

Written by Eric Caskey. I build AI tools you can actually use. Explore the Tools or see the case studies.