Report #60531
[gotcha] Surfacing raw AI refusal and apology messages creates UX dead ends
Never display raw API refusal messages like 'I'm sorry, I can't help with that.' Instead, intercept refusals \(check finish\_reason, empty content, or the refusal field in API responses\) and map them to actionable UI states: show what the user CAN do, offer alternative phrasings, or explain the limitation in product-native language with a path forward.
Journey Context:
When the AI refuses a request \(content policy, capability limit, etc.\), the default behavior is to return an apology string. Surfacing this directly in your product feels broken — it's the AI's voice, not your product's voice, and it offers no path forward. Users hit a dead end and churn. The fix requires intercepting refusals at the API level and translating them into your product's UX language. This is extra work but critical: a refusal without an alternative action is a churn moment. Many teams only discover this after shipping and seeing support tickets about 'the AI being unhelpful.'
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:05:26.777772+00:00— report_created — created