# Everything Homebrew installed, and what you never use.

Canonical page: https://vitalsmac.com/features/homebrew

Vitals asks Homebrew what it has installed on your Mac and shows every package with its size, the update waiting and when one of its programs last ran. The ones never seen running are listed with the space they take, the services have Start and Stop, and nothing runs until you confirm the brew command.

## Packages: Every package, with its size and when it last ran.

The formulae and casks you asked for by name, each with what it is, its version, its size on disk and when Vitals last saw one of its programs run. Dependencies are a switch away, each with what needs it.

- Formulae and casks
- Size on disk, every version counted
- Running now, Today, This week, This month
- Dependencies, with what needs each

## Unused: The packages you installed and never ran.

Not Seen Running lists the packages Vitals has never seen run, with the space they take together. Uninstall is there for a package nothing else needs, and it runs brew uninstall after you confirm.

- Not seen running, with the space they take
- Uninstall, for what nothing else needs
- Needed by, for the rest
- Runs brew uninstall, and says so

## Services: brew services, with Start, Stop and Restart.

Every Homebrew service with whether it is running, whether it starts when you log in and whether it runs as root. Start, Stop and Restart run brew services, and a service's ports are in the Ports section.

- Running, stopped, or stopped with an error
- Starts when you log in, or not
- Started with sudo, runs as root
- Its ports in the Ports section

## Updates: Updates waiting, and what a cleanup frees.

A package with a newer version says which, with Upgrade on each and Upgrade All for the lot. Can Be Freed is what Homebrew's old versions and downloads take, and Clean Up runs brew cleanup.

- The version installed, and the new one
- Upgrade one, or Upgrade All
- Old versions and downloads, with their size
- A running service restarts on the new version

## Why it matters: homebrew on a Mac

Homebrew is how most developers install their tools, and it only ever grows. A formula tried once two years ago is still there with its dependencies, a database installed for one project still starts at every login, and every upgrade leaves the old version behind.

brew list names them. It does not say which ones you use, how much space each takes or which service is running right now. Each of those is a different command.

Homebrew, a section of Vitals' Developer tab, puts them in one place: every package with its size and when it last ran, the ones never seen running, the updates waiting, the services with Start and Stop, and what a cleanup would free. Every change is a brew command, run after you confirm it.

## How to use it

1. **Open the Developer tab and choose Homebrew.** Vitals asks brew what is installed, which takes a second or two, and shows the packages you asked for by name with their sizes.
2. **See what you never use.** Not Seen Running lists the packages Vitals has never seen run, with the space they take. Uninstall one after a confirmation.
3. **Check the services.** Each service says whether it is running and whether it starts when you log in. Stop one you do not need, and it stays stopped until you start it again.
4. **Upgrade and clean up.** Upgrade one package or all of them, then run a cleanup to remove the old versions and downloads Homebrew kept.

## Compared with Activity Monitor

| | Activity Monitor | Vitals |
| --- | --- | --- |
| Installed packages | Not shown; brew list in Terminal | Listed, with what each is |
| Size | Not shown | Per package, every version counted |
| Last used | Not shown | When Vitals last saw it run |
| Services | Processes only | Running or not, with Start, Stop and Restart |
| Cleanup | Not shown; brew cleanup -n in Terminal | What it frees, and a button to run it |

## The words behind it

- [launchd](https://vitalsmac.com/glossary/launchd): launchd is the first process macOS starts at boot, with process ID 1.
- [Listening port](https://vitalsmac.com/glossary/listening-port): A listening port is a network port where a process is waiting for incoming connections, such as a web server on port 3000.
- [PID](https://vitalsmac.com/glossary/pid): A PID, or process ID, is a number macOS assigns to each running process to identify it.

## Questions

### How does Vitals know when a package last ran?

From its own usage history. When a program that a package installed is running, Vitals notes it, so each package says Running now, Today, This week, This month, Over a month ago or Not seen running. A command that finishes within a second is seldom caught.

### Does Vitals change anything by itself?

No. Upgrade, Uninstall, Clean Up and the service buttons each run a brew command, after a confirmation that says which one.

### Does it show casks too?

Yes. Formulae and casks are both listed.

### What about dependencies?

The list starts with what you asked for by name. Turn on Include dependencies to see the libraries other packages pulled in, each with what needs it.

### Can it uninstall a package that others need?

No. Uninstall is offered for a package nothing else needs. The rest say what needs them.

### Does it manage brew services?

Yes. Each service shows whether it is running, whether it starts when you log in and whether it was started with sudo, with Start, Stop and Restart.

### How much does a cleanup free?

Vitals asks Homebrew, which keeps the versions an upgrade replaced and the files it downloaded. The figure is under Can Be Freed, and Clean Up runs brew cleanup.

### Can my assistant ask what is installed?

Yes. Over MCP an assistant can ask what is installed, what has an update and what has not been seen running, and `vitals homebrew` answers the same in the terminal.

## Read on

- [Why is my Mac so slow? How to find the cause, and fix it](https://vitalsmac.com/why-is-my-mac-so-slow)
- [Vitals vs Activity Monitor](https://vitalsmac.com/vs/activity-monitor)

## More of Vitals

Every feature is at [vitalsmac.com/features](https://vitalsmac.com/features). Vitals is paid once, with a year of updates or every update for life: [pricing](https://vitalsmac.com/pricing).
