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;/logoutrevokes. -
/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
| Command | Description |
|---|---|
/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
| Command | Description |
|---|---|
/usage | Provider usage and rate-limit headroom |
/context | Token-budget breakdown for the current turn |
/jobs | Async background jobs status |
/tools | Tools currently visible to the agent |
/extensions (/status) | Open Extension Control Center dashboard |
/agents | Open Agent Control Center dashboard |
/debug | Open debug tools selector |
/changelog [full] | Show changelog entries |
/hotkeys | Show the live keyboard-shortcut list |
Rule of thumb: /usage answers “can I keep working?”; /context answers “will the next turn fit?”.
Misc
| Command | Description |
|---|---|
/settings | Open settings menu |
/login / /logout | OAuth 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 settingsScope 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-agentAccepted 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