What you actually do in PortPilot

The unit is the row. A port row knows the process, the folder, and the verbs. You do not run lsof, copy a PID, then kill.

Drive it here. Click a room. Select a listener. Kill, restart, or open. Switch to Text & Data or Database. Focus the panel and use 1 2 3, then K R O on Ports. In Text & Data, open Clipboard, JS Playground, or Time Bench.

Ports

Each line is a listener: port, process, PID, CPU, memory, project.

| Action | How | |---|---| | Search | / | | Peek | Space | | Kill | K | | Restart | R | | Open localhost | O | | Terminal tab | T — Terminal, iTerm, Warp, Cursor, VS Code | | Editor | V — opens the project folder | | Batch | select several rows, kill or restart together |

Tag a row so “API” is a label. Group by project when two Vite servers look the same.

Alerts fire when a port appears, dies, or a process eats CPU or RAM — including a stop you did not expect. Launch always opens Ports. Profiles save filters and favorites.

Text & Data

Half of localhost work is a blob you just copied.

  • Searchable clipboard (text, JSON, URLs)
  • JSON format and diff, JS Playground, text diff
  • Time Bench for timing a snippet
  • Convert JSON, YAML, CSV, Markdown, HTML, and files (PDF, Word, Excel) when you need a document
Cmd + K searches ports, processes, clipboard items, and pages in one box.

Database

Same window: Postgres, MySQL, SQLite, Turso, Redis, MongoDB. Optional SSH when the DB is not on localhost.

This is not a replacement for a heavy database GUI. It is here so “is local Postgres up?” does not mean another app.

How you summon it

The app sits in the tray and stays running.

| Shortcut | What it does | |---|---| | Cmd + Option + P | Show or focus (you can change this) | | Cmd + K | Command palette | | Cmd + 1 / 2 / 3 | Ports / Text & Data / Database | | Cmd + , | Settings |

Next: why this is a desktop app — Electron, the preload door, and who is allowed to kill a process.