Terminal & Exec
A native terminal emulator built into Krust for pod exec sessions and local shell access, powered by SwiftTerm.
Pod Exec
Right-click any pod and select Exec to open an interactive shell session inside the container. Krust uses a shell fallback chain — it tries bash first, then ash, then sh — so exec works on minimal container images out of the box.
For multi-container pods, a container picker appears so you can choose which container to exec into.
Local Shell
Press Ctrl+` to toggle the terminal panel. This spawns your default shell ($SHELL) with full environment, history, and tab completion.
The kubectl context is automatically injected to match whichever Kubernetes context is active in Krust, so kubectl commands target the same cluster you're viewing in the GUI — no manual kubectl config use-context needed.
Multi-Tab
Open multiple terminal sessions in tabs. Each tab can be either a pod exec session or a local shell instance. Tabs are independent — closing one does not affect others. Switch between tabs with a click or keyboard shortcut.
SwiftTerm
Krust uses SwiftTerm, a native terminal emulator written in Swift. This means:
- Native performance — Not web-based (no xterm.js), rendered directly by the macOS graphics stack
- Full ANSI color support — 256-color and truecolor output renders correctly
- Proper resize events — Terminal dimensions update instantly when you resize the panel, and the PTY is notified via
SIGWINCH - Clipboard integration — Cmd+C to copy, Cmd+V to paste, just like any native macOS app
- Bidirectional I/O — Full TTY support with interactive programs like
vim,top, andhtop