Loading live status…
Loading live status…
Claude reports on six surfaces — claude.ai, the API, the Console, Claude Code, Cowork and Gov — and its incidents are usually scoped to one model rather than to all of them. How to read that page, and the five failures that look like an outage and are not.
The fastest answer is the Claude status page on isuptime, which reads Anthropic's own feed every few minutes and says what it currently reports.
The more useful answer is that Claude incidents are almost never "Claude is down". They are one surface, or one model, and the status page is built to say which.
Six components, each with its own status:
| Component | What breaks when it does |
|---|---|
| claude.ai | The chat app. The API can be perfectly healthy while this is not |
| Claude API (api.anthropic.com) | Everything you built. The one that matters if you ship on Claude |
| Claude Console (platform.claude.com) | Keys, billing, usage dashboards — your app keeps running without it |
| Claude Code | The CLI and its agentic sessions, which sit on top of the API |
| Claude Cowork | The collaborative surface |
| Claude for Government | A separately operated deployment |
The dependency worth noticing: Claude Code is a client of the API. An API incident takes Claude Code with it, and the reverse is not true. If Claude Code is failing while the API component is green, look at your own environment — auth, network, version — before you look at Anthropic.
This is the part that surprises people. Read the recent incident titles: "Degraded performance for Claude Opus 5 and Claude Haiku 4.5", "Elevated errors for Claude Fable 5", "Degraded performance for Claude Opus 5, Claude Sonnet 5", "Elevated errors on Google connectors".
Different models run on different capacity. One can be degraded while another is entirely fine, which means the most effective mitigation during a Claude incident is usually not waiting — it is changing the model string. If Opus is throwing errors and Sonnet is not, a one-line config change gets you working again, and it is available to anyone whose code does not hardcode a single model in twelve places.
That is a design decision you make before the incident, not during it.
Both look like failure. They call for opposite responses.
The failure mode to avoid is the retry loop that treats every error identically and hammers a struggling service — the thundering herd that turns a five-minute wobble into a long one for everybody.
These account for most of the times the status page is green and you are still stuck.
1. Streaming cut by your own infrastructure. Long responses are long-lived connections, and proxies, load balancers and serverless function timeouts kill those on a schedule. A response that always dies at the same elapsed time is being cut by something with a stopwatch, and that something is usually yours.
2. Context window, not capacity. A request that exceeds the model's context is a hard error regardless of how healthy anything is. It shows up the day a document got longer or a conversation got deeper — and it never appears on a status page.
3. Credits and organisation limits. Exhausted credit, a spend cap, an expired key or a per-organisation limit produces a clean rejection that has nothing to do with service health.
4. A model name that moved. Model ids get deprecated. Pinning to one forever means one day the request is for something that no longer exists, and the failure is permanent rather than transient.
5. Connectors and tools. Anthropic's own incident list includes "Elevated errors on Google connectors" — a failure in something Claude reaches out to, not in Claude. If a tool call is what is failing, the question is whose tool.
A decision procedure that resolves this quickly:
That last step is most of why isuptime reads 102 status pages on one schedule rather than one at a time. Shared timing across unrelated providers is real evidence of a common cause. It is never proof of one.
Model APIs fail differently from databases. They rarely go hard down and frequently go slow, and slow is the case most code handles worst: no timeout, no fallback, a queue that grows until something upstream gives up.
The preparation that pays for itself is unglamorous. Put the model id in configuration rather than in code, so switching is a deploy and not a refactor. Set a timeout that reflects a real user's patience rather than the default. Decide in advance what a degraded answer looks like — a cached response, a smaller model, an honest "try again in a minute" — because the alternative is deciding it at the worst possible time.
Live Claude status on isuptime is read from Anthropic's own public feed on a fixed schedule and shows what Claude is currently reporting, with the timestamp of the check. It is not an independent test of whether Claude works for you — here is exactly what it can and cannot tell you.
Checked continuously against each provider's own status feed.