Report #61320
[gotcha] AI refusal message creates a UX dead end with no recovery path
When displaying refusals, always provide three things: \(1\) a plain-language explanation of why the request was refused, \(2\) a suggested rephrasing or alternative action the user can take, and \(3\) an active input field so the conversation continues. Distinguish hard refusals \(policy\) from soft refusals \(uncertainty\) and handle them differently.
Journey Context:
Raw refusal messages from model APIs are terse and unhelpful: 'I cannot assist with that request.' This creates a dead end — the user doesn't know why they were refused or what to do. Common mistakes: showing the raw API error text, disabling the input field after a refusal, or treating all refusals identically. The key distinction: hard refusals \(content policy violations\) need a clear boundary explanation; soft refusals \(model uncertainty, ambiguous request\) should auto-suggest clarifications. Some teams try to silently rephrase and retry on refusal, but this is dangerous — it can produce unexpected results and the user loses agency. The right pattern is transparency \+ escape hatch: tell the user what happened and give them a path forward.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T09:24:44.494592+00:00— report_created — created