Local port manager for Mac

Your Codex and Claude Code sessions leave dev servers running. Portsmith shows the process behind each port, flags agent-started listeners, and stops them safely — no Terminal required.

Download for macOS
Free 3-day trial$19.99 lifetime · no subscriptionRuns locallyApple silicon · macOS 26+
Portsmith5 listeners
Sort: Port
3000nodeCursor · 12m · 3% · 142 MBNext.jsCodex
5173nodeVS Code · 8m · 1% · 96 MBViteClaude
3001ruby ×4iTerm2 · 34m · 0% · 188 MBRails
8000python3.12Terminal · 5m · 2% · 112 MBDjangoCodex
8080mainWarp · 47m · 1% · 74 MBGoAll Interfaces
  • Native macOS
  • Local-first
  • No Screen Recording
  • No Accessibility
  • No Full Disk Access
  • Developer ID .dmg
  • Sparkle updates
  • Offline license
  • Agent Island included

Your localhost, finally legible.

Portsmith lives in your menu bar and keeps a calm, deduplicated list of same-user listening TCP ports — the process behind each one, what it’s running, and the safe way to act on it. It does not scan remote hosts, inspect UDP, or reveal root and other-user listeners.

Host & project contextOne row per listenerSafe actionsSearch & filtersFocus host appLive agent sessions

01 · Listeners

See what’s listening, without Terminal.

One calm list of the same-user listening TCP ports macOS exposes. Every row is one logical listener — the owning process and its port — with the runtime and framework identified when Portsmith can tell, and an honest confidence dot when it can’t.

  • Port, process, host app, uptime, CPU, and memory at a glance
  • Runtime & framework classification — Node, Vite, Next.js, Rails, Django, Go…
  • Confidence shown honestly: High, Medium, Low, Unknown

02 · Agent Island

Agent Island, built right in.

Portsmith gathers observed Codex and Claude Code sessions in one Agents panel, even when they own no listening port. See the provider, state, Host app, project, execution location, evidence age, local PID, and related ports—then focus the right app or stop an eligible agent without closing its host.

  • Focus the verified Terminal, editor, or desktop Host app in one action
  • Stop Agent sends SIGTERM only after fresh identity and safety checks
  • One static Plug — no adjacent counts, dots, or second status item
  • Notch wings are opt-in and add nothing on unsupported displays

03 · Safe actions

Open, copy, or stop a server. Safely.

Open a server, focus its Host app, copy safe details, or stop the owning process behind a clear confirmation. Use the global shortcut from anywhere, navigate with the keyboard, or stop every actionable visible target through one deduplicated safety pass.

  • Global shortcut defaults to ⌘⌥P; ↑/↓, O, T, and K drive the list
  • Stop Visible confirms once, deduplicates processes, and sends SIGTERM only
  • Focus Terminal or your editor without Accessibility or Apple Events

04 · Privacy posture

Built local. Not creepy.

Portsmith reads process metadata that macOS already exposes to your user — nothing more. No terminal scraping, no screenshots, no shell history, no keystrokes. It never asks for Screen Recording, Accessibility, or Full Disk Access.

  • Zero permission prompts at first launch
  • No Apple Events, root helper, or private APIs
  • No accounts, no analytics SDKs, no telemetry

Built for everyone who runs local servers.

If your Mac runs dev servers, Portsmith keeps them legible.

AI-assisted Builders

See where Codex and Claude Code sessions are running, which project and Host app they belong to, and any related ports—then focus the Host or safely stop an eligible agent without guessing.

CodexClaude CodeAgent Island

Full-stack Debugging

“Port already in use” stops being a mystery: identify which process owns a stuck port and stop it safely, with confirmation.

EADDRINUSEPIDKill Process

Frontend Developers

Keep Vite and Next.js dev servers straight, find the HMR port quickly, and reopen the right localhost tab without guessing.

ViteNext.jsHMRlocalhost

Users on Portsmith.

I’ve been messing around with Claude Code building little stuff for our team. Portsmith’s how I found out one of them had just been sitting there running for two months without me knowing.
Nick CarrLobbyist at Coinbase
I vibe-code my own scheduling tools in Claude Code. Portsmith’s the reason I found three node processes I’d completely forgotten I started.
Greg HomerFounder, AResilient Contracting
I love apps that know their purpose and do their job really well. This one does it with great design, too.
Mac TylerHuman Interface Designer at Apple

