---
title: What makes PortPilot different
description: lsof shows a PID. A browser tab cannot own the tray. PortPilot is the daily kit in one background app.
date: 2026-08-23
slug: what-makes-portpilot-different
topic: Desktop
series: PortPilot
seriesOrder: 5
tags:
  - portpilot
  - dx
---

Uniqueness is “what I still open when the other tools exist.”

## Versus what you already have

**Activity Monitor / `lsof`.** They show a PID. They ask for the same three steps every day. They do not know the repo, the terminal tab, or how to restart Vite and the API as one batch.

**A localhost page.** Useful for one app you wrote. It cannot sit in the menu bar, catch `Cmd + Option + P`, or kill a process it did not spawn.

**TablePlus + a JSON window + a clipboard manager.** Each is good. Developers already use all of them in the same afternoon. PortPilot keeps that kit in one background app, one hotkey.

<SignalPath
  caption="Same afternoon. One window."
  steps={[
    { label: 'Run', hint: 'Dev servers' },
    { label: 'Map', hint: 'Ports' },
    { label: 'Paste', hint: 'Text & Data' },
    { label: 'Poke', hint: 'Database' },
  ]}
/>

It will not replace a heavy database GUI or your editor.

## Install

- **Mac App Store:** [PortPilot Desktop](https://apps.apple.com/in/app/portpilot-desktop/id6801225932?mt=12) — signed, Apple updates.
- **GitHub:** [Shailesh200/PortPilot](https://github.com/Shailesh200/PortPilot)
- **Releases:** [latest](https://github.com/Shailesh200/PortPilot/releases/latest) — Mac `PortPilot-x.x.x-arm64.dmg`, Windows `PortPilot-Setup-x.x.x.exe`

<Warning>
Use the **latest release**. Ignore `.blockmap` files. On Windows, SmartScreen may say **More info → Run anyway** the first time. That is the OS.
</Warning>

Store builds update through Apple. GitHub builds notify in-app. Every push to `main` (unless `[skip ci]`) bumps the patch, builds Mac and Windows, and publishes a Release.

<ArchitectureDiagram
  label="Release is production"
  nodes={[
    { id: 'git', title: 'Push main', subtitle: 'GitHub Actions', icon: 'pipeline' },
    { id: 'build', title: 'Mac + Windows', subtitle: 'In parallel', icon: 'engine' },
    { id: 'rel', title: 'GitHub Release', subtitle: 'Then the updater', icon: 'cloud' },
  ]}
/>

## Keyboard

Shortcuts live in Settings. The launcher is **`Cmd + Option + P`** so it does not steal VS Code’s palette.

<InteractiveGui label="Shortcuts">
  <ShortcutPad />
</InteractiveGui>

| Shortcut | Action |
|---|---|
| `Cmd + Option + P` | Launch or focus |
| `Cmd + K` | Palette |
| `Cmd + 1 / 2 / 3` | Three rooms |
| `/` | Search ports |
| `K` / `R` / `O` | Kill / restart / open |
| `T` / `V` | Terminal / editor |

<Note>
macOS does not delete app data when you drag the app to Trash. Use **Settings → Safety → Erase all PortPilot data** for connections and clipboard history. Windows uninstall removes app data.
</Note>

I built it because I was tired of guessing which process owned the port. If that is your afternoon too, that is the product.
