
Description
npm run dev fails, or runs while your browser shows something else? Port 5000 is quietly taken by macOS AirPlay, port 3000 by a dev server you forgot, and lsof gives you one line of noise. DevCheck is a menu bar tool that shows who holds each port, which project it belongs to and what to do about it.
No sudo, no telemetry, a scan takes a few seconds. The menu bar and CLI follow your system language.
Port map:each TCP listener mapped to its process, executable and owning project (found by walking up to package.json, go.mod, .git and so on).
The why command:devcheck why 5000 explains in plain words, for example that AirPlay Receiver holds it and you can turn it off or use 5001.
Health rules:duplicate listeners, fake-alive listeners that accept but never answer, and runaway CPU are flagged.
Noise filtering:GUI apps and system daemons are hidden by default; add --all to see everything.
One-click fixes:open the localhost address, copy it, reveal in Finder, or send SIGTERM to the process.
Install:brew install --cask iihao/tap/devcheck; needs macOS 14 or later.
No sudo, no telemetry, a scan takes a few seconds. The menu bar and CLI follow your system language.
Features
Port map:each TCP listener mapped to its process, executable and owning project (found by walking up to package.json, go.mod, .git and so on).
The why command:devcheck why 5000 explains in plain words, for example that AirPlay Receiver holds it and you can turn it off or use 5001.
Health rules:duplicate listeners, fake-alive listeners that accept but never answer, and runaway CPU are flagged.
Noise filtering:GUI apps and system daemons are hidden by default; add --all to see everything.
One-click fixes:open the localhost address, copy it, reveal in Finder, or send SIGTERM to the process.
Install:brew install --cask iihao/tap/devcheck; needs macOS 14 or later.
