Buyer's guide

Best tools to kill stuck dev servers on Mac in 2026: the buyer's shortlist

Looking for the best way to kill stuck dev servers on your Mac? We compared ten options on price, Mac support, how they find leftovers and how safely they stop them. WhatThePort ranks first for AI agent workflows, Portman is best for telling projects apart, PortKiller is the best free all-rounder and Portreaper is the pick for orphans. Here's the shortlist.

Disclosure: we make Spookle. It isn't out yet, so it isn't ranked, and nobody paid to be listed.

Key takeaways

  1. Start with the free built-ins. lsof -nP -iTCP:3000 -sTCP:LISTEN and kill fix most “port already in use” errors in under a minute.
  2. WhatThePort is best if AI agents start your servers. It links each server to the Claude Code, Codex, Conductor or Pane session behind it and stops the whole tree. Free, but the download is Apple silicon only.
  3. Portman and PortKiller are strong free picks. Portman names servers by project and flags hung ones (macOS 15 or later); PortKiller is popular, updated on 15 Oct 2026 and stops things gently first.
  4. Portreaper is built for orphans. It's the only tool here that documents finding orphaned dev processes that hold no port, but its builds aren't signed yet.
  5. Avoid reaching for kill -9 first. Force kills skip cleanup and leave child processes behind. Tools that stop the whole tree with SIGTERM first are safer.

What a dev server cleaner actually is (and what it is not)

A dev server cleaner helps you find and stop local development processes that are still running when you don't want them: a Next.js or Vite server from yesterday, a preview build from another branch, or a node process an AI coding agent started and never shut down. The usual symptom is an error like EADDRINUSE: address already in use :::3000, but the quieter cost is memory, CPU and battery.

There are two kinds. Port killers start from a port number and stop whatever is listening on it. That covers most day-to-day cases. Orphan cleaners start from processes whose parent has gone away (on macOS they get adopted by launchd, PID 1) and ask whether they should still exist, even if they hold no port. The good ones in both groups show you where a process came from, so you don't kill the wrong thing.

A dev server cleaner is not a general system monitor like Activity Monitor or a menu-bar stats app, which show CPU and memory but don't know what a dev server is. It's also not a process manager like pm2 or launchd, which keep services running on purpose. Those long-lived services are exactly what a good cleaner should leave alone.

How we ranked these tools

We read each product's own website, README, store page or release list on 16 October 2026. We didn't run benchmarks, and we only list a feature if the maker documents it. “Not stated” means we couldn't find it in their docs, not that it's missing. Rankings weigh how well each tool solves stuck dev servers specifically.

  1. 1PriceFree, paid one-off or subscription
  2. 2Mac supportMinimum macOS, chips, signed or not
  3. 3Shows the originProject, folder or parent, not just a PID
  4. 4Finds orphansLeftovers whose parent is gone
  5. 5Stops safelyGentle first, force only if needed
  6. 6Kept up to dateDate of the latest release we found

The best tools to kill stuck dev servers on Mac in 2026

Ten options, from menu-bar apps to commands already on your Mac. Each entry lists only facts from the maker's own pages, with a link so you can check them. Spookle comes first because it's ours, but it's coming soon, so it isn't ranked.

Spookle, coming soon from us

  • Not released yet
  • Planned: macOS 14 or later
  • Apple silicon and Intel
  • Runs locally, no tracking

Spookle is the menu-bar app we're building for the AI agent era. The plan: spot orphaned agent processes (MCP servers, sub-agents, node chains) even when they hold no port, label each with the agent that likely left it, show dev servers by port, repo and branch, and stop the whole process tree gently before forcing it. Bulk kills always show a confirmation list first, and system processes are never touched.

Everything here describes planned features, not a shipped product. We'll add it to the ranked list once you can download it and the facts can be checked like everyone else's.

Best suited for

Developers who use Claude Code, Cursor, Codex, Gemini or other agents and want leftovers caught automatically. Join the waitlist to hear when it launches.

1. WhatThePort, best for AI agent workflows

  • Free · MIT open source
  • macOS 14 or later
  • Download is Apple silicon only
  • 8 interface languages
  • Repo updated 1 Oct 2026

WhatThePort is the closest thing to an agent-aware dev server manager you can download today. It lists every local dev server with its port, project, git branch, uptime, memory and CPU, and servers started by Claude Code, Codex, Conductor or Pane link back to the session that started them, so you can resume that conversation (for example with claude --resume).

