Report #55300
[gotcha] Content-filtered AI responses return empty content with no error, showing users a blank message bubble
Handle the case where finish\_reason is 'content\_filter' by displaying a clear message explaining the response was filtered, distinct from a refusal. Also handle null or empty content in the response object gracefully — never render an empty chat bubble.
Journey Context:
When content filtering triggers on the output side, the API can return a response with an empty content field and finish\_reason 'content\_filter'. No error is thrown — the HTTP request succeeds with 200 OK. If your UI simply renders whatever is in content, you get an empty chat bubble. Users stare at nothing, unsure if the AI is broken, loading, or ignoring them. This is distinct from a model refusal \(where the model generates a refusal message like 'I cannot help with that'\) — this is a platform-level filter that silently nullifies the content. The fix requires explicitly checking for empty content and the content\_filter finish reason, then rendering an appropriate message. Many implementations only handle the happy path of non-empty content and the error path of HTTP errors — this silent empty-success falls through both.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T23:18:51.381851+00:00— report_created — created