The TUI is Nyzhi’s primary interface. It’s a full terminal application with keybindings, tab completion, panels, selectors, and background task management.
Interaction Modes
The TUI operates in one of four modes at any time:
| Mode | What’s happening |
|---|---|
| Input | You’re typing a prompt |
| Streaming | The agent is generating a response |
| AwaitingApproval | A tool needs your permission to run |
| AwaitingUserQuestion | The agent is asking you a question |
Keyboard shortcuts change behavior depending on the current mode.
Input
Basic Input
Type your prompt and press Enter to send.
Multiline Input
Alt+Enter— insert a newlineShift+Enter— insert a newline (Kitty terminal protocol)
Special Prefixes
| Prefix | What it does |
|---|---|
!<command> | Run a shell command and inject its output |
& <prompt> | Dispatch as a background task |
@path | Inject a file or directory as context |
External Editor
Type /editor to open your prompt in $VISUAL or $EDITOR (falls back to vi).
Keybindings
Core
| Key | Action |
|---|---|
Enter | Submit prompt or accept completion |
Esc | Dismiss completion / clear search / clear input |
Ctrl+C | Exit |
Ctrl+L | Clear session display |
Navigation
| Key | Action |
|---|---|
Up / Down | History or selector navigation |
Ctrl+R | Reverse history search |
Ctrl+A / Ctrl+E | Move to line start / end |
Ctrl+N / Ctrl+P | Next / previous search match |
Editing
| Key | Action |
|---|---|
Ctrl+U | Clear to line start |
Ctrl+W | Delete previous word |
Panels and Selectors
| Key | Action |
|---|---|
Ctrl+K | Command palette |
Ctrl+T | Theme selector |
Ctrl+, | Settings panel |
Background Tasks
| Key | Action |
|---|---|
Ctrl+B | Move current streaming task to background |
Ctrl+F (double press) | Kill all background tasks |
Tab Completion
Completion triggers automatically in three contexts:
| Trigger | Context | What it completes |
|---|---|---|
/ | Slash command | Available slash commands |
@ | At mention | File and directory paths (fuzzy) |
/image | Image path | File paths |
| Key | Action |
|---|---|
Tab | Open/cycle forward through completions |
Shift+Tab | Cycle backward |
Esc | Close completion menu |
Enter | Accept selected completion |
Panels
The TUI includes built-in panels for organizing your workflow:
- Plan panel — view and edit the session plan
- Todo panel — track task progress
- Settings panel — adjust configuration in-session
- Session picker — browse and resume sessions
- Command palette — quick access to all commands
- Model/Provider/Theme/Accent selectors — switch on the fly
Slash Commands Overview
Type / to see all available commands. Here are the categories:
Utility
/help, /clear, /quit, /exit, /status, /commands, /settings
Provider & Model
/model, /connect, /login, /trust, /thinking, /voice
Session & Context
/sessions, /resume, /session delete, /session rename, /context, /compact, /retry, /search, /export, /handoff
Project Tooling
/index, /mcp, /hooks, /memory, /docs, /verify, /notify
Theme & UX
/theme, /accent, /bg
Planning & Execution
/autopilot, /deep, /qa, /review, /refactor, /walkthrough, /quick, /map, /profile, /init-project
Teams & Subagents
/team, /teams-config, /subagent-config
Worktree & Undo
/worktree, /worktree create, /worktree list, /worktree merge, /worktree remove, /undo, /undo all, /undo git
Misc
/agents, /analytics, /bug, /changes, /diff, /doctor, /editor, /image, /init, /learn, /notepad, /plan, /stop, /todo
See also: Slash Commands Reference for the full list with descriptions.
Command Types
Slash commands are classified by execution type:
| Type | Behavior |
|---|---|
| Instant | Runs locally, no model turn |
| StreamingSafe | Can run while the agent is streaming |
| Prompt | Dispatches a prompt to the agent |
Background Tasks
You can send work to the background and keep typing:
- While the agent is streaming, press
Ctrl+Bto move it to background - Start a new prompt — the background task continues
- Type
& <prompt>to dispatch directly as a background task - Double-press
Ctrl+Fto kill all background tasks
Background tasks are tracked by ID, label, and start time. Use the message queue for prompt buffering while the agent is busy.
Configuration
TUI-specific settings:
[tui]
markdown = true # render markdown in responses
streaming = true # stream tokens as they arrive
theme = "dark" # "dark" | "light"
accent = "copper" # accent color
show_thinking = true # show model reasoning blocks
output_style = "normal" # "normal" | "verbose" | "minimal" | "structured"
[tui.notify]
bell = true # terminal bell on completion
desktop = false # desktop notifications
min_duration_ms = 5000 # notification threshold
Next Steps
- Getting Started — first steps with Nyzhi
- Commands — full CLI command reference
- Configuration — TUI config options