Stopping is careful: it sends SIGTERM to the server's own process tree, then SIGKILL after a short delay. Clean up preselects servers from deleted git worktrees or ones idle for hours, protects Postgres, Redis, MongoDB and MySQL by default, and can be set to Off, Ask or Automatic (leaking servers are never stopped automatically). Leak alerts turn the icon amber and notify you when a server passes 2 GB or grows more than 500 MB in ten minutes; both thresholds are adjustable. There's a wtp terminal command with wtp list --json for scripts and agents, and Option + Command + P opens it from anywhere.

Two things to know. The prebuilt download is for Apple silicon only (Intel Macs have to build it from source). And it sends an anonymous once-a-day count of which features were used, with no identifiers; onboarding asks first and you can turn it off in Settings. It works from listening ports, so a leftover that holds no port won't show up.

Best suited for

Developers on Apple silicon who run dev servers through Claude Code, Codex, Conductor or Pane and want each server tied back to the session that started it.

Source: whattheport.dev and its GitHub README (tomjohndesign/what-the-port) · Checked 16 October 2026

2. Portman, best for knowing which project a server belongs to

  • Free · MIT open source
  • macOS 15 or later
  • Apple silicon and Intel
  • Signed and notarised
  • v0.3.3 · 8 Aug 2026

Portman is a menu-bar app that names every dev server by project and framework instead of by PID. Its README says it shows the project path, the git branch, the page title of what the server is serving, and it infers frameworks such as Next.js, Vite, Astro, Remix, SvelteKit, Rails and Django.

Two features matter most for stuck servers. It probes each port and flags servers that hold a port but no longer answer as “alive, but not responding”. And it folds servers whose project folder was deleted, plus dev servers left behind by agent worktrees (it names Conductor, Claude and Codex), into collapsed sections with one Kill all button. It also maps Docker ports back to the container and offers Stop container instead.

Its README doesn't say whether a kill is graceful first, and it lists listening servers, so a leftover process that holds no port won't show up.

Best suited for

Developers on macOS 15 or later who run several projects or agent worktrees at once and want to see which one owns :3000 before killing anything.

Source: Portman README and releases on GitHub · Checked 16 October 2026

3. PortKiller, best free all-rounder

  • Free · MIT open source
  • Mac menu bar
  • Windows and Linux builds too
  • 5,100+ GitHub stars
  • v3.4.0 · 15 Oct 2026

PortKiller is the most popular open-source option here and was updated the day before we checked. It auto-discovers every listening TCP port, lets you search by port or process name, and kills with one click using a graceful stop first and a force kill if needed.

Extras go beyond dev servers: favourite ports, watched ports with notifications, automatic categories (web server, database, development, system), Kubernetes port-forward sessions with auto-reconnect, and a view of Cloudflare Tunnel connections. You can install it with Homebrew (brew install --cask productdevbook/tap/portkiller) or a DMG from its releases page.

It works from ports, so it shows process names rather than project folders, and its README doesn't mention orphan detection.

Best suited for

Anyone who wants a free, actively maintained port killer in the menu bar, especially if you also juggle Kubernetes port forwards or use Windows or Linux too.

Source: PortKiller README and releases on GitHub · Checked 16 October 2026

4. Portreaper, best for hunting orphaned dev servers

  • Free · MIT open source
  • macOS menu bar (Apple silicon and Intel)
  • Windows build marked experimental
  • Not code signed yet
  • v0.13.0 · 1 Sep 2026

Portreaper is the closest match to the “orphaned process” problem. Instead of just listing ports, it classifies which listeners look like orphaned dev-server zombies, using signals such as a parent of PPID 1, a dead launcher chain or a dead terminal session, and gives each a confidence tier (confirmed, likely or possible).

It shows the launcher chain for each process (for example Terminal to zsh to npm to vite), and it also surfaces dev processes that hold no port at all. A batch sweep only kills confirmed and likely zombies, a whitelist exempts anything you trust, and processes managed by launchd, Homebrew services or pm2 are exempt automatically. After a kill it checks that the process actually exited and offers a force kill if it didn't. There's a command-line version too.

The catch: releases aren't code signed, so macOS blocks the first launch and you have to allow it in System Settings or clear the quarantine flag yourself.

Best suited for

Developers whose main pain is leftovers from closed terminals or crashed sessions, and who are comfortable opening an unsigned app.

Source: Portreaper README, website and releases on GitHub · Checked 16 October 2026

5. Port Monitor, best paid pick for a simple menu-bar list

  • Paid, one-off licence
  • 7-day free trial, no account
  • macOS 26 (Tahoe) or later
  • Apple silicon and Intel

Port Monitor is a small Swift menu-bar app that lists every process on your dev ports (3000 to 9999 by default) with its command, PID and the project folder it was started from. The menu-bar icon shows how many ports are busy.

Killing is careful: it sends SIGTERM, waits, and only sends SIGKILL if the process is still running. Kill All does the same for every row. macOS services such as AirPlay and Control Center are hidden by default, and port data stays on your Mac.

