Answer

Claude Fable 5 400 Errors

The four request fields that newly return 400 on Fable 5 — and the one-line fix for each.

Guide current as of June 11, 2026. Fable 5 is included on Pro/Max/Team plans through June 22; usage credits apply after. Latest news →

FableGuide › 400 Errors

Most Fable 5 400 invalid_request_error responses come from four removed fields: sampling parameters (temperature/top_p/top_k), thinking budgets, assistant prefills, and an explicit thinking: disabled. To disable thinking you omit the thinking field — you do not send disabled.

Why does temperature return a 400?
The sampling parameters temperature, top_p, and top_k were removed on Fable 5 — sending any of them returns a 400. Fix: delete the parameter and steer the model with prompting instead. (Same on Opus 4.8 and 4.7.)
Why does the thinking budget_tokens return a 400?
Thinking budgets were removed. thinking: {type: "enabled", budget_tokens: N} returns a 400. Thinking is always on and adaptive. Fix: omit the thinking field (or send thinking: {type: "adaptive"}) and control depth with output_config.effortlow through max.
How do I disable thinking?
You cannot — thinking is always on. To run without configuring it, OMIT the thinking field entirely. Sending thinking: {type: "disabled"} returns a 400 on Fable 5 (that value is accepted on Opus 4.8 and 4.7, but not here). Fix: leave the field out.
Why do assistant prefills return a 400?
Last-assistant-turn prefills are not supported and return a 400. Fix: use structured outputs via output_config.format to force a response shape, or move the instruction into the system prompt.

Two more 400s that are not request-field problems: an organization set to zero data retention (Fable 5 requires 30-day retention) returns a 400 on every request, and a date-suffixed model ID like claude-fable-5-20260609 returns a 404 — the ID is the bare claude-fable-5. Copy-paste migration recipes are in the Cookbook.

Moral: Fable 5 took away the dials and left you prompting. If a field 400s, the fix is almost always to delete it — not to find the new spelling.