How they work

Type / to open the completion menu. Installed skills appear as /skill:<name> and custom command templates expand under their own /<template> name. The keys that drive the editor live on the Keybindings page.

Top 10 you’ll actually use

  • /plan — toggle plan mode; the agent drafts before it executes. See Plan mode.

  • /model — open the model selector; pick a role and provider.

  • /compact — manually summarize older context; pass a focus.

  • /tree — in-place session navigator; jump to any prior message.

  • /branch — start a new thread from a previous message in the same file.

  • /extensions — the Extension Control Center for skills, hooks, custom tools, MCP, plugins.

  • /agents — Agent Control Center; spawn, observe, and steer subagents.

  • /login — OAuth into a provider; /logout revokes.

  • /share — render the session and upload (custom handler, then gist fallback).

  • /handoff — write a structured wrap-up and end the turn.

Session

| Command | Description | | -------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------- | ----- | --------------------------------------------------------------------- | | /session [info\\ | delete] | Show session info or delete the current session | | /resume | Open session picker | | /new | Start a new session | | /drop | Delete current session and start a new one | | /rename <title> | Rename the current session | | /move <path> | Move session to a different working directory | | /tree | Navigate session tree (switch branches) | | /branch | Branch from a previous message (same file, new leaf) | | /fork | Fork from a previous message into a new file | | /compact [focus] | Manually compact session context | | /handoff [focus] | Write a structured wrap-up entry and end the turn | | /btw <question> | Ephemeral side question using the current context | | /retry | Retry the last failed agent turn | | /export [path] | Export session to HTML | | /dump | Copy session transcript to clipboard | | /share | Upload session as a secret GitHub gist (or custom handler) | | /copy [last\\ | code\\ | all\\ | cmd] | Copy last agent message / code block(s) / last bash or python command | | /goal <subcommand> | Persistent autonomous objective (set, show, pause, resume, drop, budget) | | /todo <subcommand> | View/edit todo list (edit, copy, export, import, append, start, done, drop, rm) |

Model

| Command | Description | | ------------------------ | ------------------------------------------ | ---------------------------------------------------------- | ------------------------------------ | | /model (/models) | Open model selector | | /fast [on\\ | off\\ | status] | Toggle OpenAI service-tier fast mode | | /loop [count\\ | duration] | Toggle loop mode (re-submits next prompt after each yield) | | /force <tool> [prompt] | Force the next turn to use a specific tool | | /browser [headless\\ | visible] | Toggle browser headless/visible mode |

Plan

CommandDescription
/plan [prompt]Toggle plan mode; routes the next prompt to the planner

Plan mode is a side-channel turn against a dedicated planner.ed plan-role model. The flow, the approval choices on exit, and when it pays off live on the Plan mode page.

Extensions

| Command | Description | | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------------------------------------------------- | --------- | ------ | -------- | -------- | | /mcp <subcommand> | Manage MCP servers (add, list, remove, test, reauth, unauth, enable, disable, smithery-search, smithery-login, smithery-logout, reconnect, reload, resources, prompts, notifications) | | /ssh <subcommand> | Manage SSH hosts (add, list, remove) | | /memory <subcommand> | Inspect, clear, or rebuild memory (view, clear/reset, enqueue/rebuild, mm list\\ | show\\ | refresh\\ | history\\ | seed\\ | delete\\ | reload) | | /marketplace <subcommand> | Manage marketplace sources and plugins (add, remove, update, list, discover, install, uninstall, installed, upgrade) | | /plugins [list\\ | enable\\ | disable] | View and manage installed plugins (npm + marketplace) | | /reload-plugins | Reload skills, commands, hooks, tools, agents, and MCP |

Authoring lives on the Plugins page.

Info

CommandDescription
/usageProvider usage and rate-limit headroom
/contextToken-budget breakdown for the current turn
/jobsAsync background jobs status
/toolsTools currently visible to the agent
/extensions (/status)Open Extension Control Center dashboard
/agentsOpen Agent Control Center dashboard
/debugOpen debug tools selector
/changelog [full]Show changelog entries
/hotkeysShow the live keyboard-shortcut list

Rule of thumb: /usage answers “can I keep working?”; /context answers “will the next turn fit?”.

Misc

CommandDescription
/settingsOpen settings menu
/login / /logoutOAuth login / revoke
/exit (/quit)Exit interactive mode

Recipes

/force <tool> [prompt]

Pin the next turn to a specific tool. Useful when the model keeps reaching for edit on a file that doesn’t exist yet, or refuses to call write on a fresh scaffold:

/force write Create src/config.ts with the default settings

Scope is exactly one turn. After that turn returns, tool choice is unpinned. Pass just /force write with no prompt to pin the next message you send.

/btw <question>

Ask an ephemeral side question without polluting the transcript. The model sees the current context but the exchange is not persisted, so it doesn’t show in /tree and isn’t part of memory consolidation.

/btw what does the regex on line 47 actually match?

/loop — iterate until done or out of budget

Toggle loop mode and the next prompt you send re-submits after every yield. A bare integer caps iterations; a 10m / 2h / 30s form sets a wall clock. Esc cancels the current iteration; running /loop again disables it.

/loop 10
run the auth tests and fix the first failure you see
 
/loop 20m
clear the typecheck backlog in packages/coding-agent

Accepted units: s, m, min, h, hr, and their plurals. Mixing (e.g. /loop 10 5m) is rejected.

/retry after a context overflow

When the previous turn errored (provider 429, context-length overflow, transient socket reset), /retry resubmits the same user input. If compaction has run since (manual /compact or automatic), the retry uses the compacted context, which is usually what unblocks an overflow. /retry only works on a failed turn; a completed turn with a bad answer wants a steering message or /branch instead.

Custom slash commands

Any markdown file under ~/.omp/agent/commands/<name>.md (user) or <cwd>/.omp/commands/<name>.md (project) becomes /<name> and expands as a prompt. Skills are exposed as /skill:<name>. Authoring details, discovery order, and the TypeScript handler API are on the Prompt templates page.

---
description: Code-review a file or diff
---
 
Review the following for correctness, edge cases, and style:
 
$@

Invoked as /review src/auth.ts, the body is rendered with $@ replaced by the args. Positional forms ($1, $2, $@[1:2]) and $ARGUMENTS are also supported.\n

Ask Docs

AI assistant to help answer questions about the documentation. Answers are read-only and cite docs/source.

Hi! How can I help you with the documentation today? Answers are read-only and cite docs/source.

Ctrl+Enter to send