It's a paid one-off licence (the price is shown in your local currency at checkout, so we haven't listed one). After the 7-day trial it keeps listing ports, but killing needs a licence. It requires the newest macOS, and it lists by port, so it won't find leftovers that hold no port.

Best suited for

People on macOS 26 who want a polished, no-fuss list of busy dev ports and are happy to pay once for it.

Source: port-monitor.app · Checked 16 October 2026

6. Raycast Port Manager, best if you already live in Raycast

  • Free extension
  • Needs Raycast (free for personal use)
  • macOS, plus Windows for most commands
  • Updated 5 Oct 2026

Port Manager is a community extension for the Raycast launcher. It lists TCP listeners with process details and the full command line, lets you name ports you use often, and has a Kill Process Listening on command: type a port, and it stops everything listening there. There's a menu-bar list on macOS too.

You choose SIGTERM or SIGKILL in its preferences, and since September 2026 it only reports a kill as successful once the process has really exited, with a one-key Force Kill if it ignored the signal. It can also kill a process's parent. Raycast itself is free for personal use, and the extension is free.

Best suited for

Keyboard-first developers who already use Raycast and want “kill whatever is on 3000” two keystrokes away.

Source: Raycast Store page and changelog · Checked 16 October 2026

7. PortDeck, best for worktrees and deploy status

  • Free · open source beta
  • macOS 14 or later
  • Apple silicon only
  • v0.1.0-beta.18 · 2 Oct 2026

PortDeck is a menu-bar “command center” for local dev. It shows localhost servers and listening ports with PID, command and working folder, the git repo, branch and worktree, and Docker containers with published ports, grouped by project, then worktree, then service. Actions include open, copy, reveal, stop and refresh.

Its other half is read-only deployment status across Vercel, Supabase, Cloudflare, Netlify, Fly.io, Railway, GitHub Actions and more, using your existing CLI logins. It's an early beta and only runs on Apple silicon.

Best suited for

Developers on Apple silicon who want local servers and production status in one place and don't mind beta software.

Source: portdeck.app and its GitHub releases · Checked 16 October 2026

8. lsof and kill in Terminal, best built-in option with full control

  • Free · built into macOS
  • Nothing to install
  • Graceful or forced, your choice

Every Mac already has what you need. lsof -nP -iTCP:3000 -sTCP:LISTEN shows what's listening on port 3000, kill plus its PID asks it to stop, and kill -9 forces it as a last resort. ps and pgrep -P show parents and children, so you can stop a whole tree.

It's precise and free, but it's all PIDs: you have to work out which project a process belongs to yourself, and it does nothing about leftovers until you go looking. Our step-by-step guides cover it: fix port 3000, find what's using a port and kill orphaned node processes.

Best suited for

Anyone comfortable in Terminal, and the fallback for everyone else when an app can't see a process.

Source: macOS built-in commands (tested syntax on 16 Oct 2026) · Checked 16 October 2026

9. Activity Monitor, best visual built-in

  • Free · built into macOS
  • Quit, Force Quit or send a signal
  • Hierarchical process view

Activity Monitor can quit any of your processes, even one that's stuck, with Quit (a normal, safe quit) or Force Quit. Apple's guide also shows how to send a specific signal and how to see which processes depend on each other with View, All Processes, Hierarchically.

It's organised by process, not by port, so finding the thing holding :3000 means inspecting processes one by one, and dev servers mostly show up as “node”.

Best suited for

Occasional cases where you'd rather click than type, or to spot something eating CPU or memory.

Source: Apple Support: Quit an app or process in Activity Monitor · Checked 16 October 2026

10. npx kill-port, fastest one-liner, but blunt

  • Free · MIT
  • Needs Node.js
  • Latest npm tag: 2.0.1
  • Force kills (SIGKILL)

npx kill-port 3000 frees a port in one line, and it can take several ports at once (npx kill-port 3000 5173). It's handy in npm scripts.

We read the source of version 2.0.1, which is what npx kill-port installs today: on a Mac it finds the listening PIDs with lsof and sends kill -9. That skips the process's own cleanup and doesn't touch its children, so use it when you're sure what's on the port.

Best suited for

Scripts and quick fixes where you know exactly what's on the port and just want it gone.

Source: npm package page and the published 2.0.1 source · Checked 16 October 2026

Side-by-side comparison

The same six criteria from our methodology, for every tool. Spookle's row shows planned features. On a phone, each tool becomes its own card.

