# Homebrew status

> Is Homebrew down? Live status, uptime history, and per-region response times from our own probes, for a project that publishes no status page.

Published: 2026-09-01 | Canonical: https://yoping.me/status/homebrew

## How we check Homebrew

We watch brew.sh from all five of our probe regions, every 2 minutes. A region that sees a failure does not make this page say "down" on its own: a second region has to agree first, the same confirmation rule every YoPingMe monitor uses.

We watch the project's own site, which is what the install script is fetched from and the one host that is unambiguously Homebrew's. The packages themselves are served from GitHub, so a broken brew install is more often a GitHub problem than a brew.sh one, and this page says so rather than implying we measure something we do not.

The live board - the current verdict, 24-hour, 7-day, and 30-day uptime, and per-region response times - is on the HTML page at https://yoping.me/status/homebrew. Those numbers change too fast to repeat honestly in a static mirror, so where an answer below says "the board above", it means that page.

## What is Homebrew?

Homebrew is the package manager most developers on macOS use, and it has
a growing presence on Linux as well. It installs the tools that sit
underneath everyone's daily work, and it does so as a volunteer-run open
source project rather than a company, which shapes both how it behaves
and where to look when it stops behaving.

The distinguishing fact about Homebrew's availability is that most of it
is not Homebrew's. Formulae live in git repositories on GitHub, and the
prebuilt binaries known as bottles are distributed through GitHub's
package infrastructure. When brew update hangs or an install fails
partway through a download, the request that failed was almost certainly
a GitHub request. This is why this page carries no link to an official
Homebrew status page: there is not one, and the honest pointer during an
incident is GitHub's.

Rate limiting follows from the same arrangement and is the most common
cause of trouble that gets called an outage. Unauthenticated requests to
GitHub are limited by IP address, and a shared address makes that limit
arrive far sooner than the numbers imply. A CI provider running many jobs
from a pool of addresses, or an office behind one gateway, can exhaust
the allowance without any individual doing much at all. The result is not
a server failure, it is a polite refusal, and the fix is authenticating
rather than waiting.

The blast radius is narrower than the frustration suggests. Software
already installed keeps working, because nothing at runtime consults
Homebrew about it. What stops is changing anything: installing a new
tool, upgrading an existing one, or running a setup script on a fresh
machine. On a laptop that is an annoyance. In CI, where a pipeline may
install dependencies through brew on every run, it is a broken build, and
it is worth caching those installs for exactly that reason.

The wider point is one worth stating plainly rather than treating as a
criticism. A great deal of professional software development rests on
volunteer-maintained infrastructure with no service level agreement, no
operations team, and no obligation to anyone. That arrangement works
remarkably well, and it is fragile in ways that are easy to ignore until
a Tuesday morning when nothing installs. Knowing where the real
dependency sits, which for Homebrew is GitHub, is most of what you can
usefully do about it.

## Frequently asked questions

### Is Homebrew down right now?

Check the board above; it reflects our own probes against brew.sh from all five of our regions. Bear in mind that Homebrew's packages are distributed through GitHub, so brew.sh being reachable does not guarantee that brew install will work.

### brew update or brew install is failing. Where is the actual problem?

Check GitHub's status first, because that is where Homebrew's formulae and prebuilt bottles live. A failure downloading a bottle, a git error while updating the formula repositories, or a timeout partway through an install usually points at GitHub rather than at anything under brew.sh. The error message names the host it was talking to, which settles it immediately.

### Why does Homebrew not have a status page?

Because it is a volunteer-run open source project rather than a company selling uptime, and it does not operate the infrastructure most likely to fail. The parts that go down belong to GitHub, whose status page covers them. This is a reasonable arrangement and it does leave a gap, which is part of why an independent outside check is worth having.

### I am getting rate limited by brew. What does that mean?

It means GitHub is limiting the requests, not Homebrew. Formula updates and bottle downloads are GitHub requests, and unauthenticated ones are limited per IP address, which office networks and CI runners reach much faster than an individual would. Authenticating raises the limit, and on CI it is close to a requirement rather than an optimisation.

### Does a Homebrew outage affect software I already installed?

No. Packages installed on your machine keep working, because nothing at runtime contacts Homebrew or GitHub to check them. What stops is installing, updating, or upgrading anything, which matters most in CI pipelines and in setup scripts for new machines.
