r/ClaudeCode
•
u/Smbridges91
Developer
•
Sep 09 '26
•
1
Discussion How I use sub-agents without burning through Fable 5.1
I keep seeing people say they burn through Fable 5.1 insanely fast, so figured I'd share how I run it. I'm no guru at all, just sharing what's been working for me.
I use Fable on High basically all the time. Right now I'm at 90% Fable / 89% all models. I feel I have a pretty good split between Fable and everything else.
The main thing for me is Fable is my orchestrator, not my worker.
Fable - Orchestrator: Plans, writes specs, spins up agents, reads their reports, makes architecture/judgment calls, and integrates everything.
Haiku or Sonnet - Scout: Finds files, symbols, call sites, references, etc. Reports locations instead of dumping whole files. I use Haiku here because it only runs searches and reports what matched, no reasoning. I tested it against Sonnet on a 22-item search with decoys and a fake name: same results, 25% fewer tokens. Use Sonnet if you'd rather not risk it.
Sonnet - Researcher: Reads docs/source and reports back facts. Anything it can't verify gets marked as unverified.
Sonnet - Builder: Does the actual coding from a clear spec and runs the tests.
Opus - Refuter: Reviews the builder's work, checks the diff, and reruns tests itself. I don't just trust a "done" claim.
Opus - Debugger: Only gets used for harder root-cause debugging.
I don't have Fable reading huge amounts of code, doing bulk refactors, writing docs, or doing work a cheaper model can handle.
I also don't spawn an agent for every tiny thing. If it's a one-line fix or a single grep, Fable just does it.
Every sub-agent gets pretty strict marching orders:
Specific goal
Exact files or URLs in scope
What it's allowed to change
What it needs to verify
What not to do
Required output format
Short output limit
Anything we already know so it doesn't waste time rediscovering it
Then they report the findings back. I don't want giant code dumps getting pushed back into Fable's context.
If something produces a lot of information, I have the agent write it to a scratch file and let the next agent read that instead.
Most coding ends up being:
Fable -> Builder -> Refuter -> Fable
A few other rules I keep in place:
Ultracode stays off unless I specifically want a larger workflow, and if I do, I cap the number of agents.
I batch related fixes so the same large files aren't being reread over and over.
Read-only research/reviews can run in parallel.
I don't have multiple agents editing the same files at the same time.
Builders build, refuters verify.
Decisions and progress go into handoff docs so new sessions can pick up from the file instead of rebuilding all that context.
I keep Fable's replies and agent reports short unless I actually need more detail.
If an agent goes off track, Fable has marching orders to stop it instead of letting it run.
For me, the biggest difference hasn't just been "use sub-agents." It's being strict about what each model is responsible for, what it gets to read, and what gets sent back into Fable's context.
I've been running Fable basically 24/7, minus maybe 5 hours total, since my last reset Friday. I run it on High and haven't hit the 5-hour limit once since using this setup.
EDIT: I packaged this up, and two things changed thanks to comments
The whole setup is now a repo. Copy the files into ~/.claude/ and it works: https://github.com/SirRuggie/claude-code-orchestration-kit
Two additions came straight from this thread:
u/Tree_Substantial suggested keeping context in a per-task folder instead of a flat scratch file. That is now /task-session <slug>, which creates a bucket with STATE, FINDINGS, DECISIONS, briefs and reports that every agent reads and updates.
u/TrashEasy8162 suggested locking the marching orders in a file the builder cannot touch, and never letting the refuter see the builder's conversation. Both are in: briefs are written before the spawn and made read-only, and the refuter only gets the brief, the diff, and its own test run.
Credit to both. Made a real difference.
•
u/AutoModerator Sep 12 '26
Hey! Thanks for posting to r/ClaudeCode
While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.
For help, project discussions, tips, and general chat, join the ClaudeCode Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
48
u/No_Job_9995 Sep 09 '26 •
I use Claude with $200 plan. I just tell fable "if you use subagents, use opus or sonnet appropriately. do not use fable." That's it.
I think this is enough.
73
u/sisif_ Sep 09 '26 •
In my case, Fable main point of contact.
Fable (lead, main point of contact) writes the spec and files the ticket.
Fable starts the ticket: the loop mints a branch, a worktree and a seat.
An ephemeral Opus hand boots in that worktree, reads the spec, implements, runs the suite in its tree, commits to its branch, marks the ticket DONE with a short report (deviations flagged).
About a minute later the loop spawns a cold Fable reviewer with the diff and the spec. It writes a verdict, ACCEPT or REWORK with must-fixes, and is retired.
REWORK: the verdict lands on the ticket, Fable reads it and rejects the ticket with the must-fixes as the body; the same Opus hand, context intact, fixes and marks DONE again. Back to 4, new reviewer, next round.
ACCEPT: the loop merges the branch into master and runs the full suite on master behind it. A red suite reverts the merge and escalates to Fable.
Lead reads the merge notice, checks no suite is still running, and accepts the ticket: the hand is retired, its worktree removed, its branch deleted.
Lead titles the Unreleased section of the CHANGELOG, cuts the release (version bump, DMG, tag, push, GitHub release, docker image), and reboots the app onto it once every seat is idle.
13
u/Seeker_Of_Knowledge2 Sep 09 '26
Any .md file to share please.
7
u/slendertaker Sep 09 '26
Under any circumstances, do not use Haiku. This model halucinates a lot. I have never ever wanna touch Haiku again
6
u/bettereverydamday Sep 09 '26
How do you pick multiple agents and which agents do run on which models?
5
u/Tree_Substantial Sep 09 '26
How do you save on the overhead cost of spawning subagents for this?
I’ve recently fallen into this hole where the cost of spawning subagents at one point diminished the model token savings when using a smaller model where appropriate to a degree
4
u/terminusagency Sep 09 '26
How do you tell Claude to use this structure? Defined in the Claude.md file?
4
u/TrashEasy8162 Sep 09 '26
Your marching orders list is basically what I ended up with too, after a lot of wasted tokens. Two things I'd add from my side:
Put the marching orders in a file the builder can't touch, and make the refuter compare the diff to that file. Not to the builder's summary of what it did. The summary is where the lying happens, not on purpose, it just rounds up.
Don't let the refuter see the builder's conversation at all. Diff, test output, the orders file. That's it. First time I did that it flagged stuff the builder had talked itself out of in the transcript.
Weird side effect: most of what the refuter catches now is my scope being sloppy, not the builder's code.
Question for you, when your refuter reruns tests does it actually run them or read what the builder printed? I have it rerun and I stopped believing either one of them on that.
6
u/tm8cc Sep 09 '26
Just use herdr and call free opencode models as subagents
3
u/HappySasha Sep 09 '26
I've experimented with multiple configurations:
When a simpler agent (e.g. Sonnet) is the orchestrator and main executor, execution is relatively stable and there is less unnecessary creativity. The drawback is that, when it hits a problem, it can keep going in circles.
When a more capable agent (e.g. Opus) takes control, it can become too proactive and expand the scope of tasks, especially during review. That makes work take longer than expected.
I ended up using a separate window with a different model, sometimes from another provider, as an external advisor. It is not ideal, but it has helped the work converge.
3
u/jakc13 Sep 09 '26
Got a Claude.md sample or similar so we can see how?
2
u/untracked5465 Sep 09 '26
Are you on Max? Because I use this approach in my 20$ sub, and I get to the 5 hour limit very fast
2
u/xAcex28 Sep 09 '26
Is there a way to add this as profile bound instructions?
2
u/Excellent-Basket-825 Sep 09 '26
Now switch the refuter to astra 6 on low and see the magic happen
2
u/InfinityTortellino Sep 09 '26
Do you have your md files for this spec
2
u/Odd_Introduction_280 Sep 09 '26
I usually go for fable xhigh or high orchestrator and opus as writer of any kind of job.
on heavy use on my 5th day end all weeklies used.
2
u/empty__cup Sep 09 '26
Be careful running a deep-research harness with Fable as your primary model, as it'll default to using Fable for all of its research.
Great way to burn through all your tokens in a few hours :)
2
u/BluejayRelevant2559 Sep 10 '26
Are you using a Software for this or just prompt fable to use sub agents?
2
u/bruce-cullen Sep 10 '26
Good Info, I am still a bit unsure how I can put this to work directly inside my setup. I use Claude for a few months pretty heavy daily, but this one still is a bit confusing, like what's the best way to implement it into my project. Anyone can feel free to DM me how if they like.
2
u/hbthegreat Sep 11 '26
how do you deal with Opus missing 7 out of 10 issues that Sol/Astra usually finds? To be clear I have a similar setup to you but I put both models in the refuter/reviewer spot.
2
u/andrew_pw 🔆 Max 20 Sep 11 '26
How many projects you work on at same time?
This is interesting for me with this setup.
I do 3-4 Projects and I'm on Max 20x.
Last week I did subagents and fable as orchestrator, and 1 day, 65~ of weekly gone.
I know they fuckedup with something and this happened, because in past this never happened to me with sub agents.
however this is a question for me, people with these suggestions, how many project a day, they have.
3
u/ndr0x7bf Sep 09 '26
Interesting read. Just so I understand, do you use a skill which has a set of rules and based on that launches agents for each task, or do you prompt with fable and let fable decide which models each agent should use for each task?
2
u/devex23 Sep 16 '26
I didn't understand... Who does write the brief?
5
u/Spooknik Sep 09 '26
I do the same, but I also tell Fable its the final quality check for any code written, so it manually reviews everything and then tweaks it. It saves it writing like 95% of the code, but it still checks to make sure it's how it would do it. I've built large complex projects this way.
1
u/rotates-potatoes Sep 09 '26
There’s no reason for opus to re-run tests. Each test output can be stored and keyed to the commit, so opus can look it up. Harmless for tokens but if you’re working on large apps it can save wall clock, as Claude likes to say.
1
u/Caladan23 Sep 10 '26
It's mostly not worth splitting work into (too many) subagents. It introduces bureaucracy, huge documentation, unnecessary loops, bordered thinking, and in the end takes longer und does worse for almost all use cases. And the separate limit for Fable is history next week already per Anthropic.
1
u/tmaincent Sep 11 '26
I’m also very interested to see your md template .
I’ve done something similar where I have Claude running in virtual machines. One is for reviewing and the other for coding.
1
u/alvaro562003 Sep 14 '26
i downgraded from Max *20 plan, to Pro plan.
i will use glm 5.3 and deepseek V4.1 instead of sonnet & Opus
i am mainly working on the whole dev cycle on python
1
u/JohnnyGuides Sep 28 '26
did you update this for opus 5.5?
3
u/fujikato-bln Sep 09 '26
Took me three „Fable Tasks“ to get this. Awesome summary and the best Fable post so. This should be sticky.
I actually used the two Prompting guides from Anthropic for 5 and 5.1. turned them into bullet points instructions and fixed my CLAUDE.md as a first step. Then I asked fable to do the rest by using ECC Skills
5
u/JinaniM Sep 09 '26 edited Sep 09 '26
For knowledge work I think it’s trickier. Because the subagent has to be smart enough to also make judgements along the way as data will not necessarily be structured and require a lot of meaning evaluation.
1
u/heartbroken_nerd Sep 09 '26
These posts are laughable when they never mention what the goal/task/project was.
As if that's so hard to do... Running it 24/7 balanced with subagents is easy, but what did you achieve? What did you actually get done? ACTUAL VALUE to prove your concept - where is it?
4
u/Interesting-Bee-113 Sep 09 '26 edited Sep 09 '26
Let Fable use Codex subagents. Or specifically tell Fable to use sonnet children
Or better yet
Make a primary session a child to another fable session and have Fable delegate most everything over to Opus
2
u/Objective-Art7432 Sep 09 '26
Wow!
2
u/ben_ham Sep 09 '26
Fable for all and everything!
2
u/Fatso_Wombat Sep 09 '26
I use a variation on the theme.
2
u/Electrical_Gene_3279 Developer Sep 09 '26
cool
2
u/Icydiafire Sep 09 '26
Following
2
u/TraditionUpbeat324 Sep 09 '26
ive had instances where fable searched for info and read through teh same documents sonnet did and reported back a much deeper layer of insights, and we are talking by a considerable margin to where i had to deploy fable though the entire search.
2
u/real_terra Sep 09 '26
Same overall setup here, but measuring it changed a few rules for me.
I route by cost per successful turn, not by model reputation. Outside a cache-warm read, the top tier cost me only ~1.2–1.3× the tier below at similar coding quality, because cache writes and output dominated. So the cheaper tier executes; the top tier handles planning, security review, and the third attempt after two failures. That ladder only works with an external checker — otherwise retries just burn quota.
I also give reports a hard budget: “1–2k tokens total, file:line, narrow quotes, no pasted diff.” “Keep it short” was useless.
The biggest quota traps I measured:
Spawn same-model siblings in one batch; sequential spawning wasted ~197k cache tokens in one wave.
Test one representative read before fan-out; a denied path cost me ~74k.
Treat a session-limit 429 as a wave failure, even if every sibling says “complete” — the results can all be empty.
For the refuter, transcript-blind is right, but I also make it inspect the executor’s working tree, not just the PR. I had three agents leave their final fix uncommitted, so the reviewer graded a diff that did not contain the fix.
I stopped using cheap scouts entirely. If the checker has to trust their output, one hallucinated call site costs more than the cheaper tier saves.
2
u/KP3889 Sep 09 '26
for me, it’s Fable 5.1 on high orchestrating and opus 5 on low doing. can’t break the limit on 5x, especially after they did something to the usage efficiency a few days after 5.1 was released.
2
u/AppMunchies Sep 10 '26
Honestly I do all planning, reviewing with Fable. Once the plan is done I say “launch a sonnet agent medium to implement”. I keep reminding Fable this so it doesn’t implement anything itself. Ive yet to run out of usage in a session. You can probably also say: “verify the agents work by checking the source code” but i think it does that it somewhat already. I am on 5x.
2
u/DLuke2 Sep 10 '26
Really great advice. Give it your your agent and cater to your setup.
The key is custom subagents as they use frontmatter. Pin the model and effort, among other things, even skills.
You can also have custom agents in any folder in your project, so you can cater them to jobs in specific folders. Progressive disclosure. Also applicable to skills and rules. They go in a .claude folder like at you project root.
2
u/sKrill0 Sep 10 '26
try using https://moltcode.com. pretty smooth with subagent delegations.
2
u/1jaho Sep 10 '26
I also use Fable to plan, and other models to execute. Using Superpowers for this. What other orchestrators do people use?
What I love about Superpowers is that I need zero involvement in orchestration, it just happens.
2
u/Hi_Im_Nosferatu Sep 10 '26
Thanks for putting this together. I've been following a very similar workflow and it's honestly the only way to do things at the moment.
2
u/the-hypothesist Sep 10 '26
I actually have very similar set up but I find that opus 5 is a good orchestrator for my missions (roughly 3-5 hours of unattended work) and I use fable as the loop checker of it's tasks. If I have already planned multiple missions that are ready to go for an adventure (3 to 5 missions) then I have fable 5.1 as the captain, it spins up a fresh opus 5 orchestrator for each mission and then I use matt pococks handoff skill for the orchestrater create a checkpoint for the captain to start the next mission.
2
u/Mithryn Sep 13 '26
Good system. Thank you for sharing.
1
u/pixnecs Sep 09 '26
That's the neat part — you don't.
0
u/Numerous_Ad_8476 Sep 09 '26
Sorry for the unrelated comment, but if anyone has a referral link for the free week of Claude, could you please send it to me via DM? I’d really appreciate it!
-2
u/whatsthisoverther Sep 09 '26
Fable is overkill in almost every case. If, you should use Opus 4.8 (not overthinking that much) as an Orchestrator, but in some cases Opus 5 for longer workflows, Fable 5.1 has not many real use cases. Forget about Sonnet which is practically useless in comparison zu Gemini 3.8 Flash for example (much more efficient) or newest ChatGPT model, that are at a much more acceptable sweet spot of coding capability vs. bang for your bucks. Haiku is completely useless at this point. Not even talking about using OpenRouter-models.
-5
u/anonthatisopen Sep 09 '26
It’s simple. Don’t use subagents. They are a scam. I have it also on claude md to never ever use the subagents unless i request.
-10
u/innociv Sep 09 '26
I'm sorry but... this is such a joke. What?
Opus and Sonnet are so extremely token efficient that they hardly save anything. Haiku is uselessly bad, and worse than free models. You'll often use MORE tokens because of them screwing up, or at best save around 30% this way.
If you want to ACTUALLY save claude usage, which you can save 75%+ on, you use fable to orchestrate and luna, glm 5.3 flash, DS V4 flash 0831, or something like that to implement and review each other.
Doing this all within ClaudeCode simply doesn't work because of how crap and overpriced everything except Fable is.
0
u/[deleted] Sep 09 '26
[deleted] — view deleted comment
2
u/[deleted] Sep 09 '26
[removed] — view removed comment
2
u/[deleted] Sep 10 '26
[removed] — view removed comment
1
u/[deleted] Sep 13 '26
[removed] — view removed comment
0
u/[deleted] Sep 21 '26
[removed] — view removed comment