Vitals 1.11 is for developers. The Projects tab is now a Developer tab, with five sections along the top: Projects, Ports, Open Files, Containers and Homebrew. It came out yesterday.
If you haven’t used it, Vitals is an Activity Monitor alternative for Mac. It groups every process under the app it belongs to, so you see about 60 apps instead of 1,000 processes. I wrote about why I built it when it came out.
Why a Developer tab
A day of work leaves a lot running. Dev servers from three projects, a database Homebrew started at login, the tool servers a coding agent brought up and never closed. Each holds a port and some memory, and most of them have names like node and python.
Vitals already showed projects and containers. 1.11 puts everything a developer runs in one place, and answers the questions you’d otherwise ask Terminal: what is on this port, why won’t this disk eject, and what have I installed and never used.
Nothing is stopped, quit or uninstalled until you say so.
Every dev server, under the project it belongs to

Projects lists every process under the project it was started in, with its ports, its CPU and its memory. Each project also names the app that started it, such as Terminal or Codex. That turned out to matter: a team trying Vitals found that a project they had closed in the Codex app was still running, and its processes were Codex’s.
Open a project to see each process under its parent, so a dev server’s chain of node under node folds into one line. A dev server that has sat idle for days is pointed out, with Stop It… and what stopping it frees.
See which app is using a port on your Mac

Ports lists every port something on the Mac is listening on, grouped by your projects, idle dev servers, Homebrew services, and apps and macOS. Each row names what holds the port, where it runs from and how long it has been running.
Each one also says who can reach it. This Mac means only programs on this Mac can connect. Network means other devices on your network can, which is worth knowing about a dev server you started on a café’s Wi‑Fi.
Open in Browser opens the port at localhost, and Quit stops what holds it, after asking. A range held by one program, such as 24015 to 24034, is one row instead of twenty. The dev servers and ports page walks through each part.
Find what is keeping a disk from ejecting
macOS tells you a disk is in use. It doesn’t tell you by what. (If you’d rather do it in Terminal, I wrote up what to do when a Mac can’t eject a disk, with and without Vitals.)

Open Files shows every disk as a card: how full it is, how many files are open on it, and In Use or Ready to Eject. Under it are the apps holding it, with the files each one has open and which are open for writing.
Click Eject on a disk that’s in use and Vitals names the apps it would quit and asks. Say yes, and it quits them the way ⌘Q does, ejects the disk and tells you it’s safe to unplug. An app with unsaved work can still ask you to save.
To find one file, press ⌘F and type part of its name. Whatever has it open is listed, on any disk, which also answers the Trash saying an item is in use. There’s more on that in how to find which app is using a file on Mac.
Find the Homebrew packages you never use

If you’re new to Homebrew, start with how to install and use it. In Vitals, Homebrew lists the packages you installed by name, each with its version, its size on disk and when Vitals last saw one of its programs run. Not Seen Running gathers the ones you installed and never used, with the space they take together.
- Updates shows the installed version beside the new one, 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… removes them.
- Include dependencies adds the packages others need, each with what needs it.

Services lists every Homebrew service with whether it’s running, whether it starts when you log in and whether it runs as root, with Start, Stop and Restart.
Vitals only reads what brew reports. It runs a brew command when you click one, and each asks first.
From the menu bar

The dropdown has a Developer tab too, with Projects, Ports and Containers. Ports other devices can reach come first, an idle dev server carries a moon, and a click on a row opens it in the window.
Stuck commands and idle terminals
A command a coding agent starts sometimes hangs, and the agent waits on it without saying so. When one has used no CPU and no disk for ten minutes, its session is marked stuck in the Agents tab, with Quit beside the command. A dev server or a tool server the agent started is never counted as stuck.
Terminal windows left open with nothing running, and nothing typed for an hour, are listed under Projects as idle terminals, with End on each.
Also in 1.11
- Memory Report. An app’s export menu writes a folder to Downloads for the app’s developer: its memory now and at its highest, by the hour and the day, each of its processes, a chart, and the figures as CSV. Vitals sends nothing; the folder is yours to attach to a bug report.
- Export on every tab. Save as Image or Copy Image, from the toolbar of any tab.
- Settings → Readings. Switches for Read Temperatures and Fans, Read Containers and Watch for Idle Dev Servers, for a Mac where another app runs the fans or one that never uses Docker.
- Less memory after long use. Memory left behind each time you changed tabs is now freed.
In Terminal and for your AI assistant
The vitals command has the new sections too, as a table or as JSON with --json:
vitals ports
vitals files
vitals homebrew --not-seen
vitals homebrew --updates
Claude, Codex and Cursor can ask about ports, open files and Homebrew through Vitals’ MCP server, with three new tools, each with its own switch in Settings → Integrations. So you can ask “what is on port 3000, and can other devices reach it?” or “what is keeping my external disk from ejecting?”. An assistant that checks the ports first can use the dev server that’s already running instead of starting another one.
Which Macs does it work on?
Any Mac on Apple silicon or Intel running macOS 15 Sequoia or later. In Open Files, files held by macOS itself, such as Spotlight’s index, need Full System Metrics turned on in Settings → Permissions.
How to get it
The update is free for everyone who owns Vitals. In Vitals, choose Check for Updates. New to Vitals? Get it for Mac, or try it free for 3 days first. There’s a page for the release with a step-by-step for each part.