k9s 592,566 (github.com/derailed/k9s (https://github.com/derailed/k9s 34,694 ), Apache-2.0, about 34,700 stars) is a full-screen terminal UI written in Go, at 0.51.0 (6 June 2026) here. It installs as one binary: brew 6,457 install derailed/k9s/k9s, winget 26,463 install k9s, snap install k9s --devmode or go install github.com/derailed/k9s@latest. It reads your kubeconfig and current context like kubectl 5,150 , so it works over SSH, inside WSL 6 and on a server with no browser. To capture a screen as text, run it in a detached tmux 49,533 session:
tmux new-session -d -s l2-k9s -x 95 -y 17 \
"k9s -n booknest -c pods --readonly --logoless --splashless"
sleep 8
tmux capture-pane -p -t l2-k9s | sed 's/ *$//'
tmux kill-session -t l2-k9sContext: kind-l2-tools [R] <0> all <d> Describe <o… Cluster: kind-l2-tools <1> booknest <?> Help <f> User: kind-l2-tools <2> default <shift-j> Jump Owner <w> K9s Rev: v0.51.0 <l> Logs <y> K8s Rev: v1.37.0 <p> Logs Previous CPU: n/a <shift-f> Port-Forward MEM: n/a ┌───────────────────────────────────── pods(booknest)[5] ─────────────────────────────────────┐ │ NAME↑ PF READY STATUS RESTARTS IP NODE │ │ booknest-api-9997c5b78-6xcfh ● 1/1 Running 0 10.244.0.6 l2-tools-control-pla │ │ booknest-api-9997c5b78-tpld6 ● 1/1 Running 0 10.244.0.5 l2-tools-control-pla │ │ booknest-postgres-0 ● 1/1 Running 0 10.244.0.10 l2-tools-control-pla │ │ booknest-web-56b46984d4-55vpf ● 1/1 Running 0 10.244.0.8 l2-tools-control-pla │ │ booknest-web-56b46984d4-qjq9r ● 1/1 Running 0 10.244.0.7 l2-tools-control-pla │ └─────────────────────────────────────────────────────────────────────────────────────────────┘ <pod>
The header shows the context, the key bindings for the current view and [R] for read-only mode. CPU and MEM read n/a because this cluster has no metrics-server 6,745 (metrics-server and kubectl top). In a real terminal you type : and a resource name or short name (:deploy, :svc, :events) to switch views, / to filter rows, d to describe the selected row, l for its logs and shift-f to port-forward. Without --readonly, ctrl-d deletes and e opens the object in your editor, so give a production context readOnly: true in its k9s context file ($XDG_DATA_HOME/k9s/clusters/...).