Most of omp’s behavior is shaped by one-shot slash commands. Three of those flip a persistent or single-turn mode instead of just dispatching a side action: /loop, /force, and /fast. They compose — /loop with a duration cap is the standard “let it cook overnight” recipe.
Loop mode — /loop [count|duration]
/loop toggles a state where the prompt you send next is re-submitted after every yield, automatically, until a limit hits or you stop it. Useful when the work is iterative and the model already knows the acceptance check: “fix the next failing test”, “process the next file in the queue”, “review the next PR in the list”.
/loop # unlimited; runs until you cancel
/loop 10 # cap at 10 iterations
/loop 30m # wall-clock cap
/loop 2hAccepted units: s, m/min, h/hr, and their plurals. Mixing forms (/loop 10 5m) is rejected. The first prompt you send after toggling becomes the looped prompt; subsequent yields re-fire that same text. Esc cancels the current iteration without disabling loop mode; running /loop again disables it; the duration form ends on its own when the deadline passes.
Loop status appears in the mode segment of the status line alongside any active plan-mode indicator.
Force mode — /force <tool> [prompt]
/force pins the next turn to a specific tool. Scope is exactly one turn — after that turn returns, tool choice is unpinned. Use it when the model keeps reaching for the wrong tool: calling edit on a file that doesn’t exist yet, refusing write on a fresh scaffold, talking instead of dispatching a subagent.
/force write src/server/auth.ts: stub a JWT verifier
/force task # pins next message you sendIf you provide a prompt after the tool name, it’s submitted in the same turn. With just /force <tool>, the pin attaches to whatever you type next. The form /force:<tool> is also accepted.
Fast mode — /fast
/fast toggles the priority service tier on outgoing requests: OpenAI models get service_tier: "priority", Anthropic models get the fast-mode beta (speed: "fast" on supported Opus models). Priority traffic is routed ahead of default-tier requests at a higher per-token cost; it’s the same dial you’d set in the API call yourself. omp counts each priority request against the premiumRequests budget — the same bucket GitHub Copilot premium requests land in — so it surfaces in /usage and the omp stats premium card.
/fast # toggle
/fast on
/fast off
/fast statusThe mode is session-persisted (it survives reloads via service_tier_change entries in the session log) and shows as a small badge in the status line. On providers without a priority tier the flag is dropped before the request leaves, so toggling it is a no-op there.
Which one for which goal
-
Same prompt against a queue or until a check passes →
/loopwith a count or duration cap. -
Locking the next turn to a specific tool →
/force <tool>(with optional prompt).ng run you want to walk away from** →/loopwith a duration cap, in a terminal pane or multiplexer you can leave unattended. -
Model keeps picking the wrong tool →
/force <tool>for one turn, then let it go. -
A turn is latency-critical and you’re on OpenAI or Anthropic →
/fast on, accept the higher cost.
Force is per-turn and unpins itself. Fast is per-session until you toggle it off. None of them replace a clear prompt — they just remove the manual re-submit, the wrong tool choice, or the queueing latency.
Related
-
Slash commands — full reference for the commands above.
-
Goal mode — persistent autonomous objective that pairs with
/loop. -
Plan mode — draft-before-execute mode for harder changes.\n