TUI
Keyboard-driven port-forward management with minimal resource usage and SSH compatibility.
The kftui terminal interface provides keyboard-driven management of Kubernetes port forwards with minimal resource usage and full SSH compatibility. For command-line flags, non-interactive mode, and scripting, see the CLI page.

Interface layout
The terminal interface uses a split-panel layout with keyboard navigation. The main panels are:
- Stopped Configs — configurations not currently forwarding
- Running Configs — active port forwards with live status
- Details — full configuration details for the selected entry (service, namespace, ports, HTTP logs path)
- Logs — application log output
Status indicators in the status column:
| Indicator | Meaning |
|---|---|
| Green | Active connection |
| Red | Stopped |
| Yellow | Connecting or error |
Keyboard shortcuts
| Shortcut | Action |
|---|---|
↑ ↓ | Navigate configurations |
← → | Navigate table columns |
Space | Select/deselect configuration |
a | Select all configurations |
f | Toggle forward for selected |
i | Import configurations from JSON |
e | Export configurations to JSON |
d | Delete selected configurations |
s | Open settings |
l | Toggle HTTP logging for selected |
L | Configure HTTP logging (retention, max size) |
V | View HTTP logs for selected |
o | Open HTTP logs in external editor |
r | Replay HTTP request (in log detail view) |
h | Show help screen |
q | Quit application |
Tab | Switch interface sections |
Enter | Confirm action |
Esc | Cancel action |
Ctrl+C | Exit |
Configuration management
Press i to open the import dialog.
File browser navigation:
↑ ↓ Navigate files/directories
Enter Select file or enter directory
.. Go up one directory
Esc Cancel importImport process:
Navigate to JSON configuration file.
Press Enter to select.
Review configurations to import.
Press Enter to confirm.
JSON format:
[
{
"service": "api-gateway",
"namespace": "development",
"local_port": 8080,
"remote_port": 80,
"protocol": "tcp",
"alias": "gateway"
}
]Validation errors appear immediately with details about what needs to be fixed.
Press e to open the export dialog.
Export workflow:
Select configurations to export (or Ctrl+A for all).
Press e.
Navigate to save location.
Enter filename.
Press Enter to confirm.
Default location:
~/.kftray/exports/Exported files work with both terminal and desktop interfaces for cross-platform sharing.
Delete selected:
Select configurations with Space.
Press d.
Confirm deletion with Enter.
Delete all:
Press Ctrl+A to select all.
Press d.
Confirm deletion with Enter.
Active forwards are stopped before deletion. Confirmation prompt prevents accidental deletion.
Port forward management
Start forwards:
Navigate to configuration with ↑ ↓.
Press Space to select.
Press f to toggle forward.
Status changes from ○ Stopped to ⚠ Connecting to ● Running.
Bulk start:
Press Ctrl+A to select all.
Press f to start all selected forwards.
Stop forwards:
Same selection and toggle pattern. Navigate to running configurations, select with Space, and press f to stop.
Error handling:
Failed forwards show ⚠ Error status. Navigate to the configuration and press Enter to view error details.
Auto import
Access auto import through the Tab menu system.
Workflow:
Press Tab to open menu.
Navigate to "Auto Import" with ↑ ↓.
Press Enter to select.
Choose kubeconfig and context.
Select target namespace.
Review discovered services with kftray.app/enabled annotation.
Select services to import with Space.
Press Enter to confirm import.
See Auto Import for annotation format and service discovery details.
Imported configurations merge with existing ones. Running auto import multiple times won't create duplicates.