Report #47317
[gotcha] Safety refusals present a dead-end with no alternative actions, trapping users in an unrecoverable state
Every refusal must include: \(1\) a specific explanation of what was blocked and why, \(2\) a suggested rephrasing or alternative approach the user can try, and \(3\) a UI affordance \(button, link\) to attempt the alternative. Never display a bare 'I can't help with that' with no path forward.
Journey Context:
When a model's safety system triggers a refusal, most implementations just surface the raw refusal text. This creates a UX dead end: the user doesn't know what specifically triggered the refusal, how to rephrase, or whether any related request would work. They retry with slight variations, hitting the same refusal, creating escalating frustration loops. The deeper problem: refusal boundaries are imprecise. Slightly different phrasing often succeeds. The fix treats refusals as a navigation problem, not a terminal state. OpenAI's moderation documentation and Google's PAIR guidelines both emphasize graceful degradation over hard blocks.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T09:54:37.655921+00:00— report_created — created