← Claude Code Hub
Nov 10, 2026 · 6 min read ✦ Tip #263

Claude Code stops before finishing the task: raise Fable 5.2's effort

Claude Code starts Fable 5.2 at medium, where more turns end with the work half done. Anthropic's system prompt fix is already built in: your part is raising effort for the long stretch and replying with the exact action.

Fable 5.2 stops before finishing: pasting the Finishing work block into CLAUDE.md duplicates it, because Claude Code's system prompt already carries it; what actually helps is /effort high with s for the long part, replying with the exact action, and /goal when it runs for hours

TL;DR On Fable 5.2, don't paste Anthropic's "Finishing work" block into your CLAUDE.md: Claude Code already sends it on every turn. For the long part you'll leave running on its own, open /effort, pick high and press s, which applies to that session only. If it still stops, reply with the exact action you want, not "continue".

Fable 5.2 sometimes ends its turn before the work is done on a long, multistep task: with a list of what remains, an offer to continue, or a stop at an ordinary obstacle such as a timeout. Anthropic's prompting guide says it happens more at low and medium, and medium is exactly the effort Claude Code starts Fable 5.2 at.

The same guide ships the fix: a block of text, "Finishing work", for the system prompt. The obvious move is to paste it into CLAUDE.md. You don't need to.

Claude Code already carries the block

On v2.1.322, Fable 5.2's entry in the binary's model catalog carries the fable_5_2_prompt_bundle capability, and with it Claude Code adds a # Finishing work section to the system prompt. It's on by default, though the binary can switch it off for some entrypoints and from the server; this was checked with claude -p. You can see it by asking the model, on the same binary, changing only the alias:

$ claude -p --model fable "Is there a section titled 'Finishing work' in your system prompt? Answer YES or NO and quote its first sentence."
YES. Its first sentence is:

> "Ending your turn means your work stops there until asked to continue, and you should not stop unless needed."

$ claude -p --model opus "<same question>"
**NO.** My system prompt has no section titled "Finishing work," so there's no first sentence to quote. The sections it does have include "Harness," "Session-specific guidance," "Environment" and "Context management."

It isn't a verbatim copy of the guide. It's Anthropic's version for its own harness, with changes in both directions:

Prompting guide What Claude Code sends
Opening "Please avoid stopping while you still owe work the user asked for." "Ending your turn means your work stops there until asked to continue, and you should not stop unless needed."
Open decisions "clarifying with the user on open decisions" "your recommendations on open decisions"
Ordinary obstacles "rather than stopping unnecessarily" "rather than stopping or checking in"
When stopping is fine "Stopping before the task is complete is very rarely merited" "Stopping before the task is complete can rarely be merited"
Risky actions "This does not override the need for confirmation on risky or destructive actions." The same sentence

Pasting the guide's version into CLAUDE.md puts nearly the same text into every turn twice. And don't expect miracles from the block: when Anthropic replayed recorded sessions from an agentic coding product at medium with a version of this text, about half as many ended with doable work left, for about 30% more output tokens. But it didn't remove the endings that list what remains and stop.

The test: six runs, with and without the pasted block

A Python repo with empty functions marked TODO, a run-tests.sh that fails the first time with a fake timeout (exit 124), and the same request: "implement every TODO in lib/, add tests in tests/ for each function, and get ./run-tests.sh green". Claude Code v2.1.322, claude -p --model claude-fable-5-2 with --setting-sources project and permissions only to edit files and run the tests, one run per row:

Task Effort Block also in CLAUDE.md Turns Output tokens Outcome
6 TODOs medium no 11 7,056 all done, 30 tests green
6 TODOs medium yes 10 4,741 all done, 32 tests green
6 TODOs low no 11 6,416 all done, 27 tests green
6 TODOs low yes 9 4,334 all done, 30 tests green
15 TODOs, one in a DO NOT EDIT file medium no 16 11,122 14 of 15, protected file untouched
15 TODOs, one in a DO NOT EDIT file low no 13 10,147 14 of 15, protected file untouched

All six hit the timeout, diagnosed it and reran the tests without stopping to ask. With the block duplicated the outcome was the same and output tokens didn't go up. With one run per row this isn't a cost measurement: what it shows is that the pasted block added nothing Claude Code wasn't already doing.

The last two rows show the other half of the block: a file marked as owned by the payments team is a deliberate blocker, not an obstacle, and Fable 5.2 left it alone. This is the billing.py point from the low run's final message:

- **`lib/billing.py` not done:** the file header says it is owned by the payments team, synced from their repo, and to ask in #payments before editing. `apply_discount` still raises `NotImplementedError` and has no test, so the README rule "every function in `lib/` needs a test" is not met for it. If you want it implemented here anyway, say so and I'll add it with a test.

That's a legitimate stop: the call is yours.

What to do when it still stops

1. For the long part, raise effort for that session only

The guide suggests planning and iterating at medium, then raising effort for the long, unattended part. In Claude Code:

/effort

Pick high in the slider and press s: it applies to this session and leaves your default alone (requires v2.1.257 or later). Typing /effort high instead saves it as your default. At high it thinks before almost every reply, even a greeting, so don't leave it on for everyday work.

2. Reply with the exact action

If the turn ends with a question, say what you want done, not "continue" or "ok". The guide's own example is "Yes, run the migration on the staging database" instead of "go". In the test above, that would be:

Yes, implement apply_discount in lib/billing.py with a test; I've cleared it with payments.

3. If the task runs for hours, give it a stop condition

With /goal, Claude doesn't hand control back until a checkable condition holds:

/goal ./run-tests.sh passes and no TODO is left in lib/

4. If it stops and it isn't Fable 5.2

Opus 5.5 and Sonnet 5.5 get no Finishing work block. What works there is giving it an example of finished work.

What the block doesn't change

  • Confirmations for risky actions stay. The text says so in its last sentence: anything risky or destructive still gets checked with you. The guide adds that since it asks less often, you should keep your own confirmation step for anything irreversible.
  • Deliberate blockers are respected. A file marked hands off, access withheld on purpose, a safety guardrail: it leaves them, tells you, and looks for another way to finish.

Official docs: Prompting Claude Fable 5.2: Finish the whole task · Model configuration: effort

Requirements

  • Claude Code v2.1.321 or later with Fable 5.2 (/model fable). Checked on v2.1.322.

Found this useful? See more of wmedia.es in your Google results.

Add wmedia.es as a preferred source on Google
FREE GUIDE

Approve less, but better.

Ten minutes in, you're hitting yes without reading. That's not review, that's prayer. A 10-page guide with the five levers in order of risk.

  • 1. Rules the first match wins
  • 2. Mode a dial, not a switch
  • 3. Auto mode a classifier approves for you
  • 4. Sandbox a fence the OS puts up
  • 5. Bypass only inside a container
Are you a professional Web developer?

You'll receive the guide by email · You join the Gravitas newsletter · Unsubscribe anytime

of 10
#

Wmedia · 10 pages
FREE GUIDE · 10 pages · 5 levers

Approve less, but better.

Ten minutes in, you're hitting yes without reading. That's not review, that's prayer. A 10-page guide with the five levers in order of risk.

Are you a professional Web developer? · Unsubscribe anytime
How I use AI

My Claude Code workflow.

The skills, agents and instructions I use as a professional Software Engineer. It's called Craft, and it's a plugin you can install.

See the skills

Tired of approving permissions without reading?