Kaval
Guard your ports.
See what's listening. Kill what shouldn't be. A developer-focused port and process manager for your terminal. Built in Rust. Fast. Interactive.
v0.1.0 • MIT • macOS & Linux
Know your ports. Control your stack.
Stop running lsof | grep five times a day.
Port Scanner
See every listening port and the process behind it. TCP and UDP, all at a glance.
One-Key Kill
Terminate rogue processes with a single keystroke. SIGTERM or SIGKILL, your choice.
Smart Detection
Auto-identifies 56+ dev tools by port and process name. Next.js, Postgres, Docker, and more.
Cross-Platform
macOS and Linux. Same binary, same experience. No dependencies.
Stop opening Activity Monitor
Kaval gives you a real-time interactive TUI. Filter by process name, sort by port or memory, and kill processes without leaving your terminal. No more switching between windows.
Scriptable. Pipeable. JSON-ready.
Every feature is available from the command line. Pipe output to jq, use exit codes in CI scripts, or build your own tooling on top of Kaval's structured output.
Power with guardrails
Kaval always asks before killing. You see the process name, PID, and port before confirming. Use --force for SIGKILL when SIGTERM isn't enough. No accidental process murders.
It knows your stack
Kaval auto-identifies 56+ common developer services by process name and port number. No configuration needed. Your stack, recognized instantly.
Kaval vs. the alternatives
See how Kaval compares to tools you already know.
| Feature | Kaval | lsof + grep | Activity Monitor |
|---|---|---|---|
| Interactive TUI | ✅ | ❌ | ❌ |
| Service Detection | ✅ | ❌ | ❌ |
| One-Key Kill | ✅ | ❌ | ✅ |
| JSON Output | ✅ | ❌ | ❌ |
| Filter & Sort | ✅ | ❌ | ✅ |
| Cross-Platform CLI | ✅ | ✅ | ❌ |
Ready to guard your ports?
Install Kaval in seconds. No dependencies, no setup, just run it.
brew update && brew tap AppachiTech/kaval && brew install kaval
Quick Reference
Everything you need, one command away.
kavLaunch interactive TUI with all listening ports
kav list [--json]Print all listening ports as a table or JSON
kav list --sort cpuSort one-shot output by CPU, mem, port, or name
kav list --watchRefresh output in-place every 2s (Ctrl+C to exit)
kav list --tcpShow only TCP (or --udp for UDP only)
kav check <port> [port ...]Check one or more ports — exit code 1 if none active
kav kill <port> [port ...] [-f]Kill processes on one or more ports
kav completions <shell>Generate shell completions for bash, zsh, fish, and more
Frequently Asked Questions
Everything you need to know about Kaval.
Stop guessing. Start guarding.
Free. Open Source. Built in Rust.
Install NowFree. macOS & Linux. Built in Rust. Read every line.