OMP HUD is OMP’s telemetry HUD: model, todos, agents, context, quota, tokens, speed, Git and tools in one or more compact rows around the composer. It is the fork of OMP Bar v9 renamed and rebuilt in October 2026; /bar still works as a temporary alias.

Representative row (unicode, default look)
 ◌ ᵃˢᵗʳᵃ ☮ ☑☑▣☐⏽☐☐ ⁴  ▰▰▰▱▱▱▱▱ ¹²↓↑⁶⁷⁸⁹ ●●●○○○○○ ⑂main ⧖ ⁸⁵

Left to right: the model nickname, todos with 4 left, the context bar, tokens, quota, the Git branch and speed.

NeedFastest pathResult
See and edit everything/hudVisual editor; every change is saved at once
Compare looks and widths/hud previewEvery sample state under OMP’s own bar
Make a common change/hud make context longerCompiles locally into validated operations
Precise batch changehud_configureInspects, previews or atomically applies operations
Drive the HUD by keyboard↓↓ or F2 on an empty composerFocus, jump hints, walker

Where the latest version lives

WhatWhere
Source of truthprivate omp-hud repository, branch hud, worked on from the development Mac
Backupprivate bare omp-hud.git on loca, pushed by a 30-minute autosave
Originalomp-bar v9.0.0 on loca, fetch-only (upstream-bar)
Backlog and wish ledgerBRIEF.md in the repository; receipts in docs/WAVE*.md
Statuswave 3 independently verified (October 2026): 24/24 ramble rows resolved, 20 of them proven in a live OMP session

Host-specific home-directory paths are intentionally omitted from this published reference.

Install and reload

In the repository, omp started in its directory loads the working tree through .omp/extensions/omp-hud.ts; nothing is installed globally. Elsewhere, link the extracted bundle into ~/.omp/agent/extensions/ and add it to the extensions setting.

Reload

After an edit, start a new OMP session. /reload-plugins refreshes plugins, skills, slash commands, agents and MCP, but does not re-import extension modules: the HUD keeps its old code, key hook and drawing (checked live on OMP 18.6.1).

Commands

CommandDoes
/hudOpen the visual editor
/hud previewEvery state under OMP’s bar; ↑↓ looks, ←→ widths, Enter applies
/hud configPrint areas, rows, look and segment order
/hud look <name>Apply minimal, balanced, full, usage, user or a saved look
/hud look next · look save <name> · look delete <name>Cycle, save (max 12) or delete looks
/hud call this model OpieNickname the current model; list nicknames, forget gpt-6-sol nickname
/hud reset · /hud helpDefaults · all commands

Areas and the editor

The HUD draws in areas around the composer: above input (the default, one row, as v9), below input and bottom. OMP cannot draw a top area, so the editor greys it out. Each area holds rows; each row has left, center and right zones; each area can add a one-row gutter.

KeySegment rowArea headerChild layer
Space / xShow or hideToggle the gutterChange the value
← → / [ ]ReorderMove the areaBack (←)
SSide, in split alignment——
L / ANext row / next area——
EnterOpen its settingsToggle the gutterEdit or select
Esc / qDone (already saved)DoneBack
Ctrl+CRevert to the state at opensamesame

Order is one global left-to-right list that doubles as survival priority: earlier segments are drawn first and dropped last when the terminal narrows.

Focus and walker

The HUD takes the keyboard only from an empty composer, never from a dialog, select, input prompt or the /hud editor.

KeyEffect
↓↓ (within 300 ms)Focus the nearest HUD line below the composer, else above
F2Focus the nearest HUD line above the composer, else below
← → · ↑ ↓Move between segments, rows and areas; crossing the composer returns to it
1–9, a–zJump to the labelled segment of the focused area
EnterWalker: todos, agents, or sessions for any other segment
EscBack; any other key leaves focus and reaches the composer

↑ stays OMP’s prompt-history recall, which is why focus-up is F2. The focused segment is underlined and named in full below (a model shows its provider/id). In the walker, Enter opens a todo or agent detail, or puts /resume <id> in the composer for a session.

Looks

A look is the visual part of the settings: areas and rows, order, shown segments, bars, glyphs, palette, layout and per-segment options. It never carries the enabled flag, motion, per-segment colors, nicknames or redraw timing. The four presets are v9’s set; each sets only what is listed and keeps everything else.

PresetShowsAlso sets
minimalmodel, todos, context, tokens (first)context bar 6, no context %, speed off
balancedmodel, todos, context, tokens, agents, loop, quota, git, tools, speedcontext bar 8, quota bar 6, speed last
fullevery segmentcontext bar 10, quota bar 8
usagemodel, context, quota, tokens, speed, clocksplit alignment, usage bars left, context breakdown, context bar 16, quota bar 8, quota % and reset

Before any look switch the current view goes into the user slot, unless a saved look already holds it or it is a preset nobody touched since the last switch. An edit made under a preset is therefore never lost; /hud look user brings it back.

Natural language

These compile locally, with no model round trip; anything else goes to the agent and hud_configure.

/hud make context longer        /hud put todos right of model
/hud hide percentages           /hud show only model todos context tokens
/hud colors vivid               /hud color git accent
/hud reduce motion              /hud put hud below the input
/hud bottom gutter 1            /hud todos count total

What the segments show

SegmentShows
modelNickname (gpt-6-astra → Astra, always the latest of a family) and thinking level
todosPlan glyphs and the open-task count, counting down; the count and divider vanish when all are done
contextOMP’s /context colors and thresholds; !, !!, !!! mark warn, high and danger without color
agents · loop · modesRunning subagents, loop counter, extension modes
quota · tokens · tps · costProvider quota, token flow, speed, session cost (hidden when unknown)
git · tools · activity · clock · brandBranch state, tool count (a running tool swaps its glyph), activity, time

Glyph sets: unicode (default, icons), nerd (opt-in) and ascii. Color modes: auto, quiet, vivid, classic, plus a color per segment.

Motion

The HUD moves only when something happened, at most 8 frames a second, with no timer while nothing moves: one sheen pass when a turn ends, one pass over the todos when a task completes, and a beat (lit, sheen, rest) while the agent waits on you, with ? or ⌨ in the margin. It follows OMP’s display.shimmer (classic, kitt, disabled). motion: reduced keeps a steady lit marker; motion: off draws neither.

Persistence

WhatBehavior
Fileomp-hud.json in OMP’s agent directory: per user, shared by every project, like OMP’s own settings
WritesEvery change at once, atomically; a session shutdown or process exit writes anything not yet on disk
Unreadable fileThe HUD runs on defaults, shows a banner and refuses to write, so the file is never destroyed
omp-barstatusbar.json is neither read nor written

Source map

ConcernSource
Host contractsrc/core/host.ts (HostAdapter); the core imports no OMP package
OMP adaptersrc/adapters/omp/ (entry, feeds, prefs file, tool, dialogs)
Areas, rows, zonessrc/core/areas/
Focus, hints, walkersrc/core/focus/
Looks, editor, languagesrc/core/control/
Segmentssrc/core/segments/
Motion, glyphs, themesrc/core/motion/, src/core/glyphs/, src/core/theme/

From the repository, bun run verify runs the full suite (v9 parity, core contract, preview snapshots, settings matrix, CPU budget) and bun run preview prints every state without OMP.


OMP docs: wiki.omp.loca.zone · Upstream runtime: oh-my-pi