> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open4rena.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Slash commands

> Every slash command you can type in o4.

Slash commands control o4 from the prompt: switch models, manage the session, open panes, and start work. Type `/` in the prompt to open the completion list and filter it as you type, or press `/` in Navigation Mode to open the command palette. `/help` shows the same list inside o4.

Arguments in `<angle brackets>` are required and arguments in `[square brackets]` are optional. A `|` separates alternatives.

```text theme={null}
/model
/goal Make the integration tests pass without skipping any
/export notes/session.md
```

Skills and plugin commands also run as slash commands, for example `/review` for a skill named `review`. Built-in commands take precedence over a skill or plugin command with the same name. See [Skills](/extend/skills) and [Plugins and marketplaces](/extend/plugins).

## Commands while a task is running

You can type a slash command while the model is working. Commands that show information, open a pane or a browser, or change side state such as the goal or the todo list run right away. Commands that change the conversation, the model or the tools wait in a queue and run, in order, when the current task finishes. o4 shows `Queued '/<name>' until the active task finishes.` When more than one command is waiting, the notice ends with the count instead, as in `Queued '/rewind' until the active task finishes (2 waiting).` If a queued command starts a new turn, the commands after it wait for that turn too.

These run right away:

* `/help`, `/commands`, `/hey`, `/diff`, `/cost`, `/radar`, `/debrief`, `/context`, `/stats`, `/status`
* `/export`, `/copy`, `/bug`, `/feedback`
* `/config` and its shortcuts, such as `/models`, `/theme` and `/permissions`, plus `/add-provider`, and `/reasoning`, `/login` and `/auth` without an argument
* The browsers and panes: `/agents`, `/sub-agents` and `/skills` with any of their verbs, `/plugins`, `/plugins install` without a source, `/mcp`, `/mcp add` without a name, `/hooks`, `/sessions`, `/rewind list`, `/memory`, `/onboard`
* `/goal` with or without an argument, `/todo`, `/loop`, `/rename`, `/plan clear`, `/panel` and `/panel off`
* `/mcp list`, `/mcp search`, `/workflow list`, `/plugins validate`, `/plugins marketplace list`, `/stash list`, `/router` or `/router status`, `/scout --diff`, `/auth status`, `/auth login chatgpt`
* `/exit` and `/quit`, which quit o4
* The commands under [Not listed in /help](#not-listed-in-/help) that only print a line of text, such as `/version`, `/usage` and `/recall`

Everything else is queued, including `/clear`, `/compact`, `/model` and `/model <reference>`, `/reasoning <level>`, `/login <key>`, `/auth import`, `/undo`, `/retry`, `/resume`, `/fork`, `/rewind` and `/rewind <n>`, `/plan`, `/commit`, `/campaign <objective>`, `/workflow run`, `/init`, `/reload`, `/memory clear`, `/scout`, `/stash` and `/stash <n>`, `/mcp add <name>`, `/mcp remove`, `/mcp restart`, the `/plugins` commands that install, update, remove or create a plugin or change a marketplace, and skills and plugin commands.

`/goal <objective>` sets the goal right away, but its first prompt goes out when the current turn finishes. If you run `/goal clear` or `/goal complete` before then, that prompt doesn't go out.

To switch models during a turn, press `Ctrl+M` with an empty prompt: the model list opens at once, and the model you pick becomes the session's model right away. The running turn finishes on its old model unless the [model router](/models/router) is on. `/model` and `/model <reference>` wait for the turn to finish. `Ctrl+M` works only in terminals that report it as its own key, and not inside tmux; see [Keyboard shortcuts](/reference/keyboard-shortcuts).

A pane you open during a turn can't change the running turn:

* Resuming, forking or rewinding from the session picker, the Time Machine or an action chip is refused until the turn finishes. The session picker shows `Wait for the current turn to finish before resuming, forking or rewinding.`
* These actions are refused too: adding, removing, enabling, disabling, restarting or editing an MCP server; installing, updating or removing a plugin; refreshing or removing a marketplace; creating, editing or deleting a skill or an agent; deleting a session; and **Import Codex auth** and **Import Claude Code auth** in `/config`. o4 closes the pane and shows `Wait for the current turn to finish before making this change.`
* Settings you change in `/config` are saved right away, but some of them, such as the reasoning level, take effect only when the turn finishes. See [The /config screen](/configuration/overview#the-/config-screen).

## Core

| Command | Description |
| - | - |
| `/help` | Open the Help pane: the keyboard reference and every command. |
| `/commands` | Open the same Help pane. |
| `/clear` | Clear the conversation history. |
| `/compact` | Compact the conversation context now. See [Context and cost](/guides/context-and-cost). |
| `/init` | Create or improve the project's root `AGENTS.md`. o4 runs a normal agent turn that reads the repository first. See [Project instructions](/configuration/project-instructions). |
| `/reload` | Reload project instructions and memory without restarting. |
| `/cost` | Show the session's token usage and cost. |
| `/context` | Show how the context window is used. `/context --json` works only in print mode. |
| `/radar` | Show the Workspace Radar's actionable items. See [Code intelligence](/guides/code-intelligence). |
| `/goal [objective\|status\|complete\|clear]` | Start a goal with an objective, show it (`status` or no argument), mark it complete (`complete` or `done`), or clear it (`clear` or `reset`). See [Goals](/guides/goals). |
| `/loop [interval] <prompt>` | Run a prompt or slash command repeatedly as a background task. The interval is `Ns`, `Nm`, `Nh` or `Nd`, and defaults to `10m`. You can also write the interval at the end, as in `/loop check the deploy every 20m` or `every 2 hours`. Seconds round up to whole minutes, and minute intervals above 59 round to the nearest whole hour. |
| `/retry` | Resend your last message to retry the last failed turn. |
| `/undo` | Undo o4's most recent file write or edit. Run it again to step further back. See [Undo and rewind](/guides/checkpoints). |
| `/hey [message]` | Open a scratch side chat that never touches the main conversation. An optional message is sent as the first question. |
| `/todo [add <text>]` | Add an item to the session todo list and open the list. Bare `/todo` and `/todo list` are meant to open the list, but in 0.2.74 they only refresh it when it's already open; press `Alt+L` instead. See [Todos and background tasks](/guides/tasks-and-todos). |
| `/onboard` | Open the onboarding wizard to set up a provider and model. |
| `/bug [text]` | Open a pre-filled GitHub bug report. See [Feedback and support](/help/feedback). |
| `/feedback [text]` | Open a pre-filled GitHub issue to share an idea or request a feature. |

Examples:

```text theme={null}
/loop 30m check the deploy
/todo add Update the changelog
/hey what does the --locked flag do in cargo?
```

## Configuration

| Command | Description |
| - | - |
| `/config [tab [add]]` | Open settings. The tab is one of `general`, `model`, `reasoning`, `providers`, `appearance`, `keys`, `mcp`, `plugins`, `agents`, `skills` or `tools`. `/config providers add` opens the **Providers** tab at the **Add custom provider** row; press `Enter` to add one. See [Configuration files](/configuration/overview). |
| `/model` | Open the model selector to switch the model for this session. `/model <provider:model>`, for example `/model anthropic:claude-sonnet-4-6`, switches to that model for the session instead. Neither saves a default model; use the **Model** row of `/config model` for that. See [Choosing a model](/models/overview). |
| `/panel [off]` | Show which models your plain messages go to after a `^model ^model` panel, or end the panel with `off`. See [Panels](/guides/prompting#panels-of-two-or-more-models). |
| `/router [setup\|status\|disable]` | Set up, inspect or turn off the [model router](/models/router). `status` is the default. |
| `/hooks` | List the configured lifecycle hooks. See [Hooks](/extend/hooks). |

`/router setup` on its own shows a preview of the router configuration. Add `--yes` to write it. If fewer than two providers are usable, it shows `Router setup was not enabled.` and writes nothing, even with `--yes`. It also refuses to write when a file that takes precedence, such as the project's `.o4/config.toml` or `~/.o4/managed/config.toml`, already has a `[router]` section. It accepts these options:

| Option | Description |
| - | - |
| `--yes`, `-y` | Write the configuration instead of showing a preview. |
| `--project` | Write to the project's `.o4/config.toml` instead of `~/.o4/config.toml`. |
| `--candidate <provider:model>` | A model the router may use. Repeat for several. With `--yes`, the models you pass replace the file's `candidates` list, and leaving `--candidate` out removes the list. |
| `--capacity <provider=N>` | A capacity limit for a provider, as a whole number above zero. |

`/router disable --project` turns the router off in the project's config. `/router off` is the same as `/router disable`. Router changes take effect in the next session. See the [router settings](/reference/configuration#router).

```text theme={null}
/config appearance
/router setup --candidate anthropic:claude-sonnet-4-6 --candidate openai:gpt-5.2
```

## Session

| Command | Description |
| - | - |
| `/resume [id]` | Open the session picker, or switch to the session with that ID. See [Sessions](/guides/sessions). |
| `/fork [name]` | Fork the conversation into a new session and keep the original. With no name, open the fork switcher. |
| `/rename [title]` | Rename the session. With no title, the prompt is filled with the current title for editing. |
| `/stash [list]` | Work with prompts you put aside with `Ctrl+S`. `/stash list` shows them, numbered from `0`, and `/stash <n>` puts prompt `n` back into the prompt box. `/stash` on its own does nothing, because the prompt box is already empty when the command runs. See [Writing prompts](/guides/prompting). |
| `/rewind [id\|list]` | Go back to a checkpoint. With no argument, open the Time Machine. `list` (or `ls`) lists checkpoints, and a number rewinds to that checkpoint right away, without asking. A checkpoint that has a row in the Time Machine restores files and conversation; any other checkpoint restores files only. See [Undo and rewind](/guides/checkpoints). |
| `/debrief` | Show the session debrief: changed files, commands, verification, open threads and decisions. |

<Warning>
  `/rewind` replaces the current conversation and files with the checkpoint's state. Use `/fork` first if you want to keep the current line of work.
</Warning>

## Tools

| Command | Description |
| - | - |
| `/diff` | Open the overlay with the files changed in this session. |
| `/commit` | Build a `chore:` commit message from `git diff --stat` and the list of changed files, ask **Commit with this message?**, then stage everything with `git add -A` and commit. It doesn't call the model. See [Git and code review](/guides/git-and-review). |
| `/export <path>` | Export the conversation to a Markdown file. A relative path starts at the working directory. The folder must already exist, and `~` isn't expanded. `/export clipboard` copies the conversation to the clipboard instead. |
| `/copy [last\|all]` | Copy the last reply (`last`, the default) or the whole transcript (`all`) to the clipboard. |
| `/scout [--diff]` | Open **Project Scout**: it analyzes the project and suggests tools, MCP servers and skills to turn on or off, with the token cost of each. Pick with `Space` and press `Enter` to save your picks to `.o4/config.toml`; they apply in the next session. `/scout --diff` opens the same pane, and unlike `/scout` it also runs while a task is running. See [Code intelligence](/guides/code-intelligence). |

```text theme={null}
/export refactor-session.md
/copy all
```

## MCP

| Command | Description |
| - | - |
| `/mcp` | Open the MCP browser with your configured servers and the registry search. |
| `/mcp add [name]` | Add a server from the registry. With no name, open the add flow in the browser. |
| `/mcp remove <name>` | Remove a server. |
| `/mcp list` | List configured servers. |
| `/mcp search [query]` | Search the MCP registry. With no query, open the registry search. |
| `/mcp restart [name]` | Restart one server, or all servers. |

In o4 0.2.74, registry lookups fail, so `/mcp add <name>` and `/mcp search` don't find servers. Add servers with **Add server** in `/mcp` instead. See [MCP servers](/extend/mcp).

## Memory

| Command | Description |
| - | - |
| `/memory` | Show memory status. |
| `/memory clear` | Delete the memory files for the current project. |

See [Memory](/guides/memory).

## Agents

| Command | Description |
| - | - |
| `/agents` | Open the **Agent command center**: the main agents, subagents, background tasks, campaigns and campaign workers in every tab of this o4. Tasks started with `/loop` aren't listed; see the Task Board (`Alt+B`). See [Todos and background tasks](/guides/tasks-and-todos#see-and-control-background-work). |
| `/sub-agents` | Open the **Agents** browser to browse, create, edit, delete and select agent definitions. |
| `/campaign <objective>` | Start a validated multi-agent campaign. See [Campaigns](/guides/campaigns). |

`/sub-agents` also takes a verb: `create [name]` (or `new`) opens the create form, and `select`, `use`, `edit`, `delete` or `remove` followed by a name opens that definition. `/agents` accepts the same verbs and then opens the **Agents** browser instead of the command center. See [Subagents](/guides/subagents).

```text theme={null}
/sub-agents create reviewer
/campaign Migrate the settings module to the new config loader
```

## Skills

| Command | Description |
| - | - |
| `/skills` | Browse, create, edit, delete and select skills. |

Like `/sub-agents`, `/skills` takes `create [name]` (or `new`), and `select`, `use`, `edit`, `delete` or `remove` followed by a skill name. See [Skills](/extend/skills).

## Plugins

| Command | Description |
| - | - |
| `/plugins` | Open the plugin browser: installed plugins, Git installs and load errors. `/plugins list` does the same. |
| `/plugins install [source] [--project]` | Install a plugin by marketplace name, `owner/repo`, git URL or local path. With no source, open the install flow. `--project` installs it for this project only. |
| `/plugins remove <name>` | Remove a plugin. |
| `/plugins update <name>` | Update a plugin. |
| `/plugins new <name>` | Create a new plugin skeleton in the project's `.o4/plugins/` folder. The workspace must be [trusted](/safety/workspace-trust). |
| `/plugins validate [name]` | Check a plugin's commands, agents, skills and workflows, or every installed plugin when you give no name. Problems show in the plugin browser. |
| `/plugins marketplace [add <source>\|remove <name>\|refresh [name]\|list]` | Manage marketplaces. With no subcommand, list them. |
| `/workflow [list\|run <name> [--stage <stage>] [args...]]` | List plugin workflows, or run one, optionally from a given stage. |

See [Plugins and marketplaces](/extend/plugins).

```text theme={null}
/plugins install owner/repo
/workflow run release --stage verify
```

## Usage and status

| Command | Description |
| - | - |
| `/stats` | Show session and tool usage statistics. `/stats --json` works only in print mode. |
| `/status` | Show the current model and your account's usage limits, where the provider reports them. |

To get a report from a script, run `o4 -p "/stats --json"` or `o4 -p "/context --json"`. See [Print mode and scripting](/guides/print-mode).

## Not listed in /help

These commands work in every session but don't appear in `/help` or the completion list.

### Session and information

| Command | Description |
| - | - |
| `/plan` | Turn on plan mode. `/plan clear` (or `dismiss`, or `close`) hides the plan panel. `/ultraplan` does the same as `/plan`. See [Plan mode](/guides/plan-mode). |
| `/exit`, `/quit` | Quit o4. Typing `exit` or `quit` on its own does the same. With anything after it, as in `/exit now`, the text goes to the model as a normal message. |
| `/sessions` | Open the session browser, the same as `/resume` with no ID. See [Sessions](/guides/sessions). |
| `/version` | Show the o4 version. |
| `/env` | Show the o4 version, the current model, the working directory and your shell. |
| `/doctor` | Show the same details as `/env`, plus your terminal (`TERM`) and home directory. Useful to paste into a bug report. |
| `/usage` | Show one line with the session's total tokens, input and output tokens, cache reads and writes, cost, and model. `/insights` and `/summary` show the same line. For more detail, use `/cost` or `/stats`. |
| `/remember <key>=<value>` | Save a key and value in `.o4/session-memory.json` in the current project. It's kept across sessions. `/remember <key>: <value>` works too. |
| `/recall [key]` | With a key, show its saved value. Without one, list the saved keys. |
| `/files` | List the first 30 files and folders at the top of the working directory, with a count of the rest. |
| `/tokens <text>` | Estimate how many tokens some text uses, at about 4 characters per token. |
| `/memdir [query]` | List the Markdown memory files in the project's `.o4/memory/` and in `~/.o4/memory/`. With a query, list only the files that match it, best match first. |
| `/extract-mem <text>` | Show which lines of some text look like facts worth remembering. It saves nothing. |

<Note>
  `/remember` and `/recall` are a note store for you. The model never sees what they save. To give the model something to remember, use [memory](/guides/memory).
</Note>

### Settings shortcuts

Each of these opens `/config` at a tab, and at a row where noted. You can do the same by opening `/config` and moving to the row. `/permissions` and `/rules` are the exception: they open their own pane. See [Configuration files](/configuration/overview).

| Command | Opens |
| - | - |
| `/models` | The **Model** tab. |
| `/reasoning` | The **Reasoning** tab. With a level, such as `/reasoning high`, it sets the reasoning level for this session instead, and refuses a level the current model doesn't offer. See [Reasoning and prompt profiles](/models/reasoning). |
| `/think` | The **Thinking display** row on the **Reasoning** tab. |
| `/provider`, `/providers` | The **Providers** tab. |
| `/add-provider` | The **Add custom provider** row on the **Providers** tab, the same as `/config providers add`. |
| `/permissions`, `/rules` | The **Permission Rules** pane, the same as choosing the **Permission rules** row on the **General** tab. It lists the project's rules from `.o4/config.toml`, and `Enter` removes the selected rule. See [Permissions](/safety/permissions). |
| `/sandbox` | The **Sandbox tier** row on the **General** tab. |
| `/policy` | The **Sandbox policy** row on the **General** tab. |
| `/effort` | The **Reasoning** tab, like `/reasoning` with no level. |
| `/details` | The **Theme** row on the **Appearance** tab. |
| `/theme`, `/themes`, `/color` | The theme preview on the **Appearance** tab, just below the **Theme** row. |
| `/statusline`, `/status-line` | The **Appearance** tab, at the **Timestamps** row. |
| `/timestamps` | The **Timestamps** row on the **Appearance** tab. |
| `/anim` | The **Reduce motion** row on the **Appearance** tab, just below **Animations**. |
| `/keys`, `/vim` | The **Keys** tab, with the **Vim mode** row. |
| `/keybindings` | The **Current keybindings** row on the **Keys** tab. |
| `/tool`, `/tools`, `/lsp`, `/lsp-server`, `/lsp-servers` | The **LSP servers** row on the **Tools** tab. |
| `/formatter`, `/formatters` | The **Formatters** row on the **Tools** tab. |

### Accounts and the model catalog

| Command | Description |
| - | - |
| `/login [api-key]` | With no key, open the **Providers** tab. With a key, save it as the API key for the current model's provider in `~/.o4/settings.json`. |
| `/auth` | Open the **Providers** tab, like `/login` with no key. |
| `/auth status` | Show which providers have a key or login. |
| `/auth set-key <provider> <api-key>` | Save an API key for a provider in `~/.o4/settings.json`, for example `/auth set-key anthropic sk-ant-...`. |
| `/auth logout <provider>` | Remove the stored key for a provider. |
| `/auth import codex`, `/auth import claude` | Import a ChatGPT/Codex or Claude Code login. See [Claude and ChatGPT subscriptions](/models/subscriptions). |
| `/auth login chatgpt` | Show how to sign in with a ChatGPT account. `/auth login codex` does the same. |
| `/models-update` | Download the latest model catalog now, the same as **Refresh catalog** on the **Model** tab. See [Choosing a model](/models/overview). |

<Warning>
  A key you type after `/login` or `/auth set-key` stays in your prompt history. To keep keys out of history, set them in `/config providers` or with an [environment variable](/models/providers).
</Warning>

### Other names for listed commands

| Command | Same as |
| - | - |
| `/command` | `/help` |
| `/agent` | `/sub-agents`, the agent definitions browser. It takes the same verbs as `/sub-agents`. |
| `/tasks`, `/bg` | `/agents`, the **Agent command center** |
| `/fg <task-id>` | `/agents`, with the background task that has this number brought to the front |
| `/skill` | `/skills` |
| `/plugin` | `/plugins` |
| `/mcp-server`, `/mcp-servers` | `/mcp` |
| `/hook` | `/hooks` |
| `/todos` | `/todo` |
| `/ctxviz`, `/ctx_viz` | `/context` |
| `/share` | `/export clipboard`: copy the conversation to the clipboard |
| `/commit-push-pr`, `/commit-push` | `/commit`. Despite the name and the message it prints, it doesn't push or open a pull request. |
| `/thinkback [n]`, `/thinkback-play [n]` | `/rewind list`, or `/rewind <n>` with a number |
| `/teleport [n]` | `/rewind list`, or `/rewind <n>` with a number |

### Commands that do nothing yet

o4 0.2.74 also accepts some command names that only print a message, such as "not yet available" or a tip, and change nothing:

* **Not available yet:** `/voice`, `/branch`, `/issue`, `/tag`, `/add-dir`, `/security-review`, `/bughunter`, `/autofix-pr`, `/pr-comments`, `/onboarding`, `/sandbox-toggle`, `/reload-plugins`, `/remote-env`, `/remote-setup`.
* **Tips and messages with no effect:** `/good-claude`, `/advisor`, `/brief`, `/break-cache`, `/ant-trace`, `/backfill-sessions`, `/heapdump`.
* **Tips:** `/btw` shows one tip from a list of ten, and `/btw <n>` shows tip number `n`, counting from 0. A few of the tips are notes for people who build o4 from source.
* **Messages that point to things that don't exist in 0.2.74:**
  * `/release-notes` points to a file in o4's source repository.
  * `/terminal-setup` suggests an `o4 shell-init` command.
  * `/debug-tool-call` suggests a variable nothing reads.
  * `/rate-limit` shows a request limit o4 doesn't apply.
* **Output styles:** `/output-style` lists the files in `~/.o4/output-styles/`, but o4 can't switch to them yet.

Instead of `/add-dir`, start o4 with `--add-dir`. For a security review, ask the model to use its security-review skill; see [Skills](/extend/skills). To change plugins, restart o4.

For keyboard ways to quit, see [Keyboard shortcuts](/reference/keyboard-shortcuts).
