aiux
PatternsPatternsCoursesCoursesNewsNewsResourcesResourcesSavedSaved
Previous: Responsible AI DesignNext: Collaborative AI
Trustworthy & Reliable AI

Error Recovery & Graceful Degradation

Fail gracefully with clear recovery paths when things go wrong.

What is Error Recovery & Graceful Degradation?

Error Recovery & Graceful Degradation ensures systems fail gracefully with clear recovery paths instead of confusing errors. Instead of cryptic messages, the AI acknowledges limitations, explains issues, and offers next steps. It's critical for maintaining trust in production systems where failures have consequences. Examples include ChatGPT admitting uncertainty, Google Translate offering alternatives, or voice assistants suggesting different approaches when misunderstanding.

Problem

AI systems inevitably make mistakes or encounter unhandleable situations, potentially frustrating users.

Solution

Design graceful degradation and clear recovery paths to maintain user trust when AI fails.

Real-World Error Recovery & Graceful Degradation Examples

Implementation

When to use Error Recovery & Graceful Degradation, and when it backfires

Use it when

  • The failure is something the user can act on: retry with a change, rephrase, switch modes, or escalate. A recovery path only matters when there is a path.
  • Failures are expected and consequential: production AI will hit ambiguity, timeouts, and unsupported requests, where a raw error breaks trust.
  • The system can degrade partially instead of failing wholesale: a cached answer, a simpler fallback, or a partial result with the gap flagged.

Don't, or minimize, when

  • The 'error' is really a normal state you're dressing up. Inventing a recovery flow for something that should just work hides a bug instead of fixing it.
  • The failure is silent and safe and the user has nothing to do. A modal apologizing for something invisible just manufactures anxiety.
  • You're catching the error only to show a friendlier message while swallowing the real failure. A prettier dead-end is still a dead-end.

The trap

The dead-end apology: a polite 'Something went wrong, please try again' with no diagnosis, no alternative, and nothing different on retry. It feels considerate but leaves the user exactly as stuck, and 'try again' on an unchanged input just reproduces the failure. Empathy without a path is theater.

Take it into your own product

  1. 1

    Every error needs an exit, not just an apology.

    'Something went wrong' is where bad UIs stop. The useful move is the next action: retry with a change, switch modes, use a partial result, or reach a human. An error message with no path is a dead-end with manners.

  2. 2

    Degrade, don't collapse.

    When the best answer isn't available, return the next-best one: a cached result, a simpler model, a partial answer with the gap flagged, instead of failing wholesale. Partial and honest beats nothing, as long as you don't pass it off as the full answer.

  3. 3

    Say what happened in the user's terms.

    A stack trace or 'Error 500' just transfers your problem to the user. Name the issue in their language and, where you can, why, so they can actually decide what to do next. Keep the technical detail in your logs.

  4. 4

    Make 'try again' actually different.

    Retry on an unchanged input only reproduces the failure. Either change something (rephrase, adjust, route differently) or tell the user what to change. A button that repeats the same error is a trap dressed as a lifeline.

  5. 5

    Catch the error, don't swallow it.

    A friendlier message that hides the real failure from your logs is worse than the raw error: the user is still stuck and now you're blind to it. Recover gracefully on screen and surface the truth to monitoring.

Apply with Claude Code

Add Error Recovery & Graceful Degradation to your product

Copy the prompt below into Claude Code or Cursor in your repo. It encodes the four moves on the left and asks Claude to find your AI decision surfaces and update them. Claude reports what it changed and asks before adding dependencies.

30-second check

Check if your product already has this pattern

Upload a screenshot. We'll tell you which of the 36 patterns your AI interface uses and where the gaps are.

Audit My Design

More in Trustworthy & Reliable AI

Explainable AI (XAI)

Make AI decisions understandable via visualizations, explanations, and transparent reasoning.

Responsible AI Design

Prioritize fairness, transparency, and accountability throughout AI lifecycle.

Safe Exploration

Provide sandbox environments for experimenting with AI without risk.

Practice in Courses

Claude Code

Claude Code Course for Designers

23 lessons — free course

GitHub

GitHub Course for Designers

10 lessons — free course

Want More Patterns Like This?

Daily AI UX news and new pattern breakdowns, straight to your inbox. Unsubscribe anytime.

Daily AIUX news. Unsubscribe anytime.

Previous PatternResponsible AI DesignNext PatternCollaborative AI

aiux

AI UX patterns from shipped products. Demos, code, and real examples.

Have an idea? Share feedback

Get daily AI UX news

Services

  • Audit my product
  • Request an audit

Resources

  • All Patterns
  • Browse Categories
  • Contribute
  • AI Interaction Toolkit
  • Agent Readability Audit
  • Newsletter
  • Documentation
  • Figma Make Prompts
  • Designer Guides
  • Design System
  • All Resources →

Company

  • About Us
  • Privacy Policy
  • Terms of Service
  • Contact

Links

  • Portfolio
  • GitHub
  • LinkedIn
  • More Resources

Copyright © 2026 All Rights Reserved.

Used by:
ChatGPT
ChatGPT
GitHub
GitHub
Grammarly
Grammarly

Error Recovery & Graceful Degradation

Comprehensive demo showcasing error recovery patterns including network failures, API errors, timeouts, state preservation, retry logic, and graceful degradation to basic functionality when AI services fail.

Toggle to code view to see the implementation details.