High-payoff omp habits, ordered roughly by leverage.

Route by role, not by hope

  • Cheap model → smol (fan-out, titles, mechanical work); strong model → slow and plan.
  • Stop running everything on the biggest model “to be safe”.
  • Alt+M assigns roles; Ctrl+P cycles; --smol / --slow / --plan override at launch.

/omfg turns annoyance into policy

  • Agent reached for a banned API or ignored a convention? Type /omfg immediately after.
  • Forges a TTSR rule (time-traveling stream rule) from your complaint.
  • Rule sleeps until a regex matches the live output stream, then aborts mid-token, injects the correction, retries from that point.
  • Zero context cost until it fires; permanent once written. Inspect with omp ttsr.

Plan mode

  • /plan (or Alt+Shift+P) makes the agent hard read-only and writes an execution spec to local://<slug>-plan.md.
  • Quality bar: a competent implementer who never saw the conversation executes the file top to bottom with zero design decisions.
  • Read the plan before approving.
  • Trap: --plan sets the plan role’s model; it does not enter plan mode. See Traps.

ultrathink

  • Bare ultrathink in a prompt requests maximum reasoning for that turn only.
  • Cheaper than raising defaultThinkingLevel globally.
  • Shift+Tab cycles the level live for a stretch of work.

Know your context exits

Not interchangeable:

CommandWhat happensCost
/compactLLM summarizes older historya summarization call
/shakeheavy tool results become recoverable artifact:// refsfree; nothing lost, just parked
/handofffresh session carrying a handoff documentlive context is gone
/freshre-keys a wedged provider stream, context intactfree; use before /clear
/contextshows what is actually filling the windowfree; run it before choosing

/btw and /tan protect your context

  • /btw — side question against current context without polluting it.
  • /tan — full background agent for tangential work. See Multi-agent.

Memory is off until you flip it

  • memory.backend ships off; nothing persists between sessions.
  • omp config set memory.backend mnemopi → local SQLite bank, project-scoped.
  • /memory stats shows what it kept; /memory enqueue forces full retention now.

Read the meter before tuning

omp stats -s          # where the model-minutes went
omp usage             # remaining quota on every authed account
omp bench             # race your models: TTFT, tokens/s
  • ~/.omp/stats.db is plain SQLite: tables messages, tool_calls, user_messages.
  • One query answers e.g. “how many requests does my advisor fire per main turn”.
  • Set advisor.syncBacklog, compaction, and fallback chains from numbers, not vibes.

Edits are anchored, not guessed

  • Default edit mode hashline anchors patches to a content hash minted by the last read.
  • Stale edit is rejected with a diff of what changed — never misapplied.
  • MismatchError means the file moved under the agent; that is the system working.

eval beats bash: python -c

  • eval runs persistent Python and JS cells: shared state, structured display, cancellation.
  • Can call back into the agent’s own tools — tool.read(...), agent(...), parallel(...) — turning “spawn some subagents” into a loop with a budget.
  • python -c loses all of that.

Everything is a path

Read thisGets
read pr://1428a pull request
read issue://42an issue
read agent://Scouta subagent’s output
read ssh://prod/var/log/app.loga remote file
read xd://list of deferred tools

Point at content instead of pasting it into the prompt.

Queue follow-ups instead of interrupting

  • Ctrl+Q queues your next message while the agent works; Alt+Up pulls it back.
  • Steering messages interrupt by default (interruptMode: immediate); set wait to let the agent finish its thought.

Pin secrets down

  • secrets.enabled: true obfuscates configured secrets and credential-shaped tokens before anything leaves for a provider.
  • /share runs a redactor over session snapshots (share.redactSecrets, on by default).
  • Redaction targets credentials, not client data — review plain confidential data yourself.

Let long commands background themselves

  • bash.autoBackground (on by default) moves slow commands into a managed background job instead of blocking the turn.
  • The hub tool then greps its logs, follows them, restarts it, or sends keystrokes.
  • Dev servers and watchers stop being a reason the agent “hangs”.

Import your history from other tools

  • omp --from-claude / omp --from-codex import a Claude Code or Codex session with history intact.
  • omp natively reads CLAUDE.md, AGENTS.md, Cursor MDC, .clinerules, Copilot instructions.

omp cleanse for the diagnostics pile

  • omp cleanse fans out weighted parallel subagents to fix accumulated project type errors and lint noise.

omp git when you want hands on the wheel

  • omp git — fullscreen git UI: split diffs, staging sidebar, commit composer.
  • omp commit writes the message and updates changelogs.

See also: Cheat sheet, Settings, Getting started, Guide.

Condensed from the omp guide by Hugo Lopes (MIT). Verify against your install: omp config list.