Every developer knows this ritual:
npm run dev
Error: Port 3000 is already in use
Then you open a new tab and Google "how to kill port 3000" for the 47th time this month.
I finally got tired of it and built PortPilot — a free, open-source desktop app that makes localhost port management actually pleasant.
The Problem
I run several dev projects locally. Every morning:
- Port conflicts from yesterday's zombie processes
- Forgetting which app runs on which port
- Digging through Task Manager to find the right Node process
- Accidentally killing the wrong thing
The Solution
PortPilot gives you a clean dashboard with four main features:
1. Port Scanner
See every listening TCP port with process name, PID, and full command line. One-click kill for any process.
2. App Registry
Register your dev projects with start commands and preferred ports. Start/stop directly from the UI with visual countdown feedback.
3. Auto-Detection
Point PortPilot at your projects folder and it automatically finds:
- Node.js (npm, yarn, pnpm, bun)
- Python (uvicorn, flask, django)
- Docker (docker-compose)
- Go, .NET, Rust, Ruby projects
It even detects your package manager and reads port config from package.json, vite.config, .env, etc.
4. Port Conflict Resolution
When something blocks your app's port:
- See "⚠️ Port Blocked" status
- Click 🌐 Preview to see what's running there
- Click "Kill Blocker" to terminate and reclaim the port
Tech Stack
| Technology | Purpose |
|---|---|
| Electron 27 | Cross-platform (Windows + Linux) |
| Vanilla JS | No framework bloat, ~70MB installed |
| Native commands |
netstat (Windows) / lsof (Linux) |
| Playwright | 20/20 E2E tests, 100% coverage |
| CSS Variables | 6-theme system |
Features
- 🔍 Browse & Auto-detect — One-click project setup with recursive scanning
- ⭐ Favorites — Star apps for quick access, collapsible sections
- 🐳 Docker Integration — Detects Docker Desktop status, click to start
- 🎨 5 Themes — TokyoNight, Brutalist Dark, Nord, Dracula, Solarized
- 📋 System Tray — Minimize to tray, "Stop All Apps" from menu
- 🔒 Single Instance — Only one PortPilot runs, focuses existing window
- 🤖 MCP Server — Control with natural language from Claude Code, Cursor, Windsurf
- 📚 Knowledge Base — Built-in help, keyboard shortcuts, common ports reference
App Badges
PortPilot auto-detects project types and shows badges:
| Badge | Type |
|---|---|
| 🐳 | Docker |
| 📦 | Node.js |
| 🐍 | Python |
| 🗄️ | Database |
| ⚡ | Auto-start |
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+R |
Scan ports |
Ctrl+N |
Add new app |
Ctrl+1-4 |
Switch tabs |
Escape |
Close modal |
Download
100% free and open source:
Windows:
Linux:
Source: GitHub
No accounts, no tracking, no nonsense. MIT licensed.
What's Next?
I'm considering:
- macOS builds (it should work but untested)
- Remote server monitoring
- Docker Compose service management
What features would you want? Drop a comment or open an issue!



Top comments (0)