Error States
The most dangerous AI error is one the user does not notice. Silent failures — hung states, incomplete responses with no indication they are incomplete — erode trust in ways that explicit failures do not.
Problem
Silent failures are the most consistent design gap in the audit. The hung generation state — where the streaming indicator continues with no differentiation between active generation and a frozen one — was observed in four of six products. No product escalates from a generation indicator to a distinct error state.
Prescription
Four requirements: visibility (every failure produces a visible signal), specificity (error messages identify what went wrong at an actionable level), input preservation (prompt never cleared during any error), recovery path (every error state has a clear next action). Four error types with distinct visual treatment and copy.
Design decisions
Watchdog threshold: 8s standard, expandable to 30s for known heavy tasks via backend flag. Error message specificity vs. accuracy — when genuinely unknown, honest vagueness beats fabricated specificity. Minimum viable implementation: input preservation + single retry CTA satisfies the baseline before the full taxonomy.
Tradeoffs
Hung state escalation risks false positives on slow but functional responses. Differentiated visual taxonomy increases implementation surface area. Auto-retry behavior on network errors must handle the case where the connection is still down.
Pattern definition
Problem
Silent failures are the most consistent design gap in the audit. The hung generation state — where the streaming indicator continues with no differentiation between active generation and a frozen one — was observed in four of six products. No product escalates from a generation indicator to a distinct error state.
Prescription
Four requirements: visibility (every failure produces a visible signal), specificity (error messages identify what went wrong at an actionable level), input preservation (prompt never cleared during any error), recovery path (every error state has a clear next action). Four error types with distinct visual treatment and copy.
Design decisions
Watchdog threshold: 8s standard, expandable to 30s for known heavy tasks via backend flag. Error message specificity vs. accuracy — when genuinely unknown, honest vagueness beats fabricated specificity. Minimum viable implementation: input preservation + single retry CTA satisfies the baseline before the full taxonomy.
Tradeoffs
Hung state escalation risks false positives on slow but functional responses. Differentiated visual taxonomy increases implementation surface area. Auto-retry behavior on network errors must handle the case where the connection is still down.
Interactive demo
Audit finding
The hung generation state — where the streaming indicator continues with no visual distinction between active generation and a frozen one — was observed in Claude, ChatGPT, Gemini, and Perplexity. In every case the interface communicated nothing to the user about the failure. No product escalated to an explicit error state. Claude's network error message was the strongest observed: it identified what happened, preserved the input, and provided a clear recovery path.
All states
Generation stalled
The response stopped mid-stream. Your prompt has been preserved. Recovery: Resume generation / Copy partial output.
Connection lost
Your network connection dropped. Retrying automatically in 5s. Recovery: Retry now / Copy prompt.
Context length exceeded
The conversation exceeds the current processing window. Trim the oldest messages to continue. Recovery: Auto-trim and resubmit.
Content policy
This request triggers a system safety block. Edit your prompt to continue. Recovery: Edit prompt / View guidelines.