cli/slash-commands.md +136 −30
1# Slash commands in Codex CLI1# Slash commands in Codex CLI
2 2
33Slash commands give you fast, keyboard-first control over Codex. Type `/` in the composer to open the slash popup, choose a command, and Codex will perform actions such as switching models, adjusting permissions, or summarizing long conversations without leaving the terminal.Slash commands give you fast, keyboard-first control over Codex. Type `/` in
4the composer to open the slash popup, choose a command, and Codex will perform
5actions such as switching models, adjusting permissions, or summarizing long
6conversations without leaving the terminal.
4 7
5This guide shows you how to:8This guide shows you how to:
6 9
7- Find the right built-in slash command for a task10- Find the right built-in slash command for a task
811- Steer an active session with commands like `/model`, `/personality`, `/permissions`, `/experimental`, `/agent`, and `/status`- Steer an active session with commands like `/model`, `/fast`,
12 `/personality`, `/permissions`, `/agent`, and `/status`
9 13
10## Built-in slash commands14## Built-in slash commands
11 15
1216Codex ships with the following commands. Open the slash popup and start typing the command name to filter the list.Codex ships with the following commands. Open the slash popup and start typing
17the command name to filter the list.
18
19When a task is already running, you can type a slash command and press `Tab` to
20queue it for the next turn. Codex parses queued slash commands when they run, so
21command menus and errors appear after the current turn finishes. Slash
22completion still works before you queue the command.
13 23
14| Command | Purpose | When to use it |24| Command | Purpose | When to use it |
15| ------------------------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |25| ------------------------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
16| [`/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. |
17| [`/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. |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. |
1828| [`/agent`](#switch-agent-threads-with-agent) | Switch the active agent thread. | Inspect or continue work in a spawned sub-agent thread. || [`/agent`](#switch-agent-threads-with-agent) | Switch the active agent thread. | Inspect or continue work in a spawned subagent thread. |
19| [`/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. |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. |
30| [`/plugins`](#browse-plugins-with-plugins) | Browse installed and discoverable plugins. | Inspect plugin tools, install suggested plugins, or manage plugin availability. |
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. |
20| [`/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. |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. |
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`. |
21| [`/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. |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. |
22| [`/exit`](#exit-the-cli-with-quit-or-exit) | Exit the CLI (same as `/quit`). | Alternative spelling; both commands exit the session. |35| [`/exit`](#exit-the-cli-with-quit-or-exit) | Exit the CLI (same as `/quit`). | Alternative spelling; both commands exit the session. |
2336| [`/experimental`](#toggle-experimental-features-with-experimental) | Toggle experimental features. | Enable optional features such as sub-agents from the CLI. || [`/experimental`](#toggle-experimental-features-with-experimental) | Toggle experimental features. | Enable optional features such as subagents from the CLI. |
24| [`/feedback`](#send-feedback-with-feedback) | Send logs to the Codex maintainers. | Report issues or share diagnostics with support. |37| [`/feedback`](#send-feedback-with-feedback) | Send logs to the Codex maintainers. | Report issues or share diagnostics with support. |
25| [`/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. |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. |
26| [`/logout`](#sign-out-with-logout) | Sign out of Codex. | Clear local credentials when using a shared machine. |39| [`/logout`](#sign-out-with-logout) | Sign out of Codex. | Clear local credentials when using a shared machine. |
27| [`/mcp`](#list-mcp-tools-with-mcp) | List configured Model Context Protocol (MCP) tools. | Check which external tools Codex can call during the session. |40| [`/mcp`](#list-mcp-tools-with-mcp) | List configured Model Context Protocol (MCP) tools. | Check which external tools Codex can call during the session. |
28| [`/mention`](#highlight-files-with-mention) | Attach a file to the conversation. | Point Codex at specific files or folders you want it to inspect next. |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. |
29| [`/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. |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. |
43| [`/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. |
30| [`/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. |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. |
31| [`/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. |45| [`/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. |
32| [`/ps`](#check-background-terminals-with-ps) | Show experimental background terminals and their recent output. | Check long-running commands without leaving the main transcript. |46| [`/ps`](#check-background-terminals-with-ps) | Show experimental background terminals and their recent output. | Check long-running commands without leaving the main transcript. |
47| [`/stop`](#stop-background-terminals-with-stop) | Stop all background terminals. | Cancel background terminal work started by the current session. |
33| [`/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. |48| [`/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. |
34| [`/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. |49| [`/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. |
35| [`/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. |50| [`/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. |
38| [`/status`](#inspect-the-session-with-status) | Display session configuration and token usage. | Confirm the active model, approval policy, writable roots, and remaining context capacity. |53| [`/status`](#inspect-the-session-with-status) | Display session configuration and token usage. | Confirm the active model, approval policy, writable roots, and remaining context capacity. |
39| [`/debug-config`](#inspect-config-layers-with-debug-config) | Print config layer and requirements diagnostics. | Debug precedence and policy requirements, including experimental network constraints. |54| [`/debug-config`](#inspect-config-layers-with-debug-config) | Print config layer and requirements diagnostics. | Debug precedence and policy requirements, including experimental network constraints. |
40| [`/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. |55| [`/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. |
56| [`/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. |
41 57
4258`/quit` and `/exit` both exit the CLI. Use them only after you have saved or committed any important work.`/quit` and `/exit` both exit the CLI. Use them only after you have saved or
59committed any important work.
43 60
44The `/approvals` command still works as an alias, but it no longer appears in the slash popup list.61The `/approvals` command still works as an alias, but it no longer appears in the slash popup list.
45 62
55 72
56Expected: Codex confirms the new model in the transcript. Run `/status` to verify the change.73Expected: Codex confirms the new model in the transcript. Run `/status` to verify the change.
57 74
75### Toggle Fast mode with `/fast`
76
771. Type `/fast on`, `/fast off`, or `/fast status`.
782. If you want the setting to persist, confirm the update when Codex offers to save it.
79
80Expected: 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`.
81
58### Set a communication style with `/personality`82### Set a communication style with `/personality`
59 83
60Use `/personality` to change how Codex communicates without rewriting your prompt.84Use `/personality` to change how Codex communicates without rewriting your prompt.
621. In an active conversation, type `/personality` and press Enter.861. In an active conversation, type `/personality` and press Enter.
632. Choose a style from the popup.872. Choose a style from the popup.
64 88
6589Expected: Codex confirms the new style in the transcript and uses it for later responses in the thread.Expected: Codex confirms the new style in the transcript and uses it for later
90responses in the thread.
66 91
6792Codex supports `friendly`, `pragmatic`, and `none` personalities. Use `none` to disable personality instructions.Codex supports `friendly`, `pragmatic`, and `none` personalities. Use `none`
93to disable personality instructions.
68 94
69If the active model doesn't support personality-specific instructions, Codex hides this command.95If the active model doesn't support personality-specific instructions, Codex hides this command.
70 96
71### Switch to plan mode with `/plan`97### Switch to plan mode with `/plan`
72 98
73991. Type `/plan` and press Enter to switch the active conversation into plan mode.1. Type `/plan` and press Enter to switch the active conversation into plan
100 mode.
742. Optional: provide inline prompt text (for example, `/plan Propose a migration plan for this service`).1012. Optional: provide inline prompt text (for example, `/plan Propose a migration plan for this service`).
753. You can paste content or attach images while using inline `/plan` arguments.1023. You can paste content or attach images while using inline `/plan` arguments.
76 103
81### Toggle experimental features with `/experimental`108### Toggle experimental features with `/experimental`
82 109
831. Type `/experimental` and press Enter.1101. Type `/experimental` and press Enter.
841112. Toggle the features you want (for example, **Multi-agents**), then restart Codex.2. Toggle the features you want (for example, Apps or Smart Approvals), then restart Codex if the prompt asks you to.
85 112
86Expected: Codex saves your feature choices to config and applies them on restart.113Expected: Codex saves your feature choices to config and applies them on restart.
87 114
115### Clear the terminal and start a new chat with `/clear`
116
1171. Type `/clear` and press Enter.
118
119Expected: Codex clears the terminal, resets the visible transcript, and starts
120a fresh chat in the same CLI session.
121
122Unlike <kbd>Ctrl</kbd>+<kbd>L</kbd>, `/clear` starts a new conversation.
123
124<kbd>Ctrl</kbd>+<kbd>L</kbd> only clears the terminal view and keeps the current
125chat. Codex disables both actions while a task is in progress.
126
88### Update permissions with `/permissions`127### Update permissions with `/permissions`
89 128
901. Type `/permissions` and press Enter.1291. Type `/permissions` and press Enter.
911302. Select the approval preset that matches your comfort level, for example `Auto` for hands-off runs or `Read Only` to review edits.2. Select the approval preset that matches your comfort level, for example
131 `Auto` for hands-off runs or `Read Only` to review edits.
132
133Expected: Codex announces the updated policy. Future actions respect the
134updated approval mode until you change it again.
135
136### Copy the latest response with `/copy`
137
1381. Type `/copy` and press Enter.
139
140Expected: Codex copies the latest completed Codex output to your clipboard.
92 141
93142Expected: Codex announces the updated policy. Future actions respect the new approval mode until you change it again.If a turn is still running, `/copy` uses the latest completed output instead of
143the in-progress response. The command is unavailable before the first completed
144Codex output and immediately after a rollback.
145
146You can also press <kbd>Ctrl</kbd>+<kbd>O</kbd> from the main TUI to copy the
147latest completed response without opening the slash command menu.
94 148
95### Grant sandbox read access with `/sandbox-add-read-dir`149### Grant sandbox read access with `/sandbox-add-read-dir`
96 150
991. Type `/sandbox-add-read-dir C:\absolute\directory\path` and press Enter.1531. Type `/sandbox-add-read-dir C:\absolute\directory\path` and press Enter.
1002. Confirm the path is an existing absolute directory.1542. Confirm the path is an existing absolute directory.
101 155
102156Expected: Codex refreshes the Windows sandbox policy and grants read access to that directory for later commands that run in the sandbox.Expected: Codex refreshes the Windows sandbox policy and grants read access to
157that directory for later commands that run in the sandbox.
103 158
104### Inspect the session with `/status`159### Inspect the session with `/status`
105 160
1061. In any conversation, type `/status`.1611. In any conversation, type `/status`.
1072. Review the output for the active model, approval policy, writable roots, and current token usage.1622. Review the output for the active model, approval policy, writable roots, and current token usage.
108 163
109164Expected: You see a summary like what `codex status` prints in the shell, confirming Codex is operating where you expect.Expected: You see a summary like what `codex status` prints in the shell,
165confirming Codex is operating where you expect.
110 166
111### Inspect config layers with `/debug-config`167### Inspect config layers with `/debug-config`
112 168
1131. Type `/debug-config`.1691. Type `/debug-config`.
1141702. Review the output for config layer order (lowest precedence first), on/off state, and policy sources.2. Review the output for config layer order (lowest precedence first), on/off
171 state, and policy sources.
115 172
116173Expected: Codex prints layer diagnostics plus policy details such as `allowed_approval_policies`, `allowed_sandbox_modes`, `mcp_servers`, `rules`, `enforce_residency`, and `experimental_network` when configured.Expected: Codex prints layer diagnostics plus policy details such as
174`allowed_approval_policies`, `allowed_sandbox_modes`, `mcp_servers`, `rules`,
175`enforce_residency`, and `experimental_network` when configured.
117 176
118Use this output to debug why an effective setting differs from `config.toml`.177Use this output to debug why an effective setting differs from `config.toml`.
119 178
1221. Type `/statusline`.1811. Type `/statusline`.
1232. Use the picker to toggle and reorder items, then confirm.1822. Use the picker to toggle and reorder items, then confirm.
124 183
125184Expected: The footer status line updates immediately and persists to `tui.status_line` in `config.toml`.Expected: The footer status line updates immediately and persists to
185`tui.status_line` in `config.toml`.
186
187Available status-line items include model, model+reasoning, context stats, rate
188limits, git branch, token counters, session id, current directory/project root,
189and Codex version.
126 190
127191Available status-line items include model, model+reasoning, context stats, rate limits, git branch, token counters, session id, current directory/project root, and Codex version.### Configure terminal title items with `/title`
192
1931. Type `/title`.
1942. Use the picker to toggle and reorder items, then confirm.
195
196Expected: The terminal window or tab title updates immediately and persists to
197`tui.terminal_title` in `config.toml`.
198
199Available title items include app name, project, spinner, status, thread, git
200branch, model, and task progress.
128 201
129### Check background terminals with `/ps`202### Check background terminals with `/ps`
130 203
1311. Type `/ps`.2041. Type `/ps`.
1322. Review the list of background terminals and their status.2052. Review the list of background terminals and their status.
133 206
134207Expected: Codex shows each background terminal’s command plus up to three recent, non-empty output lines so you can gauge progress at a glance.Expected: Codex shows each background terminal's command plus up to three
208recent, non-empty output lines so you can gauge progress at a glance.
135 209
136Background terminals appear when `unified_exec` is in use; otherwise, the list may be empty.210Background terminals appear when `unified_exec` is in use; otherwise, the list may be empty.
137 211
212### Stop background terminals with `/stop`
213
2141. Type `/stop`.
2152. Confirm if Codex asks before stopping the listed terminals.
216
217Expected: Codex stops all background terminals for the current session. `/clean`
218is still available as an alias for `/stop`.
219
138### Keep transcripts lean with `/compact`220### Keep transcripts lean with `/compact`
139 221
1401. After a long exchange, type `/compact`.2221. After a long exchange, type `/compact`.
1412. Confirm when Codex offers to summarize the conversation so far.2232. Confirm when Codex offers to summarize the conversation so far.
142 224
143225Expected: Codex replaces earlier turns with a concise summary, freeing context while keeping critical details.Expected: Codex replaces earlier turns with a concise summary, freeing context
226while keeping critical details.
144 227
145### Review changes with `/diff`228### Review changes with `/diff`
146 229
1471. Type `/diff` to inspect the Git diff.2301. Type `/diff` to inspect the Git diff.
1482. Scroll through the output inside the CLI to review edits and added files.2312. Scroll through the output inside the CLI to review edits and added files.
149 232
150233Expected: Codex shows changes you’ve staged, changes you haven’t staged yet, and files Git hasn’t started tracking, so you can decide what to keep.Expected: Codex shows changes you've staged, changes you haven't staged yet,
234and files Git hasn't started tracking, so you can decide what to keep.
151 235
152### Highlight files with `/mention`236### Highlight files with `/mention`
153 237
160 244
1611. Type `/new` and press Enter.2451. Type `/new` and press Enter.
162 246
163247Expected: Codex starts a fresh conversation in the same CLI session, so you can switch tasks without leaving your terminal.Expected: Codex starts a fresh conversation in the same CLI session, so you
248can switch tasks without leaving your terminal.
249
250Unlike `/clear`, `/new` doesn't clear the current terminal view first.
164 251
165### Resume a saved conversation with `/resume`252### Resume a saved conversation with `/resume`
166 253
1671. Type `/resume` and press Enter.2541. Type `/resume` and press Enter.
1682. Choose the session you want from the saved-session picker.2552. Choose the session you want from the saved-session picker.
169 256
170257Expected: Codex reloads the selected conversation’s transcript so you can pick up where you left off, keeping the original history intact.Expected: Codex reloads the selected conversation's transcript so you can pick
258up where you left off, keeping the original history intact.
171 259
172### Fork the current conversation with `/fork`260### Fork the current conversation with `/fork`
173 261
1741. Type `/fork` and press Enter.2621. Type `/fork` and press Enter.
175 263
176264Expected: Codex clones the current conversation into a new thread with a fresh ID, leaving the original transcript untouched so you can explore an alternative approach in parallel.Expected: Codex clones the current conversation into a new thread with a fresh
265ID, leaving the original transcript untouched so you can explore an alternative
266approach in parallel.
177 267
178268If you need to fork a saved session instead of the current one, run `codex fork` in your terminal to open the session picker.If you need to fork a saved session instead of the current one, run
269`codex fork` in your terminal to open the session picker.
179 270
180### Generate `AGENTS.md` with `/init`271### Generate `AGENTS.md` with `/init`
181 272
1821. Run `/init` in the directory where you want Codex to look for persistent instructions.2731. Run `/init` in the directory where you want Codex to look for persistent instructions.
1832. Review the generated `AGENTS.md`, then edit it to match your repository conventions.2742. Review the generated `AGENTS.md`, then edit it to match your repository conventions.
184 275
185276Expected: Codex creates an `AGENTS.md` scaffold you can refine and commit for future sessions.Expected: Codex creates an `AGENTS.md` scaffold you can refine and commit for
277future sessions.
186 278
187### Ask for a working tree review with `/review`279### Ask for a working tree review with `/review`
188 280
1891. Type `/review`.2811. Type `/review`.
1902. Follow up with `/diff` if you want to inspect the exact file changes.2822. Follow up with `/diff` if you want to inspect the exact file changes.
191 283
192284Expected: Codex summarizes issues it finds in your working tree, focusing on behavior changes and missing tests. It uses the current session model unless you set `review_model` in `config.toml`.Expected: Codex summarizes issues it finds in your working tree, focusing on
285behavior changes and missing tests. It uses the current session model unless
286you set `review_model` in `config.toml`.
193 287
194### List MCP tools with `/mcp`288### List MCP tools with `/mcp`
195 289
2031. Type `/apps`.2971. Type `/apps`.
2042. Pick an app from the list.2982. Pick an app from the list.
205 299
206300Expected: Codex inserts the app mention into the composer as `$app-slug`, so you can immediately ask Codex to use it.Expected: Codex inserts the app mention into the composer as `$app-slug`, so
301you can immediately ask Codex to use it.
302
303### Browse plugins with `/plugins`
304
3051. Type `/plugins`.
3062. Choose a marketplace tab, then pick a plugin to inspect its capabilities or available actions.
307
308Expected: Codex opens the plugin browser so you can review installed plugins,
309discoverable plugins that your configuration allows, and installed plugin state.
310Press <kbd>Space</kbd> on an installed plugin to toggle its enabled state.
207 311
208### Switch agent threads with `/agent`312### Switch agent threads with `/agent`
209 313
2101. Type `/agent` and press Enter.3141. Type `/agent` and press Enter.
2112. Select the thread you want from the picker.3152. Select the thread you want from the picker.
212 316
213317Expected: Codex switches the active thread so you can inspect or continue that agent’s work.Expected: Codex switches the active thread so you can inspect or continue that
318agent's work.
214 319
215### Send feedback with `/feedback`320### Send feedback with `/feedback`
216 321
2171. Type `/feedback` and press Enter.3221. Type `/feedback` and press Enter.
2182. Follow the prompts to include logs or diagnostics.3232. Follow the prompts to include logs or diagnostics.
219 324
220325Expected: Codex collects the requested diagnostics and submits them to the maintainers.Expected: Codex collects the requested diagnostics and submits them to the
326maintainers.
221 327
222### Sign out with `/logout`328### Sign out with `/logout`
223 329