Skip to content
v1.4.4 is out. Ctrl-C cleanup fixes for Unix kills →

Your ports have squatters,so kick them out.

Find what's using your port. Inspect the process, then clear the stale server from your terminal.

Free, open-source TUI & CLI. Linux, macOS, and Windows.

Install for your platform
Terminal
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/nuggocto/kickoutchi/releases/latest/download/kickoutchi-installer.sh \
  | sh
PowerShell
powershell -ExecutionPolicy Bypass -NoProfile -Command "irm https://github.com/nuggocto/kickoutchi/releases/latest/download/kickoutchi-installer.ps1 | iex"

Then run kick to open the TUI. Other install methods →

Interactive demo device: a pocket port janitor. Use the scan, inspect, and kick buttons to replay how Kickoutchi finds a process squatting on a port and kicks it out.

Demo: node is using port 3000 with 3 processes. Inspect it or press Kick to review.

SCAN
KICK
INSPECT

Try the buttons. This is a demo.

Inside your terminal

Meet your port janitor.

Browse open ports, select a process, and see exactly what owns it.

Take the TUI tour →
$ kickTUI · Linux
Kickoutchi 1.4.2 showing a selected Node.js process on port 3000, its listening address, process details, and keyboard shortcuts for inspecting or terminating it.
Captured from Kickoutchi v1.4.2 with a local demo server.View full size ↗

Swipe the terminal to see the full table.

See the confirmation step

The prompt names the process and every affected port. Nothing stops until you confirm.

The real confirmation dialog identifies the Node.js process, lists its ports 3000, 5173, and 8080, and offers y to confirm or Escape to cancel.

Inspect firstOpen process details with Enter. Browsing doesn't terminate anything.

x

Review, then confirmPress x to review the target. Confirm to stop it, or Escape to cancel.

Already know the port?

Get straight to it.

Use the CLI for a quick answer, or add JSON output to your scripts.

Find the owner

Port 3000 is busy. See the process behind it before deciding what to stop.

shell
kick list --port 3000
List and filter ports →

Explain the conflict

Get evidence behind "address already in use", even when the owner is unclear.

shell
kick why 3000
Understand bind failures →

Watch it change

Keep an eye on ports as servers start, stop, or get replaced.

shell
kick watch
Watch ports live →

Inspect before you kick

Clear the right process.

A stale server can leave a whole process tree behind. Inspect its family before choosing what to stop.

  • One process by default. Tree cleanup only when you ask.
  • Targets are checked again before termination.
  • Changed or uncertain targets are refused.
How the safety checks work →
kick · read-only inspection
$ kick inspect --port 3000Target: PID 18422 (node)Tree (3 processes):  PID 18422 (node) [TCP 127.0.0.1:3000]    PID 18431 (vite)    PID 18444 (esbuild)To terminate this tree:kick kill --pid 18422 --tree

CLEAR THE SWAMP.

Your next dev server deserves a free port.

Prefer a package manager? Homebrew, Scoop, AUR, Cargo, and Nix are available too.