TUI#
gptme ships an optional Textual-based terminal UI, gptme-tui, complementary
to the plain CLI (which remains better suited for non-interactive
and scripted use).
It addresses two long-standing UX limitations of the plain CLI (see issue #569):
Prompt queueing: type and submit new prompts while the agent is working. They are shown dimmed in the conversation and dispatched automatically when the current turn finishes.
Compact, expandable output: tool output is collapsed to a one-line summary by default (like HTML
<details>); click it or press Ctrl+O to expand.
It also provides a persistent status bar showing the current model, token usage relative to the context window, and agent state.
Installation#
The TUI requires the tui extra:
pipx install 'gptme[tui]'
Usage#
Start a new conversation in the current directory:
gptme-tui
Resume the most recent conversation:
gptme-tui --resume
Conversations are stored in the same format and location as CLI conversations,
so they can be opened interchangeably: start in the TUI, resume in the CLI
(gptme --resume), or vice versa (gptme-tui -n <name>).
Inline mode (experimental)#
By default the TUI runs in the alternate screen with its own scrollable chat
view. With --inline it instead renders like Claude Code: messages are
printed into the terminal’s native scrollback while only a small live
region (streaming preview, input, status bar) stays at the bottom:
gptme-tui --inline
Terminal/tmux scrolling then works normally, and the transcript stays in your scrollback after exit. Trade-offs: past tool output can’t be expanded in place (Ctrl+O instead toggles whether future tool output prints expanded), and mouse interaction is left entirely to the terminal.
Keys#
Key |
Action |
|---|---|
Enter |
Send prompt (queues it if the agent is busy) |
Alt+Enter |
Insert newline (Ctrl+J also works) |
Tab |
Complete slash-commands and their arguments |
Escape |
Interrupt generation |
Ctrl+C |
Interrupt generation, or quit when idle |
Ctrl+D |
Quit |
Ctrl+O |
Expand/collapse all tool outputs |
When a tool is about to execute, a confirmation dialog shows a preview; press y to execute, n to skip, or a to auto-confirm for the rest of the session.
Commands#
The TUI supports the same slash-commands as the CLI
(/model, /undo, /tokens, …), with the same Tab completion,
by routing them through the shared command registry. Command output is
shown inline in the conversation. /quit is a TUI-local alias for
/exit.
Limitations#
The TUI is young and intentionally minimal. Commands that need an external
terminal program (e.g. /edit spawning $EDITOR) don’t work yet; resume
the conversation in the CLI for those. Non-interactive/scripted use should
keep using gptme directly.