peekport

$ lsof -i :3000

Every local port.
One keystroke away.

peekport lives in your menu bar and shows what is listening on localhost: the project, how it was started, and for how long. Open it, copy the URL or stop it, including the npm run dev behind it.

Download for free macOS 15 and newer · Apple Silicon and Intel

Before

$ lsof -i :3000
COMMAND   PID  USER  ...  NAME
node    41233  you   ...  *:3000 (LISTEN)
$ kill 41233
$ lsof -i :3000
node    41250  you   ...  *:3000 (LISTEN)
# npm run dev started it again

With peekport

⌃⌥POpen peekport from any app
3000Type to filter
⌘⌫Stop next dev, and npm run dev with it
↩Confirm. Port 3000 is free.

Built for a Mac full of dev servers

Grouped by project

Ports sit under the folder they were started from, not in a list of PIDs.

Start commands, not "node"

next dev, vite, uvicorn main:app. Tell three servers in one project apart.

Docker, by name

Containers show their service and image, inside their compose project. Supabase stacks too.

Stops what restarts it

npm run dev, nodemon, turbo, or the whole compose project. One checkbox.

Down alerts

Watch a port and get notified when it stops listening.

Your editor, your terminal

⌘O opens the project in Cursor, VS Code or Zed. ⌘T in Warp, Ghostty, iTerm or Terminal.

16 MB
of memory, all it needs
0%
CPU while it sits idle
0
accounts, trackers or network calls
⌃⌥P
from any app, or pick your own

What’s on port 3000?

Press ⌃⌥P and find out.

Download for free