跪拜 Guibai
← All articles
Frontend · macOS · VibeCoding

DevPilot Puts a Kill Switch for Orphaned Dev Ports in Your Mac Menu Bar

By 青椒肉丝_ ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

AI coding agents accelerate project starts but are terrible at cleanup, leaving bound ports that block subsequent runs. A menu bar utility that identifies the owning project and kills the process in one click removes a persistent friction that `lsof` workflows never solved.

Summary

AI coding agents routinely leave behind running dev servers on ports like 3000, 5173, and 8080 long after the terminal window closes. DevPilot, a new open-source macOS utility, lives in the menu bar and lists every listening port alongside its process name, PID, user, parent process, and project path. It filters out system noise by separating project services — Vite, Next.js, Node, Go, Python backends — from the full port table.

Right-clicking any entry kills the process immediately, replacing the manual `lsof -i :PORT` and `kill -9` loop. The project-path column answers the most common question when a port is mysteriously occupied: which repo actually started this. Installation is a single Homebrew cask command or a DMG download from GitHub Releases.

The tool targets a workflow pain point that got worse as vibe-coding and multi-agent setups became common. When an agent spins up a service and the task ends without cleanup, the port stays bound and blocks the next run. DevPilot makes that state visible and reversible from the menu bar without switching contexts.

Takeaways
AI coding agents frequently leave dev servers running on ports like 3000, 5173, and 8080 after their terminal sessions end.
DevPilot lists every listening port on macOS with process name, PID, user, parent process, and project path.
A project-services filter separates dev servers (Vite, Next.js, Node, Go, Python) from system ports.
Right-clicking any port entry kills the process immediately, replacing manual `lsof` and `kill -9` commands.
Installation is available via Homebrew (`brew install --cask pkc918/tap/devpilot`) or a DMG from GitHub Releases.
Conclusions

AI tooling has made starting services faster but has done nothing for the shutdown side; orphaned ports are a direct byproduct of agent-driven workflows that lack lifecycle management.

The project-path column addresses the real diagnostic bottleneck: not knowing which of several repos owns a port, which a raw PID list never solves.

From the discussion

The conversation centers on a clear demand for a Windows version, which the author confirms is in the works. Several users express surprise at the sheer number of ports their machines have open, including one who discovered ports from an old AI-generated project. The overall sentiment is appreciation for the tool's utility.

A Windows release is the most requested feature, and the author says it will arrive this week.
The tool reveals a surprisingly high number of listening ports that users were unaware of, including those left behind by old projects.
Users find the one-click kill functionality genuinely useful and appreciate the convenience over manual command-line methods.
Featured comments
砚湖南侠 1 likes

Would love a Windows version

青椒肉丝_

Sure thing, a Windows version is coming this week, thanks for the star [heart]

similar

Didn't realize until now just how many ports my computer has [shy]

青椒肉丝_

Nice ports

国道太阳神

Dug up the port numbers from a project I had an AI write half a year ago

青椒肉丝_  · 1 likes

Shows it's really good, hahaha [grin]

See top comments, translated →
Source: juejin.cn ↗ Google Translate ↗ Backup ↗