> When Claude Fable 5 declines a request, the Messages API returns stop_reason: "refusal" as a successful HTTP 200 response, not an error
This is precisely what comes to mind when I think “successful”.
Is refusal something that can happen mid-stream, after status and headers have been received? I haven't looked at the API
A missed opportunity to use the HTTP 451 status code.
https://en.wikipedia.org/wiki/HTTP_451