TUI Modes
The input and display modes the TUI switches between.
The current mode renders on the line below the input box, followed by the working directory. Since v1.0.19 the labels carry no brackets:
safe(default) — tool calls require user confirmation before executionauto— all tool calls are automatically approved (allowAll = true); sandbox and validator still applyfast— passesprovider.ModeFastthroughgo-llm-routerso supported provider backends request a faster service tier
The session's model and reasoning level (model/reasoning, where reasoning may read auto) sit on the right of the input box's bottom border. The session name is no longer shown there; Session ID: <short id> is part of the header block printed at startup and after each session switch.
The global auto reasoning toggle was removed in v1.1.0. Reasoning is now a per-session level, and auto is one of its values: the agent selector then picks the level from the kind of work it reports.
Since v1.0.21 the transcript prints ⏵ Model(<model> <reasoning>) when a run picks its model and ⏵ Switch(<model> <reasoning>) when fallback moves to another one; the thinking line no longer repeats the model. Compaction shows as ⏵ Compact(tool history) or ⏵ Compact(conversation history). The reply footer is two lines: duration, tokens and finish time first, then model/reasoning and the session label. Since v1.1.0 the footer no longer carries the quota; press Shift+U for it. Finish times are shortened — 15:04 for today, 01-02 15:04 earlier this year, the full date otherwise; the web chat footers drop today's date and the current year the same way.
While a write_todo plan is open, the Plan (done/total) header in the thinking area animates its mark with the spinner until every item is done (v1.1.0).
Auto mode is session-local and resets when the TUI restarts. Fast mode is process-local and is not persisted to config.json.