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
Entersteers the model with the new text, andEscinterrupts the turn. !commandrunscommandin 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 agit diff).!!commandrunscommandthe same way but keeps the output display-only: it is shown to you but not fed to the model./commandruns 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 |