claude-down

is claude down (again) (yes). booga check, you no cry.
claude no work? maybe you. maybe anthropic. (probably anthropic.) booga look two
place same time:
- status.claude.com — what anthropic admit to.
- Downdetector — what everyone else screaming about, usually first.
or just watch the page
no install, no terminal. page poll itself, you stare:
https://claude-down.kjanat.dev/
or pop it from the cli:
claude-down web
claude-down site
get booga
run direct, no install:
bunx claude-down status
npx -y claude-down status
or keep forever:
bun install -g claude-down
npm install -g claude-down
fresh builds (every commit)
every push + PR get published to pkg.pr.new. bot drop the url in the PR. run
any sha:
bunx https://pkg.pr.new/kjanat/claude-down@<sha> status
how use
words for human
status give indicator, lil description, details from both place.
claude-down status
words for robot
json for your scripts and your little monitoring guys.
claude-down status --json
no words, just number
exit code always tell truth (see the numbers), output or not.
slap -q/--quiet in CI when you only care about number.
claude-down status -q
pick your place
default check uses Anthropic and Downdetector. use subcommand or --source;
--source eat commas and repeats. Downdetector may report unavailable if
Cloudflare challenge automated checks.
claude-down anthropic
claude-down downdetector
claude-down status --source anthropic
claude-down status -s downdetector
claude-down status --source anthropic,downdetector
claude-down status -s anthropic -s downdetector
pick your model
only show incident/component that name model you care about. summary AND exit
code shrink to just those. like --source, --model eat commas and repeats,
and every model got shortcut flag.
claude-down status --opus --sonnet
claude-down status --model opus,sonnet
claude-down status -m opus -m sonnet
models: opus, haiku, sonnet, mythos, fable.
use in browser
browser-safe door, anthropic only (downdetector need real chromium, no work in
browser).
import { checkAnthropic } from "claude-down/browser";
const result = await checkAnthropic();
if (result.kind === "ok") {
console.log(result.summary.status.description);
console.log(result.summary.status.indicator);
console.log(result.summary.incidents);
console.log(result.summary.components);
} else {
console.error(result.reason);
}
the numbers
exit code = how bad. set every run (not just --quiet), worst source win.
| 0 | all good | everything work. go back to your life. |
| 1 | meh | minor thing, or anthropic got live incident. |
| 2 | cooked | major/critical outage, or downdetector say claude down. |
| 21 | who knows | every source booga try was unreachable. |
source booga no reach = unknown, NOT down. 21 only when EVERY source dead, so
one flaky downdetector scrape no ruin your day.
who do all this
booga no write flag parser. booga no write --help, tab-complete, json mode,
exit codes. all that dreamcli. booga just point at anthropic and shitpost.
you want make own CLI look this clean? → dreamcli
hack on it
bun install
bun run build
bun test
license
MIT © 2026 Kaj Kowalski