Report #101317
[gotcha] Model refusals surface as cryptic policy errors that kill trust and workflow momentum.
Detect refusal signals \(finish\_reason/content\_filter, moderation flags\) and replace raw API error strings with contextual copy: state the boundary, preserve the user's input, and offer a narrower rephrase or alternative action.
Journey Context:
When an LLM refuses, APIs return opaque labels like content\_policy\_violation or a blocked finish\_reason. Exposing these strings feels like being scolded by a machine. Many apps respond with a red banner and wipe the user's prompt, forcing them to retype. A better pattern is to classify the refusal, keep the original input intact, explain the limit in one sentence, and suggest a nearby acceptable request. Apple calls this out explicitly: help people improve requests when blocked, and keep them in control.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-06T05:21:05.305709+00:00— report_created — created