Fable, Opus, Claude Code and Claude Web: How To Use Them All For The Best Results (And Fewest Tokens)
This week I walk through the launch a website and newsletter using all of the above models/harnesses and more to get a great result without Fable blowing through my subscription in an hour of work.
Fable’s back! But for a limited time only, of course. Though as I am writing this, Anthropic just announced that subscriptions can keep using Fable until July 12. Maybe they’ve just learned to set expectations low and deliver happy surprises, and in fact it’ll never go away at all. A man can hope.
In any case, this seems like an excellent time to address one of the biggest challenges of using LLMs: figuring out which combination of model, settings and harness is right for the task at hand. This is one of those topics that makes me realize how difficult it must be for normies to keep up with the latest goings-on in AI. You’ve got Haiku, Sonnet, Opus and Fable. Each of them can operate at a thinking level of low, medium, high, xhigh and max. There’s also ultracode, but ultracode is actually xhigh with more subagents and workflows. Then you’ve got the original Claude on the web, as well as Cowork and Code.
How on earth is anyone supposed to figure out which of those to use? I spend hours every day with Claude in all of its various forms, and I still couldn’t tell you whether Sonnet on max is better than Opus on low for any particular query. And then of course we’re at Opus 4.8 but recently went from Sonnet 4.6 to Sonnet 5, so that upends whatever intuition I’d managed to build up.
Anthropic has charts like the above, which are sort of helpful, though given the incredibly jagged nature of AI capabilities, they really aren’t that useful in telling you what you should use for the specific thing that you need to work on right now. The only way to actually know whether one model beats another is to run the same task past both of them, ideally multiple times, and judge the outputs. But of course if you want to get work done instead of evaluating models, that is a terrible use of time and you just kinda have to take your best guess.
Up to this point, my strategy has primarily been to just pay for the Max subscription and use Opus on max thinking all the time. Inefficient on both cost and time, but I’m not going to quibble over a couple of dozen dollars a month for the most powerful technology in the history of mankind! Plus I’ve usually got a few tasks running in parallel, so slower-than-necessary responses don’t bother me.
Unfortunately Fable really blew up that plan — that thing uses tokens like it is nine-year-old me playing that one Ninja Turtles arcade game at Chuck-E-Cheese.
I had a number of projects that I really wanted to throw at it during the brief window of subscription availability, but it rapidly became apparent that I was going to have to ration my usage.
Which Model, Harness and Thinking Level To Use
When I say that prior to Fable’s launch I was always using Opus on max, that’s not quite true. I’m really just talking about my conversations in Claude Code and web. That does not mean there aren’t valid uses for other models, though, particularly when you’re using AI within a product or recurring job.
Haiku: Useful for simple tasks where you need intelligence embedded in an application. I just signed up for a couple of services that send daily emails with requests from reporters looking for sources in order to get free PR for some of my products. I’ll be using Haiku to filter these down to the ones I care about and tag them with the relevant product.
Sonnet: If you’re concerned about token usage, Sonnet is pretty good at simple coding tasks and research questions. I typically use it like Haiku, within applications but where they need a little more intelligence than Haiku provides. In the reporter email filtering application, I’m using Sonnet to draft responses to queries (though I will definitely edit those prior to submission).
Opus: My daily driver for most things.
Fable: If you’ve got deeper pockets than I, just use Fable for everything. There is something about it that’s difficult to quantify, but it just feels deeply intelligent. If you want to keep your costs under control, though, use Fable for planning and review, not execution. More on that below.
From a harness perspective, I haven’t done enough with Cowork (or any of the many external harnesses like OpenClaw and Hermes) to comment, so I can really only tell you about Claude web and Claude Code.
The major difference between those two, at least in my experience, is that Code is best at execution — writing code, making API calls, managing files — but lacking in creativity and not much of a problem solver. Claude web, on the other hand, feels clever in a way that Code is not. You give it a problem, and it will be much more thorough and thoughtful as it considers possible solutions. Claude web is also better, though meaningfully worse than ChatGPT, when it comes to web search.
As to the final variable, thinking level, I really have very little sense of when to change it. I tend to just pick a model and use it on max, except that every once in a while I’ll drop Opus to xhigh or Fable to high/xhigh if it intuitively feels like the problem doesn’t require the maximum level of thinking. That is an unsatisfactory answer, I know, but sometimes you have to limit the variables available to you to simplify your life. For what it’s worth, I think having five levels of thinking is a terrible user experience choice by Anthropic, but it’s easy to opine from my Substack while they’re creating superintelligence.
Making Them Work Together
With all of that in mind, let me get a little bit more specific about how I approach a new project.
A few weeks ago, I listened to an episode of the Odd Lots podcast (highly recommended), in which they interviewed the founder of HayWire, a website that tracks hay prices in the US, which turns out to be much more complex than you might guess. The first version of the site started with him pulling publicly available data that was buried in USDA PDFs and turning it into something easily accessible. One of the hosts made an offhand comment about how there were almost certainly other similar sources of government data that some clever entrepreneur could use to create the HayWire for other industries.
I am one such entrepreneur! Plus my thoughts are now largely filtered through the lens of, “would that be an interesting thing to test AI capabilities?” Obvious yes here!
First off, gotta find these opportunities. For this, I used ChatGPT. I’ve focused on Claude models to this point because they’re 90% of my usage. Still, the one thing you should really know about ChatGPT is that it is far and away the best model for research. It will search more pages, spend more time on each search result and come back with higher-quality, more comprehensive answers than Claude.
For a question like this where you really want it to scour the internet and draw conclusions from the information it finds, you should use Deep Research. If you have access to it, setting the thinking level to Pro will get you the best result of any model out there, hands down.
Before starting on that, it’s helpful to work with ChatGPT to get a good prompt. I told it about HayWire and the Odd Lots episode, then explained that I wanted to get a Deep Research report identifying other, similar opportunities. It asked me questions about what exactly would make for a good topic, then turned that into a fairly extensive prompt, which I won’t quote here because it’s 117 lines, but if you’re interested in reading it in full, here you go.
I launched the Deep Research query, and it searched for 20 minutes through 384 sources. It came back with a 20-page report covering 60 possible topics, helpfully stack ranked according to my criteria.
With that, it was time to get building. The goal here was to get a few of the top-ranked options built with as little input from me as possible, then see how much of the marketing could be automated as well. Big-picture planning of things like architecture and marketing strategies is exactly where Fable shines, and they’re also where you want to use Claude web.
I gave it the full report and the following prompt:
Read this report and lmk if you have questions. The objective here is to pick out the best 3 - you can use the rankings in the report, but also really optimize for free/easy ways of marketing and the ability to automate as much as possible with AI, from pulling the data to formatting/structuring it to writing a newsletter/updating a webpage to marketing via posts on social media, email outreach, etc. This is my experiment in trying to have AI basically run a business and get it to profitability. Ultimately the goal here is to have you build out three plans including specs for all code that claude code needs to write to handle everything related to the business. Also note anything that is not possible to handle via AI/code that I would have to do manually.
It did some additional research on the accessibility of the data sources and reasoned through the marketing side of things, and it ultimately landed on PropaneWire, WesternWaterWire and OnionWire (I will note that ChatGPT just slapped Wire on the end of everything in the original report, copying HayWire without understanding why it’s clever).
The selection criteria were good. On the data acquisition piece, it prioritized data that are publicly available via API or PDF but still require a lot of digging and/or structuring that’s annoying for people but ideal for LLMs. For marketing, it decided to focus on opportunities that were most SEO-friendly, since that’s the most automatable of all possible marketing strategies.
I didn’t try the same question on Claude Code, but I would wager heavily that it would have ignored SEO and focused on social media and email outreach since those are what I gave as examples in the prompt. It also wouldn’t have been as thoughtful about which newsletter options to choose. Fable explained why it dropped some options that were towards the top of the list, like AlaskaSalmonWire because it’s seasonal. That’s just not the sort of critical thinking you get with the Code harness.
That’s the big weakness of Code — it’s very good at executing what you tell it, but it doesn’t think creatively about problems and almost always sticks to the specifics of your request, even in a case like this where it was clear that I was giving examples of marketing channels rather than an exhaustive list.
Fable asked me a couple of questions about my architecture preferences and, after getting my responses, built out the full plan. It opted for a single engine that could power each newsletter with minor adaptation for the specifics. I suspect Claude Code would have just gone with a separate codebase for each one. If you go to a surgeon and ask about a health problem, he’s probably going to recommend surgery. If you go to Claude Code and ask about your project, it’s going to write a lot of code.
With the spec ready, I fired up Claude Code, selected Fable and had it give the whole thing a review. One advantage I’ve found to using two different harnesses is they’re surprisingly good at catching each other’s errors and suggesting improvements (though this is more true if you’re using Opus, since Fable makes fewer errors in the first place). It pointed out that we should probably lock down a domain first, so I instructed it to use Cloudflare’s domain API to find me options.
First it told me that Cloudflare only has an API to fetch domains that you already own. This is wrong and probably the most common error I run into when using Claude Code; it is incredibly lazy about retrieving information on APIs it needs to use (which seems bizarre given the code-centric purpose of the harness) and will frequently tell you things that are absolutely untrue. Sometimes it’s that an API doesn’t exist, and even more frequently it will send a malformed request, get back an error response and conclude that the endpoint is broken.
It still does this despite my note in CLAUDE.md that “YOU ARE BAD AT EVALUATING APIS. IF I TELL YOU AN API EXISTS, IT EXISTS AND YOU SHOULD NOT TELL ME OTHERWISE UNTIL YOU HAVE EXHAUSTIVELY SEARCHED. IF YOU GET AN ERROR RESPONSE BACK FROM AN API, YOU SHOULD ASSUME THAT THE ISSUE IS WITH YOUR REQUEST AND NOT TELL ME THE API ENDPOINT DOES NOT WORK UNLESS YOU HAVE DONE EXTREMELY THOROUGH TESTING.” Does all caps help? Apparently not, but it makes me feel better.
I specifically asked for a broad range and some that were clever and punny. This did not go well — even where it actually came up with sort of good ones, it added Wire on the end of all of them (no, Claude, TheWaterwayWire.com is not going to be a winner here). This is, once again, classic Claude Code. The spec had Wire at the end, and it locked in on that.
Back to Fable on the web, which did reasonably well:
Western water — The Watermark (the mark showing water level — literal — plus the "high/low watermark" milestone idiom; closest to Haywire-quality), The Waterline (the level line, plus "line" as a news dispatch), Drawdown (the literal term for a falling reservoir, plus the finance sense — note Project Drawdown exists), The Runoff (snowmelt runoff drives supply, plus election/general runoff).
I gave these back to Fable in Claude Code, it searched for domains, and we settled on the-waterline.com.
With that, I told it to start building, with specific instructions that it should spin up subagents using lesser models for all of the code and restrict its own role to orchestration and review. This really is the key to using Fable to build things without breaking the bank. I highly recommend that you add a note at the top of your CLAUDE.md instructing Fable to only ever have subagents with non-Fable models write code, lest you forget to mention it and burn through your monthly token allocation in an hour.
It fired up some Opuses and Sonnets, I walked my dog, and when I got back I had a website, as well as scripts to pull data from public sources and update the site weekly. The design even looks much better than what Claude typically delivers, though I’m not sure how much of that is attributable to Fable vs. the fact that it clearly took a lot of inspiration from HayWire.
The weekly scripts to pull data and add new articles are where the lower-end models come in. Two of the data sets come only in the form of free-text press releases, so Sonnet is used to parse those in order to extract the relevant information. It gets strict instructions to only cite things exactly as they exist in the text and never infer anything. If I wanted an extra layer of security, I would run a second pass where a Haiku instance gets Sonnet’s output and searches the releases to confirm the numbers are there, but so far I haven’t seen any issues that would necessitate that.
Sonnet then writes the weekly newsletter, and Haiku writes some explanatory notes beneath each graph on the site. While I am generally against using AI for writing (every word and em dash here is my own, though Claude serves as an excellent copy editor), this is formulaic stuff. Its only purpose is to clearly convey information, so it doesn’t need to have a compelling authorial voice or do any thoughtful analysis. For the sake of turning data into structured prose, Sonnet is perfectly sufficient. The graph notes are even simpler and could probably be handled by deterministic code, but there are enough variations that it would be a little annoying, so Haiku’s easier.
Once everything was done, I turned back to Fable for one last pass (on the web, thinking level high because it’s just a review, not complex problem solving). I gave it the URL, reminded it of the general goal and asked for feedback. It came back with some solid notes:
The allocations page has duplicate entities with conflicting values. You've got "CVP South of Delta Irrigation" (20%), "CVP South of Delta Agricultural" (25%), and "CVP South of Delta Irrigation Water Service and Repayment" (20%) as separate entries — likely the same contract class parsed under different names, one stale. Same pattern on the M&I side (65% / 70% / 75% across three near-identical names). Dedupe these.
A few like this — the data come from different sources and use slightly different names. Opus wasn’t smart enough to figure out they were the same, but Fable picked it up.
Streamflow URLs are raw USGS gauge IDs (
/streamflow/09380000). Zero keyword value. Use descriptive slugs like/streamflow/colorado-river-at-lees-ferry(keep the ID at the end if you want uniqueness). This is your highest-leverage SEO fix.
Several SEO items like this. Technical stuff that I wouldn’t have found but that is important given that SEO is key to the project.
This is tremendous value from Fable — didn’t take a ton of tokens, but identified a number of clear, specific issues. Upfront planning and post-completion review get you real bang for your buck.
Just Do What Works For You
I hope this has been useful in helping you think through how to select a model for whatever task you’re working on — I always find concrete examples to be better than theoretical advice or comparison charts. AI is a weird technology that is both very simple and deeply complex to use. With four models, three harnesses and five thinking levels, you have 60 options, and that’s ignoring the older versions of each model and ultracode option.
That’s just one family of model. Once you throw in GPT, Grok and all of the open-source Chinese models, it’s nigh-impossible to keep a good handle on the totality of the AI landscape. But that’s okay! The best advice I have is to figure out what works for you given your constraints. If you can spend $100/month on a Claude subscription, you can likely just use Opus at max and only put thought into when it’s worth moving to Fable. If $20/month is your ceiling, you can probably get similar results by being a bit more thoughtful about when to use Sonnet and reduce the amount of thinking.
In any case, don’t forget that if for some reason you need to stay up to date on water levels and drought conditions in the western half of the US, just come pay a visit to The Waterline.




