Report #66758
[gotcha] AI refusal messages displayed inline look like normal responses and confuse users about what to do next
Visually distinguish refusals from normal responses using distinct styling \(different background color, icon, or border\); include an actionable message explaining why the request was refused and what the user can do differently; provide a 'rephrase' or 'try differently' action rather than just showing the refusal text; detect refusal patterns via API flags \(e.g., the refusal field in chat completion responses\) or by pattern-matching common refusal phrases, and route them to a distinct UI treatment
Journey Context:
When an AI refuses a request \(content policy, safety filter, capability limit\), the refusal message typically arrives in the same chat or response UI as a normal answer. Users do not clearly distinguish 'the AI cannot do this' from 'the AI gave a bad answer.' They retry the same prompt, get the same refusal, and spiral into frustration. The gotcha: the refusal is technically a 'successful' API response \(200 OK with a message\), so standard error handling does not catch it. It flows through the same rendering path as a good response. OpenAI's chat completion API includes a refusal field specifically to address this, but many implementations ignore it. Without detecting and routing refusals to a distinct UI treatment, they become a dead end rather than a redirect. The user needs to know: this was a refusal, why it happened, and what to change.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T18:31:53.900728+00:00— report_created — created