Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content
Using the harness

Interactive TUI

Running minima with no prompt opens the interactive terminal UI: a scrolling conversation view, an input prompt, and a status bar. Type a message and press Enter to send it; the harness routes it, runs the chosen model, streams the reply, and executes any tool calls (asking permission where required).

The status bar

The bar along the bottom shows, at a glance:

  • Model — the pinned model, or auto when Minima is routing.
  • Cost — running total from the cost meter for this session.
  • Context — percentage of the model's context window used, plus token counts.
  • State — whether a turn is in flight, plus plan/verification state when plan verification is active.

Keyboard shortcuts

KeyAction
EnterSend the current prompt
/ Cycle input history (at the prompt) · navigate items (in a picker)
Alt+/Jump by word (also Alt+B/F)
Ctrl+A / Home·EndLine start / start·end
Ctrl+K / Ctrl+UKill to end / to start of line
Ctrl+WKill the previous word (also Alt+Backspace)
Ctrl+VPaste clipboard (terminal paste also works)
Ctrl+YCopy the last assistant reply
Ctrl+X Ctrl+ECompose the current draft in $EDITOR (readline's edit-and-execute-command)
Esc / Ctrl+CAbort the in-flight run (Ctrl+C twice at the prompt quits)
Ctrl+ZSuspend to the shell (fg returns)
Shift+TabCycle permission modes (build → accept → plan → bypass)
Ctrl+LOpen the model picker
Ctrl+POpen the command palette (slash commands)
Ctrl+RToggle route mode (auto ↔ confirm)
Ctrl+EToggle thinking display
Ctrl+TTable of contents
Ctrl+GPlan Overview
Ctrl+BToggle the task panel
TabAuto-complete a slash command
ℹ️Note

Scrolling, text selection, and copy are native to your terminal (wheel/trackpad) — the TUI doesn't capture the mouse. In pickers, use / to move, Enter to choose, Esc to dismiss.

Rebinding keys

Ten of the shortcuts above are rebindable in ~/.minima-harness/keymap.toml. It is a global file — a project can never rebind your keys — and it is read once at startup, so restart the TUI after editing it.

[keys]
"thinking.cycle"   = "ctrl+n"        # Ctrl+E by default
"model.picker"     = "alt+m"         # Ctrl+L
"command.palette"  = "ctrl+p"
"route.mode"       = "ctrl+r"
"toc.panel"        = "ctrl+t"
"plan.overview"    = "ctrl+g"
"task.panel"       = "ctrl+b"
"reply.copy"       = "ctrl+y"
"permission.cycle" = "shift+tab"
"editor.open"      = "ctrl+x ctrl+e" # the only action that may be a two-key sequence

Anything you leave out keeps its default. The [keys] header is optional — rows at the top level of the file mean the same thing.

A chord is modifiers joined to one key by +: ctrl (or control) and alt (or option/meta). A printable key needs one of those two, because a bare key would also type into the prompt; shift is accepted only with tab, since a terminal sends the same bytes for ctrl+k and ctrl+shift+k. For the same reason ctrl+i, ctrl+m, ctrl+h and ctrl+[ are refused — those bytes are Tab, Enter, Backspace and Escape.

The editing keys are not rebindable, by design: the readline chords (Ctrl+A/U/K/W/D/V, Alt+B/F), abort (Esc, Ctrl+C), suspend (Ctrl+Z), Enter, Tab and the arrows. Naming one of them is reported and ignored — a keymap that could take away your ability to stop a running agent would leave you no way back.

Two actions on one chord is reported at startup, naming both, and neither wins: the actions involved keep their defaults. The same goes for anything else the file gets wrong — a bad line costs you that one binding, never your startup. /help always prints the bindings actually in effect. To ignore the file entirely, set MINIMA_TUI_KEYMAP=0.

Slash commands

Type / (or open the palette with Ctrl+P) and pick a command:

Routing & cost

CommandWhat it does
/modelSelect or pin a model (or auto to unpin and let Minima route)
/costShow cost-meter totals
/budgetShow/set the session budget (/budget set <usd> · /budget mode warn|enforce)
/judge [on|off]Toggle LLM quality judging
/reconnectReconnect the routing client

Planning & verification

CommandWhat it does
/planPlan mode (Shift+Tab) + the planning council (start · status · finalize · cancel) — drafts a plan whose steps carry verify checks
/modeShow/set the permission mode: build | accept | plan | bypass
/bpShow Plan Overview status
/why [n|sha]Show the verification evidence behind the plan (or open step n's card). Given a commit hash — seven or more hex characters — it reports which models contributed to that commit, its realized cost, and its gate verdicts instead
/verifyAdversarial whole-plan verification pass (refutation sub-agent)
/auditLint the active plan — non-discriminative checks, missing allowlists, vague steps
/tasksToggle the task panel (Ctrl+B) · /tasks cancel rejects the list + the plan
/treeToggle the live sub-agent tree panel

Memory

CommandWhat it does
/memoryCurated memory: list · add <text> · pin/confirm/reject/delete <n|id> · dream — see the memory ledger

History & recovery

CommandWhat it does
/undoUndo the last change — checkpoint restore + re-prompt (stacks)
/rewind [n]Rewind to an earlier prompt (picker, or /rewind <n> [convo|code|both])
/ckptList git-shadow checkpoints (/ckpt gc prunes old runs' refs)
/new · /resume [id]Start fresh · resume a previous session
/name <label> / /renameName this session (persisted)
/sessionShow session info
/compactSummarize old turns to free context

Setup & misc

CommandWhat it does
/authSign in to Mubit & provision this repo's project
/configShow/set API keys (MUBIT, GEMINI, ANTHROPIC, …)
/permsShow current tool permission grants
/thoughts [on|off]Toggle streaming the model's thinking
/copyCopy the last assistant reply (Ctrl+Y)
/editor [text]Compose the prompt in $EDITOR ($VISUAL first, else nano/vi/vim). It opens empty — the composer has already cleared by the time a command runs — so /editor some text seeds it, and Ctrl+X Ctrl+E is the path that carries a draft you are already typing. Saving applies; an empty buffer or a non-zero exit (vim's :cq) keeps the draft, as with git commit.
/clear · /help · /tipClear chat · list commands · show a tip
/quit, /exitExit the application
💡Tip

/model auto hands routing back to Minima after you've pinned a model. Shift+Tab cycles the permission modes — plan lets the agent read and design without touching files, accept auto-approves edits, bypass skips prompts entirely (trusted repos only).

Related