Anthropic

Prompting Claude Fable 5

the controls Fable 5 gives you, and the ones it takes away

6 min readLarge Language ModelsLast updated:

Editorial collage: prompting Claude Fable 5, showing a marked-up system prompt, XML tags and an effort dial

Key facts

claude-fable-5pinned snapshot, not an alias
Model ID
1M tokensdefault, no beta header
Context
128k tokensper synchronous request
Max output
5low to max, high is default
Effort levels
512 tokenshalf Opus 4.8's floor
Cache minimum
$10 / $50per million tokens, in / out
Price

Fable 5 removes the knobs you are used to reaching for. Temperature, top_p and top_k all return errors, thinking cannot be turned off, and the assistant turn cannot be prefilled. What replaces them is one dial, output_config.effort, and a set of scoping instructions that stop the model expanding the job.

Anthropic ships a prompting page per model now, and the one for Claude Fable 5 is unusual in how much of it is about controls that no longer exist. Four parameters that worked on Opus 4.8 return an error here. What is left is a single dial and a writing discipline, and both reward being explicit.

Which knobs still work, and which now return a 400?

Temperature does not work. Neither does top_p nor top_k: Anthropic’s docs state that non-default values for any of the three “return a 400 error on every request, regardless of whether thinking is used”, and that applies to Fable 5, Mythos 5, Opus 5, Opus 4.8, Opus 4.7 and Sonnet 5. Prefilling the assistant turn errors too, as it did on Opus 4.8.

Thinking is the other one. Fable 5 has exactly one thinking mode, adaptive, and it is always on. Both thinking: {"type": "disabled"} and the manual budget form, thinking: {"type": "enabled", "budget_tokens": N}, return errors. There is no thinking budget to tune on this model.

What you still control:

Field Values Notes
output_config.effort low, medium, high, xhigh, max Default high; request-level, not per conversation
output_config.format JSON Schema Structured Outputs
max_tokens integer, up to 128,000 Hard cap on thinking plus visible text combined
stop_sequences array of strings Sets stop_reason to stop_sequence
thinking.display summarized, omitted What you see, not what you pay for
output_config.task_budget {type: "tokens", total: N} Beta, minimum 20,000, advisory not enforced

What does the effort parameter actually change?

Effort is the main trade-off control on Fable 5, and Anthropic’s own wording is that it “affects all tokens in the response, including: Text responses and explanations; Tool calls and function arguments; Thinking (when active)”. It is a behavioural signal rather than a budget: at low effort the model still thinks on genuinely hard problems, it just thinks less than it would at a higher level on the same problem.

Two details are easy to get wrong. Setting effort to high is documented as producing exactly the same behaviour as omitting the parameter, so passing it changes nothing. And effort is a request-level setting: change it between turns and you lose the cached prefix from the earlier turns, so a long cached session should pick one level and hold it.

Anthropic’s recommendation for Fable 5 is high as the default, xhigh for the most capability-sensitive work, and medium or low where latency and cost lead. Its migration note is worth reading before you copy an old configuration across: lower effort on Fable 5 “often exceed[s] xhigh performance on prior models”, so a workload that ran at xhigh on Opus 4.8 should start at high here.

Why does it keep doing more than you asked?

Because on an ambiguous task it keeps going, and Anthropic says so in its own guidance: Fable 5 “can gather context and deliberate beyond what the task needs”, and it “can occasionally take unrequested actions (drafting an email when none was asked for, creating defensive git-branch backups)”. The published fix for the first is an instruction rather than a stronger request: tell it that when it has enough information to act, it should act.

A rarer failure is worth guarding against in the same breath. Fable 5 “can occasionally end a turn with a text-only statement of intent (‘I’ll now run X’) without issuing the corresponding tool call”, which in an agent loop looks like progress and is not.

The most useful single instruction Anthropic publishes for this model is about honesty rather than scope. Telling the model to audit its progress claims against tool-call evidence “nearly eliminated fabricated status reports even on tasks designed to elicit them” in Anthropic’s own testing. On a long agentic run that is the difference between a report you can act on and one you have to check by hand.

For long-running or asynchronous agents, Anthropic recommends building a client-side send_to_user tool so the model can deliver verbatim user-facing text mid-task without ending its turn, and notes that defining the tool is what makes the behaviour available.

How should you lay out a million-token prompt?

Long material first, the question last. Anthropic’s long-context guidance puts documents and data near the top of the prompt, above the query, and says queries at the end can improve response quality. Wrap each document in <document> tags with <source> and <document_content> inside, indexed, and for retrieval-style work ask the model to pull relevant quotes into <quotes> tags before it answers.

Size is not the same as usefulness. The docs name the failure directly: “As token count grows, accuracy and recall degrade, a phenomenon known as context rot. This makes curating what’s in context just as important as how much space is available.” Everything counts towards the window, including tool definitions, tool results, images and the model’s own thinking, and Fable 5 keeps every prior turn’s thinking blocks in context by default rather than stripping all but the last, so a long conversation accumulates them.

Where the caching floor changes what is worth caching

Fable 5’s minimum cacheable prompt is 512 tokens, down from 1,024 on Opus 4.8, which is the lowest floor of any current Anthropic model along with Opus 5 and Mythos 5. Prompts that were previously too short to cache now qualify with no code change.

The mechanics: a cache_control: {"type": "ephemeral"} marker on a content block sets a breakpoint, ttl accepts "5m" (default) or "1h", and you get up to four breakpoints per request. Writes cost 1.25x the base input price at five minutes and 2x at an hour; reads cost 0.1x. On a $10 input price that is a read at $1 per million tokens, which is why a stable prefix is worth engineering around, and why varying effort mid-session is expensive in a way the parameter alone does not suggest.

Handle the refusal path, because it is a 200

A Fable 5 refusal arrives as a normal HTTP 200 with stop_reason: "refusal", not an error, and the stop_details object carries a category: cyber, bio, frontier_llm, reasoning_extraction, general_harms or null. Anthropic states you are not billed for a refusal that arrives before any output, while a mid-stream refusal bills the input and whatever was streamed.

The classifiers target offensive cybersecurity content, biology and life-sciences content, and attempts to extract the model’s summarised thinking. That last one has a practical consequence for prompt writing: instructing the model to echo, transcribe or explain its internal reasoning as visible text is the behaviour the classifier is looking for. Ask for a written explanation of the answer instead.

If you need continuity through a refusal, the server-side fallback beta lets you name up to three alternative models on the request. One documented trap: the fallbacks parameter does not propagate into model calls made inside tool execution, so sub-agents need their own configuration.

The eight things that error, in one place

  • thinking: {"type": "disabled"}
  • thinking: {"type": "enabled", "budget_tokens": N}
  • Any non-default temperature, top_p or top_k
  • Prefilling the assistant’s final turn
  • task_budget.total below 20,000 tokens
  • Forced tool use combined with manual extended thinking (not reachable on Fable 5, which has no manual mode)
  • Instructing the model to reproduce its internal reasoning verbatim (a refusal, not an error)
  • Changing effort inside a session you rely on caching for (silent cost, not an error)

Start it on the hard problem

Anthropic’s framing of its own model is the most actionable line on the page: “The teams seeing the best outcomes apply Claude Fable 5 to their hardest unsolved problems; testing it only on simpler workloads tends to undersell its capability range.” At $10 and $50 per million tokens, roughly double Opus 5, the economics agree. If a task runs acceptably on a cheaper model in the range, it should.