Rules verified July 27, 2026

Fable 5 prompt migrator

Prompts written for Opus 4.8 mostly still work on Fable 5. The ones that do not fail in two specific ways: a 400 from the API, or a silent handoff to Opus 4.8 that returns HTTP 200 and reads like a normal answer.

The two failure modes

The first is a hard error. Non-default temperature, top_p or top_k values return 400, so do fixed thinking budgets set through budget_tokens, and assistant prefill has been unsupported since Claude 4.6 — none of these are Fable 5 quirks, they arrived with Opus 4.7 and 4.6, but a prompt untouched since then will meet them now. The second is quieter: asking the model to show its work or narrate its reasoning trips the reasoning_extraction classifier, and the request is answered by Opus 4.8 with HTTP 200 and stop_reason set to refusal. Your error handling will not see it. Check stop_reason on every response.

Check a prompt

What this checker does not know

It matches text patterns, so it will miss a rule phrased in a way we did not anticipate and will occasionally flag a harmless sentence that reads like one. It cannot tell you whether a given prompt will actually trigger a fallback — the classifier is not public, stop_details.category can come back as cyber, bio, reasoning_extraction, frontier_llm or general_harms, and both the category and the explanation can be null, so even a real fallback may not tell you why. It checks nothing about output quality. The only reliable test is to send the prompt, read stop_reason, and count how often it comes back as refusal.

Instrument before you migrate

Log stop_reason and stop_details.category on every response for a day. A fallback rate you can see is a problem you can fix; the default is an invoice that quietly includes Opus 4.8 answers you thought came from Fable 5.

Frequently asked questions