Claude Fable 5 refused mid-tool-call on 11 of 44 coding-agent turns in our eval, on tasks as mundane as fixing a config default. The refusal arrives as stop_reason: "refusal" partway through generating the tool arguments, the truncated arguments still parse as valid JSON, and an agent loop that executes tool calls without checking the stop reason will happily write a half-finished file to disk. That behavior, not the price tag, is the first thing to engineer around when you put Fable 5 in an agent.
TL;DR
Claude Fable 5 returned stop_reason: "refusal" mid-tool-call on mundane agent tasks (a config-default fix, a meeting-room booking); the truncated write_file arguments still parsed, so a loop that doesn't check the stop reason executes half-written files.
Fable 5's thinking is adaptive, with no off switch: enabled and disabled are both rejected; the control is output_config.effort.
Fable 5's cost premium is shape-dependent: a four-turn coding task ran $0.045 vs $0.003 on glm-5.2 (15x), but only 5x sonnet-5 on warm batch work.










