Model status
Degraded, outage or maintenance notice for a model or provider, with when it started, a link to the status page and a switch to a model that works.
On this page
A notice above the composer with the status page and a switch to a model that works.
Installation
Usage
import { ModelStatus, ModelStatusDot } from "@/components/ui/chatcn/model-status"
<ModelStatus
status="degraded"
model="Opus 4.1"
time="Since 14:05"
message="Responses may take longer or stop partway."
statusUrl="https://status.example.com"
fallbackModel="Sonnet 4.5"
onSwitchModel={() => setModel("sonnet-4-5")}
/>
<ModelStatusDot status="degraded" />Examples
States
Degraded, outage, maintenance and resolved, plus status dots.
Props
| Prop | Type | Notes |
|---|---|---|
status | "operational" | "degraded" | "outage" | "maintenance" | operational is the resolved state |
model | string | Used in the headline |
message, time, title | ReactNode | |
statusUrl | string | View status, in a new tab |
fallbackModel, onSwitchModel | Use {fallbackModel} | |
onDismiss | () => void |
Accessibility
- An outage is an
alert; everything else is astatus. The external link says it opens in a new tab. - Status colors appear only as a small icon or dot, always next to a word.
Motion
- The notice settles 4 px and fades in over 200 ms; the icon swaps with the blur crossfade when the status changes.
- The dot never pulses.