Report #55969
[gotcha] AI safety refusals render as blank or broken UI because API returns 200 OK with empty content
Explicitly parse the finish\_reason \(e.g., stop vs content\_filter\) in the API response object. If content\_filter, render a specific, graceful inline UI message explaining the limitation, rather than relying on HTTP status codes or empty string checks.
Journey Context:
Developers check for HTTP 200 to indicate success and non-empty string to indicate content. When an AI refuses due to safety filters, the API often returns 200 OK with an empty content field and a specific finish\_reason. Failing to parse this results in the UI rendering an empty chat bubble, confusing the user who thinks the app broke, rather than understanding a boundary was hit.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T00:26:19.438818+00:00— report_created — created