ErrorState

A quiet failure banner with a retry path, not a modal in your face.

Install it:

npx shadcn add @ambientui/error-state

Live

Generation stopped

Behavior

  • ·Sits in the transcript where the answer would have been: a failed generation is a turn that did not work, not a system-level event.
  • ·States what happened and offers the single move that helps. No stack traces, no error codes the user cannot act on.
  • ·Wears --destructive over --destructive-wash, the system's status pair — never a bespoke red.
  • ·role="alert", so a failure reaches a screen reader without the user going looking for it.

When to use

  • ·A generation that stopped, timed out, or hit a limit.
  • ·Any failure where retrying is genuinely the right next step.

When not to

  • ·For a failed tool call inside an otherwise fine answer — that is ToolFailure, which is scoped to the call.
  • ·For validation or empty states; a failure claim should be reserved for actual failures.