FAQ

How is this different from ps, lsof or systemctl?

Those tools expose state. They show what is running and leave you to infer why by correlating output across several of them. witr does that correlation and returns the causal chain — which supervisor, service manager, container or shell is responsible for the process existing right now.

Does witr send anything over the network?

No. It reads local system state. The browser playground runs a simulated box entirely client-side.

What does it cost?

witr is free and open source. The source is on GitHub.

Which platforms are supported?

Linux, macOS, Windows and FreeBSD, on both x86_64 and arm64. Feature coverage varies slightly by platform — the full matrix is in Platform Support.

Do I need Docker installed to use the container features?

Only for the runtimes you actually want to query. Each runtime is detected through its CLI on PATH, so a machine with only Podman gets Podman results without Docker installed.

Why does witr show several processes instead of answering?

Name matching is substring-based by default, so witr ng matches nginx and ngrok. witr lists the candidates rather than guessing, and exits with code 4. Re-run with --pid, or add --exact to match the name exactly.

Can I use it in CI or a monitoring script?

Yes. --json gives machine-readable output and the six exit codes distinguish clean, warnings, not found, permission denied, invalid input and internal error. See Scripting and CI.

Why is some information missing from the output?

Usually permissions. Try sudo on Linux or FreeBSD. On macOS, SIP restricts environment variables of processes you do not own regardless of sudo. Details in Permissions.

Does the TUI work over SSH?

Yes. It is a terminal application built on standard terminal rendering, and its colours adapt to light or dark terminal backgrounds automatically.

How do I get shell completions?
echo 'eval "$(witr completion bash)"' >> ~/.bashrc
echo 'eval "$(witr completion zsh)"' >> ~/.zshrc
witr completion fish > ~/.config/fish/completions/witr.fish

PowerShell: add witr completion powershell | Out-String | Invoke-Expression to your $PROFILE.

Still have a question?

Open an issue or start a discussion on GitHub.

FAQ — witr