ToolPricePlatformShows where it came fromFinds orphansHow it stops thingsLatest update
Spookle (coming soon)Not releasedmacOS 14 or later (planned)Project, branch and likely AI agent (planned)Yes, even with no port (planned)Whole tree, gentle first (planned)In development
WhatThePortFreemacOS 14+, Apple silicon downloadProject, git branch and the agent sessionDeleted-worktree and long-idle serversWhole tree: SIGTERM, then SIGKILLRepo 1 Oct 2026
PortmanFreemacOS 15+Project path, git branch, frameworkAgent worktree and deleted-folder serversNot stated8 Aug 2026
PortKillerFreemacOS, Windows, LinuxProcess name and categoryNot statedGraceful, then force15 Oct 2026
PortreaperFreemacOS (Windows experimental)Launcher chain, app labelYes, including portless onesGentle, verified, force on request1 Sep 2026
Port MonitorPaid one-off (7-day trial)macOS 26+Project folderNot statedSIGTERM, then SIGKILLNot shown
Raycast Port ManagerFree (needs Raycast)macOS, WindowsProcess details, command lineNot statedSIGTERM or SIGKILL, verified5 Oct 2026
PortDeckFree betamacOS 14+, Apple siliconGit repo, branch, worktreeNot statedStop action (method not stated)2 Oct 2026
lsof and killFree, built inmacOSOnly with extra commandsManual (PPID 1 check)Your choiceBuilt in
Activity MonitorFree, built inmacOSProcess hierarchyNoQuit or Force QuitBuilt in
npx kill-portFreeAny OS with Node.jsNoNoSIGKILL (kill -9)npm 2.0.1

Checked 16 October 2026 from each product's own pages. Dates are the latest release we could see, in Brisbane time.

Which tool fits your situation

Your situationPickWhy
Dev servers started by Claude Code, Codex, Conductor or PaneWhatThePortLinks each server to the agent session that started it, stops the whole tree
Several projects or AI agent worktrees running at oncePortmanNames servers by project and branch, and groups agent worktree leftovers
Leftovers after closed terminals or crashed sessionsPortreaperFlags orphans by PPID and launcher chain, including ones with no port
Free menu-bar app that just works, any OSPortKillerPopular, actively updated, graceful kill first
Newest macOS, happy to pay oncePort MonitorClean list with project folders, SIGTERM before SIGKILL
Keyboard-first, already on RaycastRaycast Port ManagerKill whatever is on a port from the launcher
Nothing to installlsof and killBuilt in, precise, full control

Frequently asked questions

What's the best free tool to kill a stuck dev server on Mac?

It depends on what's stuck. If AI agents start your servers, WhatThePort is free and links each one to the agent session behind it (Apple silicon download). For a quick port fix, PortKiller is free and actively updated. If you run lots of projects, Portman shows which project owns each port (macOS 15 or later). For orphaned leftovers, Portreaper is built for exactly that.

How do I free port 3000 on a Mac without installing anything?

Run lsof -nP -iTCP:3000 -sTCP:LISTEN in Terminal, note the PID, then run kill with that PID. Only use kill -9 if it won't stop. Our port 3000 guide walks through it.

Is it safe to use kill -9 on a dev server?

It works, but it's the blunt option. kill -9 (SIGKILL) stops the process instantly, so it can't save state or shut down its own child processes, which can keep running and keep holding resources. Try a plain kill first and give it a few seconds.

What's the difference between a port killer and an orphan cleaner?

A port killer starts from a port number and stops whatever is listening on it. An orphan cleaner starts from processes whose parent has gone away and asks whether they should still exist, even if they hold no port. Most tools here are port killers; Portreaper is the main orphan cleaner.

Why do dev servers keep running after my AI agent session ends?

When a tool starts a server in the background and then exits or crashes, the server can lose its parent. On macOS it's adopted by launchd (PID 1) and keeps running, holding its port and memory, because nothing is left to tell it to stop.

Why is port 5000 or 7000 always taken on my Mac?

That's usually AirPlay Receiver, which runs inside Control Center (ControlCe in lsof). Killing it doesn't stick because macOS restarts it. Turn off AirPlay Receiver in System Settings, General, AirDrop and Handoff, or use a different port.

Is Spookle available yet?

Not yet. Spookle is in development, so it isn't ranked here. You can join the waitlist and we'll email you once, when it launches.

How do you keep this list up to date?

We re-check each tool's own page and release notes and update the date at the top when anything changes. Spotted something out of date? Email hello@tugadot.com.

Sources

All checked on 16 October 2026.

Coming soon

Try Spookle first when it launches

Spookle will catch the dev servers and orphaned processes your AI agents leave behind, show which project they belong to and clear them safely. It isn't out yet. Join the waitlist and we'll email you once, at launch. If you'd rather fix things by hand today, start with our guide to killing orphaned node processes.