🧠 Overplanning—when the model thinks too much
🧠 Imagine it this way: a brilliant intern, when given more time and autonomy, sometimes uses that time to research context nobody asked for, revisit decisions already made, or “just double-check” something obvious again. The overplanning in Fable 5, it's this same tendency — and it shows up precisely because the model is capable enough that it can't "turn off" its reasoning early.
Claude Fable 5 has much more reasoning capacity than previous models: it can maintain an instruction for days, review entire systems and cross-reference dozens of files before changing a single line. That same capacity, applied to a task routine, becomes wasteful—the model researches more than it needs to, deliberates over alternatives that don’t matter, and takes longer to actually start acting.
This isn't a hidden flaw: it's a direct side effect of effort high, which is the default. With high effort, the right behavior for a difficult problem becomes overkill for a simple task—and Fable 5 runs at high effort by default.
📚 Official quote—doc "Prompting Claude Fable 5"
About why this happens specifically in routine work under high effort:
"On routine work at higher effort, Claude Fable 5 can gather context and deliberate beyond what the task needs..."
In one sentence: the stronger the model, the more it needs explicit instructions to know when to stop thinking and start acting.
🟢 The official anti-overplanning prompt: “Let it act”
🎯 The central idea
The antidote to overplanning isn’t asking it to “be faster” (too vague for the model to act on) — it’s saying exactly when stopping is mandatory. Anything that doesn't meet this criterion, Fable 5 should simply do without pausing.
- •Destructive or irreversible action → stop and ask
- •A real change in scope → stop and ask
- •Information only the user has → stop and ask
- •Anything else → act, and end the turn with work, not a promise
Notice what the official prompt does NOT do: it doesn't list behaviors ("don't ask before reading a file," "don't ask before running a test"...). It gives a criterion — destructive/irreversible actions, a real scope change, or information only the user knows—and let the model apply that criterion to any new situation. It’s the same logic as “explain why” (module 1.2), turned inward: the “why” behind when to stop.
Goal: stop waiting for approval for every reversible micro-decision (reading a file, running a test, creating a branch, refactoring within the requested scope) and pause only when it’s truly necessary.
Pause for the user only when the work genuinely requires them: a destructive or irreversible action, a real scope change, or input that only they can provide. If you hit one of these, ask and end the turn, rather than ending on a promise.
Pause for the user only when the work truly requires it: a destructive or irreversible action, a real change in scope, or information only they can provide. If you encounter one of these cases, ask and end the turn—instead of ending with a promise.
How to check: paste the English version (the official one) into the CLAUDE.md or in the project system prompt. In the next sessions, watch whether Fable 5 carries out reversible steps (reading, testing, creating a branch) directly—and whether it ONLY stops when an action is actually destructive/irreversible, changes the scope, or depends on something only you know. If it stops asking “can I continue?” in the middle of routine tasks, the prompt is working.
✓ What to DO
- ✓Let the model finish its turn with a real result (a changed file, a test run)
- ✓Trusting reversible actions (reading, testing, branching, linting)
- ✓Reserve pauses for destructive or irreversible actions, scope changes, or user decisions
✗ What to AVOID
- ✗Ask for confirmation before every file read or test run
- ✗Ending the turn with a promise ("I'll do X now") instead of a result
- ✗Treating every change as if it were irreversible "just to be safe"
In one sentence: pause only when the action is destructive, changes the scope, or depends on the user—for everything else, proceed.
🗺️ Plan mode: when it’s still worth using
🧠 Imagine it this way: plan mode it’s the agent stopping to draw a map before moving. That makes sense in unfamiliar territory. It’s a waste of time when the path is already obvious—and topic 2 already handles the "obvious" without needing a map.
The common mistake is treating plan mode as a default habit — opening it for every task “just to be safe.” That reintroduces exactly the problem from topic 1: the model deliberates before acting, even when the task was already clear enough to just do.
The practical test is simple: is the task genuinely ambiguous (multiple reasonable paths; you can't know which one without deciding first), is large (touches dozens of files, changes the architecture) or may change the project’s direction? If so, plan mode is worth the pause. If not—which is true for most day-to-day tasks—letting it act (topic 2) is already the right answer.
Look at the diamond: it’s the only test that matters. If the answer is "no"—the most common case—Fable 5 should go straight to action, without opening plan mode out of habit.
✅ Plan mode is worth using
- ✓Truly ambiguous task: more than one reasonable path, needs a decision before touching code
- ✓Major change: dozens of files, migration, architecture overhaul
- ✓A decision that would be costly to undo if it goes wrong
⏸️ Just gets in the way
- ✗One-off bug fix, style adjustment, task with an obvious path
- ✗Anything topic 2 ("let it act") already covers on its own
- ✗Use plan mode "out of habit," without checking whether the task really requires it
A note from someone who uses this every day: it's not just course theory — several content creators who test AI agents as part of their work report the same adjustment: they stopped opening plan mode out of habit and started saving it for truly large or ambiguous tasks. The rest of the time (most of the time), "let it act" is enough on its own.
🔍 The problem with blind trust
🧠 Imagine it this way: you don’t trust a new colleague just because they said "I’m done"—you trust them after reviewing the pull request, running the test, and checking the result. It’s the same with an agent: "I’m done" is a claim, not a fact. The fact is the evidence behind it.
Letting the model act without stopping for every step (topic 2) is safe only if there’s proof at the end. Without that, “let it act” becomes “trust it blindly”—and the risk becomes the opposite of what you wanted: fewer pauses, but no guarantee that the reported work is real.
The “I’m done” report may be accurate, optimistic, or unintentionally fabricated—the model generalizes from what “should” have happened, not what actually happened in the tool. The only way to tell the difference is to audit the claim against concrete evidence from this session: a test result, a diff, a log.
Delegate the task
You ask, and the agent keeps executing (topic 2).
At this point, you still don’t know whether the work was done right—you only know it ran.
The agent says “I’m done”
A final report in text, optimistic by nature.
It’s a claim—it’s not proof of anything yet.
Without checking, would you already trust it?
With a new human colleague, the answer would be no.
With an agent, the instinct is to trust too quickly—exactly the blind spot this topic addresses.
Real trust = verified evidence
Topic 5 addresses this with an official prompt.
Only after seeing the test pass, the correct diff, and a clean log does the claim "I'm done" become a fact.
💡 Practical tip
Before accepting any “I’m done,” ask back: “point to the exact evidence from this session that confirms it” (a test output, a diff, a log). If the agent can’t point to anything concrete, that’s a sign the work still hasn’t been verified—even if it looks done in the text.
📋 The official verification prompt: "Prove it's finished"
This is the second official prompt in this module’s pair—and it closes the loop opened in topic 4. Instead of asking it to “be honest” (vague; the model already “thinks” it’s being honest), the prompt defines a audit procedure: every progress claim must point to a real result from this session before it is reported.
Goal: eliminate fabricated status reports—make the agent report only what it can prove with an actual tool output, and explicitly acknowledge what hasn’t been verified yet.
Before reporting progress, audit each claim against a tool result from this session. Only report work you can point to evidence for; if something is not yet verified, say so explicitly. Report outcomes faithfully: if tests fail, say so with the output; if a step was skipped, say that; when something is done and verified, state it plainly without hedging.
Antes de reportar progresso, audite cada alegação contra um resultado de ferramenta desta sessão. Só reporte o trabalho que você consegue apontar evidência; se algo ainda não foi verificado, diga isso explicitamente. Reporte os resultados com fidelidade: se os testes falharem, diga isso com a saída; se uma etapa foi pulada, diga que foi; quando algo estiver pronto e verificado, afirme isso claramente, sem hesitar.
How to check: paste the English version (the official one) into the CLAUDE.md or in the system prompt, alongside the prompt from topic 2. Give it a task with checkable steps (run the test suite, apply a diff) and review the final report: it should cite the exact result (e.g., “5 out of 5 tests passed, output: ...”) instead of a generic “everything works”—and it should explicitly acknowledge anything that wasn’t verified rather than omit it.
📊 Empirical result (Anthropic)
Anthropic itself tested this prompt on tasks deliberately designed to induce fabricated reports:
"In Anthropic's testing, this nearly eliminated fabricated status reports even on tasks designed to elicit them."
Follow the dashed cyan arrow looping back from “Report” to “Act”: that’s the loop repeating. No step jumps straight from “Act” to “Report” without going through the audit against the tool result.
🛡️ Verification by a subagent beats self-criticism
🧠 Imagine it this way: asking the same agent that wrote the code to review its own code is like asking the author of a text to be its only reviewer—it has already decided the work is good and tends to confirm its own choices. A subagent with fresh context doesn't have this bias: it only sees the specification and the evidence, not the story of who did the work.
For long tasks, checking your own work at every step is costly — but never checking lets errors accumulate until the end, when they’re more expensive to fix. The official solution is to combine both: a verification cadence defined in advance and delegated to a separate subagent.
Goal: establish a regular verification checkpoint for long tasks, handled by a subagent with fresh context instead of having the agent that built the solution evaluate its own work.
Establish a method for checking your own work at an interval of [X] as you build. Run this every [X interval], verifying your work with subagents against the specification.
Establish a method for checking your own work at an interval of [X] while you build. Run it every [interval X], checking your work with subagents against the specification.
How to check: replace [X] (in the English version, the one that should go in your prompt) with a concrete interval from your context (e.g., "every 3 modified files" or "every 20 minutes of agentic work") and paste it into the system prompt for a long task. Confirm that, at that interval, the agent actually launches a separate verification subagent — rather than simply reassuring itself that "everything is fine" — and that this subagent cites the original specification when pointing out discrepancies.
📚 Why the external verifier wins
Official quote (doc "Prompting Claude Fable 5"):
"Separate, fresh-context verifier subagents tend to outperform self-critique."
The reason is structural, not about the model “being stricter”: whoever wrote the solution carries all the reasoning behind the choices they made in their own context—and tends to reaffirm those choices instead of questioning them. A subagent that has never seen this reasoning, and sees only the specification and evidence, doesn’t inherit this confirmation bias.
⚠️ The risk of skipping this step
Without a fresh-context verifier, you rely only on the self-assessment of the same agent that did the work—the fox guarding the henhouse. Combined with topic 2 (“let it act”), this can accumulate wrong decisions over many steps before anyone notices. The checkpoint with a subagent is what makes it safe to let Fable 5 work for long periods without constant supervision.
In one sentence: set a review interval and delegate it to a fresh subagent — it’s naturally skeptical; the original author isn’t.
🧾 Module Summary
Next module:
1.5 — Say less, not more: why concise instructions guide Fable 5 better than exhaustive lists of behaviors.