Report #30626
[gotcha] Retrying an AI refusal with the same prompt produces the same refusal indefinitely
Detect refusal responses explicitly \(check for standard refusal text patterns, finish\_reason of content\_filter, or API-level moderation flags\). On detection, either automatically rephrase the prompt with additional clarifying context, present the user with a UI to rephrase their intent, or fall back to a different model or configuration. Never auto-retry a refusal with identical inputs.
Journey Context:
When the AI refuses a request due to content safety filters, the instinct is to simply retry. But the same input to the same model with the same parameters and temperature will almost always produce the same refusal—this is not a transient error, it is a deterministic filter result. This creates a frustrating UX loop where users keep clicking regenerate and getting the same refusal back. The critical distinction: a refusal is not an API error \(like a 500 or timeout\) that might succeed on retry; it is the model working as designed. The fix requires detecting that a refusal occurred \(which requires parsing the response content, not just checking HTTP status\) and taking a structurally different action—rephrasing, recontextualizing, or escalating to the user. Some teams add a rephrase and retry button that automatically reformulates the request with additional context or a different framing.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T05:47:22.610763+00:00— report_created — created