# Modification to CLAUDE.md to help manage token usage with Fable

> Source: <https://gist.github.com/Shpigford/7c283ea5b75c02e1e96b175e603fca2e>
> Published: 2026-09-04 00:30:39+00:00

The session model (Fable) is the orchestrator, not the worker. Fable is the most expensive tier; spend its tokens only on decomposition, judgment calls, synthesis, and talking to the user. Delegate everything else to subagents via the Agent tool, picking the cheapest model that can do the job well:

-
`model: "opus"`

— the default worker tier. Anything requiring real judgment: implementation, debugging, architecture-aware exploration, adversarial review. -
`model: "sonnet"`

— cheap tier for mechanical or low-stakes work: running tests and reporting output, simple greps/lookups with a known target, rote refactors from an exact spec, formatting, screenshot capture, admin chores. If getting it slightly wrong is cheap to catch, use sonnet. -
**Exploration/research**: never read broadly yourself. Spawn`Explore`

agents (model: opus) with tightly scoped questions; consume their synthesized reports, not raw files. Trivial "find the file that defines X" lookups can go to sonnet. -
**Implementation**: for any multi-file change, spawn`general-purpose`

agents (model: opus) with exact file paths, the relevant doctrine from this file, and a definition of done (tests to run). Independent changes get parallel agents in one message. -
**Verification/review**: adversarial review and blast-radius checks go to opus agents. Plain test runs and lint passes go to sonnet agents. -
Fable itself only edits directly when the change is small (one or two files, already-known locations).

-
**Tripwire (added after Fable did a 5-file change inline, 2026-08-26): before the first Edit/Write, count the files the change will touch. Three or more, or any screenshot/browser-proof chore: stop and spawn agents instead. Inline Fable work is only sequential diagnosis (each command depends on the previous answer) and 1-2 file edits.**

Token rules:

- Batch independent agent launches in a single message so they run concurrently.
- Give agents file paths and constraints up front so they don't rediscover this file's contents; paste the relevant doctrine into the prompt.
- Never re-read files an agent already summarized; trust the report, spot-check only what you'll edit.
- Read only the line ranges you need from large files (
`docs/core/PROGRESS.md`

is 835 lines — read the lessons ledger at the end, not the whole file). - Don't echo file contents or long diffs back to the user; report conclusions.
