Skip to content

Interactive mode

hipmmcode (or hipmmcode chat) opens the interactive REPL. By default it runs in a fullscreen managed viewport — an alternate-screen TUI with mouse support, a pinned bottom bar, and in-viewport streaming. Prefer the classic scrollback renderer? hipmmcode config set tui=inline (or /tui inline live).

bash
hipmmcode                                      # fullscreen TUI REPL
hipmmcode chat -p deepseek-anthropic -m deepseek-v4-flash
hipmmcode chat -p xai-oauth -m grok-4.5
hipmmcode chat --legion my-team                # activate a legion for this session only
hipmmcode chat --as team-designer              # adopt an agent profile as the lead persona
hipmmcode -c                                   # continue the most recent session

The screen

  • Transcript area — streaming markdown (headers, lists, bold, code, tables, clickable links) rendered line-by-line as the model responds. Tool calls render as collapsible cards.
  • In-turn task tree — while the agent works, a live tree shows the current tool, todo progress, and spawned teammates, with an animated spinner.
  • Background tasks bar (v0.16.0+) — consecutive background status lines (e.g. bash-7 · running…, teammate notices) collapse into a single ⏺ Background tasks (N) row. Click it or press Ctrl+O to expand the individual lines. The header no longer uses "Team" wording.
  • Input box — multi-line editor with history, completion, and optional vim bindings.
  • Status bar (HUD) — pinned bottom row(s): model, cwd, context pressure gauge ([████░░░░] 42% 85k/200k, model-aware), session tool counts. Style it with /hud (native rows / compact bar), or plug an external command via statusLineCommand.

Keyboard

Everyday

KeyAction
EnterSend
Shift+Enter / Alt+EnterInsert newline (run /terminal-setup once to enable Shift+Enter in your terminal)
EscInterrupt the running turn (when input is empty) · clear the draft (when not)
Ctrl+CInterrupt turn / clear input; twice to exit
Ctrl+OFullscreen transcript view (scroll, expand, select); also expands/collapses the Background tasks bar when that row is focused
Ctrl+BSend the running foreground Bash / Agent to the background (session-resident completion notice)
Ctrl+Z / Shift+Ctrl+ZUndo / redo in the input editor
Ctrl+X Ctrl+EEdit the draft in $VISUAL/$EDITOR (/editor does the same)
Shift+TabCycle permission mode: default → acceptEdits → plan → auto → default (with mode indicator)
/ Input history (or move within a multi-line draft)
Ctrl+RReverse-i-search through input history
!cmdRun a shell command directly (output lands in the conversation); shell is configurable via defaultShell

Completion

  • Tab — list candidates for any slash command and its arguments (/model <Tab> shows provider/model pairs filtered to channels with a key).
  • Ghost hint — typing /mo shows a dim del suffix; press or End to accept. Works for command names and argument values.
  • @ mentions — type @ for fuzzy completion of files and agents. @ lists both file paths and spawnable agents (name (agent) – description). Selecting an agent appends a directed-delegation hint to the model.
  • Bare / — opens the searchable command palette (multi-column, arrow keys + Enter). Single keystroke execution — an exact command match runs on first Enter (/status⏎ no longer needs a second press).
  • Slash menu source tags — menu rows show (user) for custom commands and (mcp) for MCP-provided commands.

Vim mode

/vim (or hipmmcode config set editorMode=vim) enables modal editing in every input surface — the inline editor, the streaming view, and the resting fullscreen composer. Esc → NORMAL, i/a/o/A/I/O → INSERT, with motions (h j k l w b e 0 $), operators (d c y), paste (p), undo (u). The status line shows the current mode. In NORMAL mode with an empty draft, Esc still interrupts a running turn.

Mid-turn team keys

While a turn is running with background teammates: Shift+↑/↓ selects a teammate in the preview, f foregrounds it, k stops it, Enter expands its transcript.

Mid-turn input queue

While a turn is still running you can type the next message. Queued lines show above the composer with a dim [Send now] chip:

ActionEffect
Click [Send now]Abort the current turn and start the queued message immediately
Enter twice within ~800ms (empty draft, queue non-empty)Same as Send now
Recall / edit the most recent queued line into the draft

There is no separate cancel/edit chip on the row — edit via ↑, promote via Send now or double Enter.

Mouse

The fullscreen shell captures the mouse:

  • Hover a collapsed tool card → highlight; click → expand/collapse.
  • Drag-select — character-precise selection that auto-copies on release.
  • Wheel — scroll the viewport (3-line steps); scroll back during a streaming turn.
  • Cmd+click (macOS) / Ctrl+click paths in tool output — open the file in the editor when the terminal/IDE supports it (VS Code may also handle path open itself).

Attachments — images & video

Multimodal input works three ways:

  1. Drag a file onto the terminal — its path is inserted and attached.
  2. @-mention a path.
  3. /paste (aliases /img, /image) — attach an image straight from the clipboard.

Images are analyzed on vision-capable models. Videos are analyzed on video-capable channels (e.g. Gemini, Kimi/Moonshot): the model watches the actual footage — on-screen text, UI actions, timestamps. Models without video support get a clear text placeholder instead. The inline size cap is 32 MB, configurable with HIPMMCODE_VIDEO_MAX_MB.

File paths in file:// form, with spaces, or percent-encoded are resolved cross-platform (POSIX and Windows).

Notifications & terminal integration

  • notifyOnDone=true / notifyOnInputNeeded=true — beep or send a terminal notification when a turn finishes or a permission prompt opens while the window is unfocused. Channel auto-detected (iTerm2, kitty, ghostty, bell) or pinned via notifyChannel.
  • terminalTitle / terminalProgress — status in the tab title (OSC 0) and a progress indicator (OSC 9;4) where supported.
  • awayRecap=true (default) — a "welcome back" recap after ≥5 minutes idle.
  • tips=true (default) — rotating keyboard-shortcut hints under the input.
  • reduce motion — calmer animations (accessibility).

Appearance pickers

/color (alias /theme) opens a live-preview picker — the whole screen re-tints as the highlight moves, so you judge each theme in place and Enter keeps it:

hipmmcode
 /color

Themes  — previews live as you move
  default      terminal ANSI palette
 tokyo-night  icy blues + violet  (active)
  solarized    warm classic
  catppuccin   soft pastel
  monokai      high-contrast neon

↑/↓ preview · Enter keep · Esc revert

/hud picks the bottom status-bar style the same way (native rows / compact bar / force-native). The same picker pattern — arrow keys, (active) marker, Esc-safe — is used across /effort, /output-style, /experiments, and /expand.

Output styles

/output-style switches the response style (concise, explanatory, learning, …); custom styles are markdown files. language=<name> pins the response language.