Get Portsmith. Try it for 3 days.

Download the signed and notarized app, then choose Start Trial for 3 free days — or enter a license immediately.

Download & trial

Portsmith for macOS

The local port manager that lives in your menu bar.

  • 3-day trial — starts when you do
  • Apple silicon · macOS 26+
  • Developer ID signed .dmg
  • Notarized direct download
  • License key whenever you’re ready
  • Sparkle updates built in
Download for macOS

Direct .dmg from this site. Free 3-day trial — no account, no card.

Lifetime license

Portsmith for macOS

$19.99one-time · lifetime license

  • One-time payment — lifetime license, no subscription
  • Every Portsmith feature — Agent Island included
  • Verified offline — no account, no activation server
  • Purchase and license support from the product team
  • All Portsmith updates we publish are included
  • Apple silicon · macOS 26+
Buy license — $19.99

Secure checkout by Lemon Squeezy. Purchase and license support: hello@threeolivescreative.com.

Frequently asked questions.

Straight answers about what Portsmith does — and what it deliberately doesn’t.

What is Portsmith?
A native macOS menu bar utility for same-user listening TCP ports and local coding agents. It identifies owning processes and runtimes, opens servers, focuses Host apps, copies safe details, and confirms every stop action. Agent Island adds first-class Codex and Claude Code session visibility.
How do the trial, license, and updates work?
Start the 3-day trial when you want, or enter a purchased license immediately. The trial begins only when you click Start Trial — never just because you launched the app. When it ends, live monitoring pauses behind a clear unlock prompt rather than showing stale data. License keys verify offline with no account, and Sparkle offers signed updates inside the app for you to install.
What happens when I choose Kill Process?
Portsmith always asks you to confirm, then sends SIGTERM to the owning process. Force Kill (SIGKILL) is a separate escalation that always confirms. Protected processes — system processes, host apps like your terminal or editor, login shells, and anything owned by another user — are never terminated.
Does Portsmith need broad privacy permissions?
No. Portsmith asks for zero system permissions. It never requests Screen Recording, Accessibility, Full Disk Access, Apple Events, or root access, and it uses no private APIs. A fresh install shows zero permission prompts.
What macOS version is required?
An Apple silicon Mac running macOS 26 or later. Portsmith ships a single Liquid Glass design path built for the latest macOS, instead of two half-polished ones.
Can Portsmith show every port on my Mac?
No — and it won’t pretend to. macOS only lets Portsmith inspect listening TCP ports owned by your user. UDP and listeners owned by other users or root aren’t visible to it. What you get is the same-user local TCP listeners your account can inspect.
What is Agent Island?
Portsmith’s built-in Codex and Claude Code awareness, included with every trial and license. The Agents panel shows observed sessions with provider, state, Host app, project, execution location, evidence age, local PID, and related ports. Eligible process-backed rows can Focus App or Stop Agent without closing the Host app. Optional wings appear beside a supported MacBook notch; the menu bar always keeps one static Plug. Portsmith never reads prompts or claims a task succeeded.
What does the Agents filter mean?
In Ports mode, the Agents, Codex, and Claude filters show listeners Portsmith can attribute to those local processes. The separate Agents panel is the session inventory, including observed agents with no listening port. Listener actions target the server; the explicit Stop Agent action targets only an eligible, freshly revalidated agent process and never its Terminal, editor, or desktop Host app.
What does one row mean?
One row is one logical listener: an owning process plus a port. A process binding the same port over IPv4, IPv6, loopback, and all interfaces shows as one row, not four. A process listening on several distinct ports gets one row per port.
Is Portsmith on the Mac App Store?
No. The App Sandbox blocks the process enumeration a port manager needs, so Portsmith ships as a Developer ID–signed, notarized .dmg directly from this site — with the same strict no-broad-permissions posture.
Does Portsmith replace lsof?
It can replace common lsof-and-kill workflows for same-user listening TCP ports, but it is deliberately narrower. Portsmith does not inspect arbitrary open files, UDP, root or other-user processes, remote hosts, or every network connection.
Is Portsmith a port scanner or network monitor?
No. Portsmith does not scan remote hosts, capture packets, or inspect every network connection. It organizes same-user listening TCP ports on your Mac and the processes that own them.