cli/slash-commands.md +102 −6
9 9
10- Find the right built-in slash command for a task10- Find the right built-in slash command for a task
11- Steer an active session with commands like `/model`, `/fast`,11- Steer an active session with commands like `/model`, `/fast`,
1212 `/personality`, `/permissions`, `/agent`, and `/status` `/personality`, `/permissions`, `/approve`, `/raw`, `/agent`, and `/status`
13 13
14## Built-in slash commands14## Built-in slash commands
15 15
24| Command | Purpose | When to use it |24| Command | Purpose | When to use it |
25| ------------------------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |25| ------------------------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
26| [`/permissions`](#update-permissions-with-permissions) | Set what Codex can do without asking first. | Relax or tighten approval requirements mid-session, such as switching between Auto and Read Only. |26| [`/permissions`](#update-permissions-with-permissions) | Set what Codex can do without asking first. | Relax or tighten approval requirements mid-session, such as switching between Auto and Read Only. |
27| [`/ide`](#include-ide-context-with-ide) | Include open files, current selection, and other IDE context. | Pull editor context into the next prompt without re-explaining what's open in your IDE. |
28| [`/keymap`](#remap-tui-shortcuts-with-keymap) | Remap TUI keyboard shortcuts. | Inspect and persist custom shortcut bindings in `config.toml`. |
29| [`/vim`](#toggle-vim-mode-with-vim) | Toggle Vim mode for the composer. | Switch between Vim normal/insert behavior and the default composer editing mode. |
27| [`/sandbox-add-read-dir`](#grant-sandbox-read-access-with-sandbox-add-read-dir) | Grant sandbox read access to an extra directory (Windows only). | Unblock commands that need to read an absolute directory path outside the current readable roots. |30| [`/sandbox-add-read-dir`](#grant-sandbox-read-access-with-sandbox-add-read-dir) | Grant sandbox read access to an extra directory (Windows only). | Unblock commands that need to read an absolute directory path outside the current readable roots. |
28| [`/agent`](#switch-agent-threads-with-agent) | Switch the active agent thread. | Inspect or continue work in a spawned subagent thread. |31| [`/agent`](#switch-agent-threads-with-agent) | Switch the active agent thread. | Inspect or continue work in a spawned subagent thread. |
29| [`/apps`](#browse-apps-with-apps) | Browse apps (connectors) and insert them into your prompt. | Attach an app as `$app-slug` before asking Codex to use it. |32| [`/apps`](#browse-apps-with-apps) | Browse apps (connectors) and insert them into your prompt. | Attach an app as `$app-slug` before asking Codex to use it. |
30| [`/plugins`](#browse-plugins-with-plugins) | Browse installed and discoverable plugins. | Inspect plugin tools, install suggested plugins, or manage plugin availability. |33| [`/plugins`](#browse-plugins-with-plugins) | Browse installed and discoverable plugins. | Inspect plugin tools, install suggested plugins, or manage plugin availability. |
34| [`/hooks`](#review-hooks-with-hooks) | Review lifecycle hooks. | Inspect configured hooks, trust new or changed hooks, or disable non-managed hooks before they run. |
31| [`/clear`](#clear-the-terminal-and-start-a-new-chat-with-clear) | Clear the terminal and start a fresh chat. | Reset the visible UI and conversation together when you want a fresh start. |35| [`/clear`](#clear-the-terminal-and-start-a-new-chat-with-clear) | Clear the terminal and start a fresh chat. | Reset the visible UI and conversation together when you want a fresh start. |
32| [`/compact`](#keep-transcripts-lean-with-compact) | Summarize the visible conversation to free tokens. | Use after long runs so Codex retains key points without blowing the context window. |36| [`/compact`](#keep-transcripts-lean-with-compact) | Summarize the visible conversation to free tokens. | Use after long runs so Codex retains key points without blowing the context window. |
33| [`/copy`](#copy-the-latest-response-with-copy) | Copy the latest completed Codex output. | Grab the latest finished response or plan text without manually selecting it. You can also press `Ctrl+O`. |37| [`/copy`](#copy-the-latest-response-with-copy) | Copy the latest completed Codex output. | Grab the latest finished response or plan text without manually selecting it. You can also press `Ctrl+O`. |
34| [`/diff`](#review-changes-with-diff) | Show the Git diff, including files Git isn't tracking yet. | Review Codex's edits before you commit or run tests. |38| [`/diff`](#review-changes-with-diff) | Show the Git diff, including files Git isn't tracking yet. | Review Codex's edits before you commit or run tests. |
35| [`/exit`](#exit-the-cli-with-quit-or-exit) | Exit the CLI (same as `/quit`). | Alternative spelling; both commands exit the session. |39| [`/exit`](#exit-the-cli-with-quit-or-exit) | Exit the CLI (same as `/quit`). | Alternative spelling; both commands exit the session. |
36| [`/experimental`](#toggle-experimental-features-with-experimental) | Toggle experimental features. | Enable optional features such as subagents from the CLI. |40| [`/experimental`](#toggle-experimental-features-with-experimental) | Toggle experimental features. | Enable optional features such as subagents from the CLI. |
41| [`/approve`](#approve-an-auto-review-denial-with-approve) | Approve one retry of a recent auto review denial. | Retry a command or action that the auto reviewer denied. |
42| [`/memories`](#configure-memories-with-memories) | Configure memory use and generation. | Turn memory injection or memory generation on or off without leaving the TUI. |
43| [`/skills`](#use-skills-with-skills) | Browse and use skills. | Improve task-specific behavior by selecting a relevant local skill. |
44| [`/hooks`](#view-lifecycle-hooks-with-hooks) | View and manage lifecycle hooks. | Inspect hook configuration loaded into the current session. |
37| [`/feedback`](#send-feedback-with-feedback) | Send logs to the Codex maintainers. | Report issues or share diagnostics with support. |45| [`/feedback`](#send-feedback-with-feedback) | Send logs to the Codex maintainers. | Report issues or share diagnostics with support. |
38| [`/init`](#generate-agentsmd-with-init) | Generate an `AGENTS.md` scaffold in the current directory. | Capture persistent instructions for the repository or subdirectory you're working in. |46| [`/init`](#generate-agentsmd-with-init) | Generate an `AGENTS.md` scaffold in the current directory. | Capture persistent instructions for the repository or subdirectory you're working in. |
39| [`/logout`](#sign-out-with-logout) | Sign out of Codex. | Clear local credentials when using a shared machine. |47| [`/logout`](#sign-out-with-logout) | Sign out of Codex. | Clear local credentials when using a shared machine. |
40| [`/mcp`](#list-mcp-tools-with-mcp) | List configured Model Context Protocol (MCP) tools. | Check which external tools Codex can call during the session; add `verbose` for server details. |48| [`/mcp`](#list-mcp-tools-with-mcp) | List configured Model Context Protocol (MCP) tools. | Check which external tools Codex can call during the session; add `verbose` for server details. |
41| [`/mention`](#highlight-files-with-mention) | Attach a file to the conversation. | Point Codex at specific files or folders you want it to inspect next. |49| [`/mention`](#highlight-files-with-mention) | Attach a file to the conversation. | Point Codex at specific files or folders you want it to inspect next. |
42| [`/model`](#set-the-active-model-with-model) | Choose the active model (and reasoning effort, when available). | Switch between general-purpose models (`gpt-4.1-mini`) and deeper reasoning models before running a task. |50| [`/model`](#set-the-active-model-with-model) | Choose the active model (and reasoning effort, when available). | Switch between general-purpose models (`gpt-4.1-mini`) and deeper reasoning models before running a task. |
4351| [`/fast`](#toggle-fast-mode-with-fast) | Toggle Fast mode for supported models. | Turn Fast mode on or off, or check whether the current thread is using it. || [`/fast`](#toggle-fast-mode-with-fast) | Toggle a Fast service tier when the model catalog exposes one. | Turn the current model's Fast tier on or off, or check whether the thread is using it. |
44| [`/plan`](#switch-to-plan-mode-with-plan) | Switch to plan mode and optionally send a prompt. | Ask Codex to propose an execution plan before implementation work starts. |52| [`/plan`](#switch-to-plan-mode-with-plan) | Switch to plan mode and optionally send a prompt. | Ask Codex to propose an execution plan before implementation work starts. |
4553| [`/goal`](#set-or-view-an-experimental-task-goal-with-goal) | Set or view an experimental goal for a long-running task. | Give Codex a persistent target to track while a larger task runs. Requires `features.goals`. || [`/goal`](#set-or-view-an-experimental-task-goal-with-goal) | Set, pause, resume, view, or clear a task goal. | Give Codex a persistent target to track while a larger task runs. Requires `features.goals`. |
46| [`/personality`](#set-a-communication-style-with-personality) | Choose a communication style for responses. | Make Codex more concise, more explanatory, or more collaborative without changing your instructions. |54| [`/personality`](#set-a-communication-style-with-personality) | Choose a communication style for responses. | Make Codex more concise, more explanatory, or more collaborative without changing your instructions. |
47| [`/ps`](#check-background-terminals-with-ps) | Show experimental background terminals and their recent output. | Check long-running commands without leaving the main transcript. |55| [`/ps`](#check-background-terminals-with-ps) | Show experimental background terminals and their recent output. | Check long-running commands without leaving the main transcript. |
48| [`/stop`](#stop-background-terminals-with-stop) | Stop all background terminals. | Cancel background terminal work started by the current session. |56| [`/stop`](#stop-background-terminals-with-stop) | Stop all background terminals. | Cancel background terminal work started by the current session. |
49| [`/fork`](#fork-the-current-conversation-with-fork) | Fork the current conversation into a new thread. | Branch the active session to explore a new approach without losing the current transcript. |57| [`/fork`](#fork-the-current-conversation-with-fork) | Fork the current conversation into a new thread. | Branch the active session to explore a new approach without losing the current transcript. |
50| [`/side`](#start-a-side-conversation-with-side) | Start an ephemeral side conversation. | Ask a focused follow-up without disrupting the main thread's transcript. |58| [`/side`](#start-a-side-conversation-with-side) | Start an ephemeral side conversation. | Ask a focused follow-up without disrupting the main thread's transcript. |
59| [`/raw`](#toggle-raw-scrollback-with-raw) | Toggle raw scrollback mode. | Make terminal selection and copying less formatted while reviewing long output. |
51| [`/resume`](#resume-a-saved-conversation-with-resume) | Resume a saved conversation from your session list. | Continue work from a previous CLI session without starting over. |60| [`/resume`](#resume-a-saved-conversation-with-resume) | Resume a saved conversation from your session list. | Continue work from a previous CLI session without starting over. |
52| [`/new`](#start-a-new-conversation-with-new) | Start a new conversation inside the same CLI session. | Reset the chat context without leaving the CLI when you want a fresh prompt in the same repo. |61| [`/new`](#start-a-new-conversation-with-new) | Start a new conversation inside the same CLI session. | Reset the chat context without leaving the CLI when you want a fresh prompt in the same repo. |
53| [`/quit`](#exit-the-cli-with-quit-or-exit) | Exit the CLI. | Leave the session immediately. |62| [`/quit`](#exit-the-cli-with-quit-or-exit) | Exit the CLI. | Leave the session immediately. |
56| [`/debug-config`](#inspect-config-layers-with-debug-config) | Print config layer and requirements diagnostics. | Debug precedence and policy requirements, including experimental network constraints. |65| [`/debug-config`](#inspect-config-layers-with-debug-config) | Print config layer and requirements diagnostics. | Debug precedence and policy requirements, including experimental network constraints. |
57| [`/statusline`](#configure-footer-items-with-statusline) | Configure TUI status-line fields interactively. | Pick and reorder footer items (model/context/limits/git/tokens/session) and persist in config.toml. |66| [`/statusline`](#configure-footer-items-with-statusline) | Configure TUI status-line fields interactively. | Pick and reorder footer items (model/context/limits/git/tokens/session) and persist in config.toml. |
58| [`/title`](#configure-terminal-title-items-with-title) | Configure terminal window or tab title fields interactively. | Pick and reorder title items such as project, status, thread, branch, model, and task progress. |67| [`/title`](#configure-terminal-title-items-with-title) | Configure terminal window or tab title fields interactively. | Pick and reorder title items such as project, status, thread, branch, model, and task progress. |
5968| [`/keymap`](#remap-tui-shortcuts-with-keymap) | Remap TUI keyboard shortcuts. | Inspect and persist custom shortcut bindings in `config.toml`. || [`/theme`](#choose-a-syntax-theme-with-theme) | Choose a syntax-highlighting theme. | Preview and persist a terminal syntax-highlighting theme. |
60 69
61`/quit` and `/exit` both exit the CLI. Use them only after you have saved or70`/quit` and `/exit` both exit the CLI. Use them only after you have saved or
62committed any important work.71committed any important work.
63 72
6473The `/approvals` command still works as an alias, but it no longer appears in the slash popup list.Use `/permissions` to adjust what Codex can do without asking first. Use
74`/approve` only when you need to retry a recent action that automatic review
75denied.
65 76
66## Control your session with slash commands77## Control your session with slash commands
67 78
801. Type `/fast on`, `/fast off`, or `/fast status`.911. Type `/fast on`, `/fast off`, or `/fast status`.
812. If you want the setting to persist, confirm the update when Codex offers to save it.922. If you want the setting to persist, confirm the update when Codex offers to save it.
82 93
8394Expected: Codex reports whether Fast mode is on or off for the current thread. In the TUI footer, you can also show a Fast mode status-line item with `/statusline`.Expected: Codex reports whether the current model's Fast service tier is on or
95off for the current thread. In the TUI footer, you can also show a Fast mode
96status-line item with `/statusline`.
97
98Fast tier commands are catalog-driven. If the current model doesn't advertise a
99Fast tier, Codex won't show `/fast`.
84 100
85### Set a communication style with `/personality`101### Set a communication style with `/personality`
86 102
119 135
120Expected: Codex keeps the goal attached to the active thread while work continues.136Expected: Codex keeps the goal attached to the active thread while work continues.
121 137
138Goal objectives must be non-empty and at most 4,000 characters. For longer
139instructions, put the details in a file and point the goal at that file.
140
122### Toggle experimental features with `/experimental`141### Toggle experimental features with `/experimental`
123 142
1241. Type `/experimental` and press Enter.1431. Type `/experimental` and press Enter.
126 145
127Expected: Codex saves your feature choices to config and applies them on restart.146Expected: Codex saves your feature choices to config and applies them on restart.
128 147
148### Approve an auto review denial with `/approve`
149
150Use `/approve` when the automatic reviewer denied a recent action and you want
151Codex to retry it once.
152
1531. Type `/approve`.
1542. Confirm the retry when Codex shows the relevant denied action.
155
156Expected: Codex retries that denied action once under the current session
157policy.
158
159### Configure memories with `/memories`
160
1611. Type `/memories`.
1622. Choose whether Codex should use existing memories, generate new memories, or
163 keep memory behavior disabled.
164
165Expected: Codex updates the relevant memory settings for future sessions.
166
167### Use skills with `/skills`
168
1691. Type `/skills`.
1702. Pick the skill you want Codex to apply.
171
172Expected: Codex inserts the selected skill context so the next request follows
173that skill's instructions.
174
175### View lifecycle hooks with `/hooks`
176
1771. Type `/hooks`.
1782. Review the loaded lifecycle hook configuration.
179
180Expected: Codex shows the hooks that can run in the current session.
181
129### Clear the terminal and start a new chat with `/clear`182### Clear the terminal and start a new chat with `/clear`
130 183
1311. Type `/clear` and press Enter.1841. Type `/clear` and press Enter.
147Expected: Codex announces the updated policy. Future actions respect the200Expected: Codex announces the updated policy. Future actions respect the
148updated approval mode until you change it again.201updated approval mode until you change it again.
149 202
203### Include IDE context with `/ide`
204
2051. Type `/ide`.
2062. Add optional inline text if you want to explain what Codex should do with the
207 current IDE selection or open files.
208
209Expected: Codex includes available IDE context in the next prompt.
210
211### Toggle Vim mode with `/vim`
212
2131. Type `/vim`.
2142. Continue editing in the composer.
215
216Expected: Codex toggles composer Vim mode for the current session. To make Vim
217mode the default for new sessions, set `tui.vim_mode_default = true` in
218`config.toml`.
219
150### Copy the latest response with `/copy`220### Copy the latest response with `/copy`
151 221
1521. Type `/copy` and press Enter.2221. Type `/copy` and press Enter.
160You can also press <kbd>Ctrl</kbd>+<kbd>O</kbd> from the main TUI to copy the230You can also press <kbd>Ctrl</kbd>+<kbd>O</kbd> from the main TUI to copy the
161latest completed response without opening the slash command menu.231latest completed response without opening the slash command menu.
162 232
233### Toggle raw scrollback with `/raw`
234
2351. Type `/raw`, `/raw on`, or `/raw off`.
236
237Expected: Codex toggles raw scrollback mode, which makes terminal selection and
238copying more direct. You can also use the default <kbd>Alt</kbd>+<kbd>R</kbd>
239binding or persist the default with `tui.raw_output_mode = true`.
240
163### Grant sandbox read access with `/sandbox-add-read-dir`241### Grant sandbox read access with `/sandbox-add-read-dir`
164 242
165This command is available only when running the CLI natively on Windows.243This command is available only when running the CLI natively on Windows.
213Available title items include app name, project, spinner, status, thread, git291Available title items include app name, project, spinner, status, thread, git
214branch, model, and task progress.292branch, model, and task progress.
215 293
294### Choose a syntax theme with `/theme`
295
2961. Type `/theme`.
2972. Preview a theme from the picker, then confirm.
298
299Expected: Codex updates syntax highlighting and persists the choice to
300`tui.theme` in `config.toml`.
301
216### Remap TUI shortcuts with `/keymap`302### Remap TUI shortcuts with `/keymap`
217 303
218Use `/keymap` to inspect, update, and persist keyboard shortcut bindings for the TUI.304Use `/keymap` to inspect, update, and persist keyboard shortcut bindings for the TUI.
349discoverable plugins that your configuration allows, and installed plugin state.435discoverable plugins that your configuration allows, and installed plugin state.
350Press <kbd>Space</kbd> on an installed plugin to toggle its enabled state.436Press <kbd>Space</kbd> on an installed plugin to toggle its enabled state.
351 437
438### Review hooks with `/hooks`
439
4401. Type `/hooks`.
4412. Choose a hook event to inspect the matching handlers.
4423. Trust, disable, or re-enable non-managed hooks as needed.
443
444Expected: Codex opens the hook browser so you can review configured lifecycle
445hooks. Managed hooks appear as managed and can't be disabled from the user hook
446browser.
447
352### Switch agent threads with `/agent`448### Switch agent threads with `/agent`
353 449
3541. Type `/agent` and press Enter.4501. Type `/agent` and press Enter.