A lightweight macOS menu bar app that monitors active TCP listening processes. See which ports are in use, what's using them, and kill processes with a click.
Built for the situation where vibe-coding across projects leaves orphaned dev servers squatting on ports.
- Lives in the menu bar (no Dock icon)
- Lists all TCP listening processes with port, command, PID, uptime, and working directory
- Dev Servers filter for the common ranges (3000s, 4000s, 5000s, 8000s, 9000s)
- Search/filter by port, command, or PID
- Kill or force-kill processes
- Open ports in browser or copy the localhost URL
- Open the process's working directory in Finder
- Menu bar icon flashes when ports change; turns orange for unfamiliar processes
- Right-click the icon for Open at Login, About, Quit
- Auto-refreshes every 5 seconds
- Download
PortWatcher.zipfrom the latest release - Double-click to unzip
- Drag
PortWatcher.appto/Applications - Launch from Spotlight or Applications
The build is signed and notarized by GreenFlux, LLC — no Gatekeeper warnings, no xattr workarounds.
brew tap GreenFlux/tap
brew install --cask port-watcherRequires Xcode 15+ and macOS 14+.
git clone https://github.com/GreenFlux/port-watcher.git
cd port-watcher
make installOther targets: make run, make uninstall, make clean.
Port Watcher needs to read other processes' working directories to show where each dev server was launched from. macOS gates this behind Full Disk Access:
- Open System Settings → Privacy & Security → Full Disk Access
- Toggle on Port Watcher
Without it, the app still works but the cwd column shows Unknown for processes outside your shell environment.
- macOS 14 (Sonoma) or later
- Apple Silicon (M1 or later)
Issues and pull requests welcome. For build/release internals, see docs/RELEASING.md.
MIT — see LICENSE.
Made by GreenFlux, LLC