A minimal macOS menu bar app to monitor, name, and kill Node.js processes running on localhost ports.
- Lives in your menu bar with an active port counter
- Auto-scans for Node.js processes listening on TCP ports every 3 seconds
- Open any port directly in your browser
- Assign custom names to ports (e.g. "API Backend", "React App")
- Kill processes with confirmation (graceful SIGTERM, then SIGKILL)
- Port names persist between sessions
- Lightweight (~270 lines of Swift, zero dependencies)
Requires Xcode Command Line Tools and macOS 13+:
git clone https://github.com/HugoluizMTB/PortPilot.git
cd PortPilot
swift build -c release
mkdir -p PortPilot.app/Contents/MacOS
cp .build/release/PortPilot PortPilot.app/Contents/MacOS/
cp Info.plist PortPilot.app/Contents/
cp -r PortPilot.app /Applications/open /Applications/PortPilot.app- Click the network icon in your menu bar
- See all active Node.js ports at a glance
- Hover over a port to:
- Open in Browser — opens
http://localhost:<port> - Set Name — give it a friendly label
- Kill Process — stop the process (with confirmation)
- Open in Browser — opens
- Press ⌘R to manually refresh
- macOS 13.0 (Ventura) or later
Pull requests are welcome. For major changes, please open an issue first.