Skip to content

Using the TUI

Once the TUI is up you have an input box at the bottom of the screen. What you type there is interpreted by its first character:

  • A plain message is sent to the model as your prompt. The assistant's reply, its thinking, and any tool calls stream into the transcript above the input box. While a turn is running you can keep typing: pressing Enter steers the model with the new text, and Esc interrupts the turn.
  • !command runs command in a shell in the current directory. Its output is committed to the transcript and buffered, so it is included with your next message to the model (handy for showing the assistant a build error or a git diff).
  • !!command runs command the same way but keeps the output display-only: it is shown to you but not fed to the model.
  • /command runs a slash command (see below), recognised only when / is the very first character of the first row.

Slash commands

Slash commands drive the session itself rather than the model. Type / on its own (or /help) to see the full list rendered in the transcript, and /<command> --help for one command's own help. The available commands are:

Command Action
/quit (/q) Quit Wallah
/model [ref] Switch the active model as [provider/]model[@effort]; with no argument, open the model picker
/new [name] Start a new session, keeping the current provider, model, and effort
/name [name] Rename the current session; with no argument, clear the name
/resume Resume a previous session in this project
/fork Fork the current session at an earlier turn
/compact Compact the conversation now, replacing the oldest turns with a summary while keeping a recent tail
/reset-provider-session Re-seed the provider from the session history, discarding any continuable server-side session
/recall <id> Show the full original content of an item by its recall id (the number in a #12 tag)
/ollama Inspect and tune the native Ollama provider's context window
/reload Re-read config.lua and rebuild the runtime environment for the current session
/help Print the slash-command help

Key assignments

The TUI recognises the following keys.

While composing a prompt:

Key Action
Enter Send the message (or run a / command or ! shell command)
Shift+Enter Insert a newline
Tab Open the completion popup (slash commands, file paths)
Shift+Tab Cycle the reasoning effort level
Up / Down Move through input history (at the first / last row)
Ctrl-o Toggle full-output expansion for tool and thinking blocks
Ctrl-g Compose the prompt in $VISUAL / $EDITOR
Esc Interrupt a running shell command
Ctrl-c / Ctrl-d Quit (when the input is empty)

While the completion popup is open:

Key Action
Tab / Down Select the next candidate
Shift+Tab / Up Select the previous candidate
Enter Accept the selected candidate
Esc Close the popup

While a turn (or a compaction pass) is running:

Key Action
Esc / Ctrl-c Interrupt the turn
Enter Steer the running turn with the typed text
Shift+Enter Insert a newline
Shift+Tab Cycle the reasoning effort level
Ctrl-o Toggle full-output expansion

In a picker (/model, /resume, fork selection):

Key Action
Up / Down Move the selection
Ctrl-p / Ctrl-n Move the selection
Enter Accept the highlighted item
Esc / Ctrl-c Cancel the picker
Backspace / printable keys Edit the fuzzy filter