---
title: What you actually do in PortPilot
description: Ports, clipboard and JSON, local databases, tray, and keyboard — the product as you use it.
date: 2026-08-20
slug: what-portpilot-does
topic: Desktop
series: PortPilot
seriesOrder: 2
tags:
  - portpilot
  - dx
---

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.

<InteractiveGui label="PortPilot">
  <PortPilotPlayground />
</InteractiveGui>

## 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.

<Note>
Passwords go to macOS Keychain or Windows Credential Manager. Uncheck **Save password for next launch** and the secret stays in RAM for this session only.
</Note>

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.
