cli/slash-commands.md +275 −39
1# Slash commands in Codex CLI1# Slash commands in Codex CLI
2 2
33Control Codex during interactive sessionsSlash commands give you fast, keyboard-first control over Codex. Type `/` in
44 the composer to open the slash popup, choose a command, and Codex will perform
55Slash 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.actions such as switching models, adjusting permissions, or summarizing long
6conversations without leaving the terminal.
6 7
7This guide shows you how to:8This guide shows you how to:
8 9
9- Find the right built-in slash command for a task10- Find the right built-in slash command for a task
1011- 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`, `/approve`, `/raw`, `/agent`, and `/status`
11 13
12## Built-in slash commands14## Built-in slash commands
13 15
1416Codex 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.
15 23
16| Command | Purpose | When to use it |24| Command | Purpose | When to use it |
17| ------------------------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |25| ------------------------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
18| [`/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. |
19| [`/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. |
2031| [`/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. |
21| [`/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. |
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. |
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. |
22| [`/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. |
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`. |
23| [`/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. |
24| [`/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. |
2540| [`/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. |
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. |
26| [`/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. |
27| [`/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. |
28| [`/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. |
2948| [`/mcp`](#list-mcp-tools-with-mcp) | List configured Model Context Protocol (MCP) tools. | Check which external tools Codex can call during the session. || [`/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. |
30| [`/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. |
31| [`/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. |
51| [`/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. |
32| [`/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. |
53| [`/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`. |
33| [`/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. |
34| [`/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. |
56| [`/stop`](#stop-background-terminals-with-stop) | Stop all background terminals. | Cancel background terminal work started by the current session. |
35| [`/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. |
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. |
36| [`/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. |
37| [`/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. |
38| [`/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. |
40| [`/status`](#inspect-the-session-with-status) | Display session configuration and token usage. | Confirm the active model, approval policy, writable roots, and remaining context capacity. |64| [`/status`](#inspect-the-session-with-status) | Display session configuration and token usage. | Confirm the active model, approval policy, writable roots, and remaining context capacity. |
41| [`/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. |
42| [`/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. |
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. |
68| [`/theme`](#choose-a-syntax-theme-with-theme) | Choose a syntax-highlighting theme. | Preview and persist a terminal syntax-highlighting theme. |
43 69
4470`/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
71committed any important work.
45 72
4673The `/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.
47 76
48## Control your session with slash commands77## Control your session with slash commands
49 78
57 86
58Expected: Codex confirms the new model in the transcript. Run `/status` to verify the change.87Expected: Codex confirms the new model in the transcript. Run `/status` to verify the change.
59 88
89### Toggle Fast mode with `/fast`
90
911. Type `/fast on`, `/fast off`, or `/fast status`.
922. If you want the setting to persist, confirm the update when Codex offers to save it.
93
94Expected: 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`.
100
60### Set a communication style with `/personality`101### Set a communication style with `/personality`
61 102
62Use `/personality` to change how Codex communicates without rewriting your prompt.103Use `/personality` to change how Codex communicates without rewriting your prompt.
641. In an active conversation, type `/personality` and press Enter.1051. In an active conversation, type `/personality` and press Enter.
652. Choose a style from the popup.1062. Choose a style from the popup.
66 107
67108Expected: 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
109responses in the thread.
68 110
69111Codex supports `friendly`, `pragmatic`, and `none` personalities. Use `none` to disable personality instructions.Codex supports `friendly`, `pragmatic`, and `none` personalities. Use `none`
112to disable personality instructions.
70 113
71If the active model doesn't support personality-specific instructions, Codex hides this command.114If the active model doesn't support personality-specific instructions, Codex hides this command.
72 115
73### Switch to plan mode with `/plan`116### Switch to plan mode with `/plan`
74 117
751181. 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
761192. Optional: provide inline prompt text (for example, `/plan Propose a migration plan for this service`). mode.
1202. Optional: provide inline prompt text (for example, `/plan Propose a
121migration plan for this service`).
773. You can paste content or attach images while using inline `/plan` arguments.1223. You can paste content or attach images while using inline `/plan` arguments.
78 123
79Expected: Codex enters plan mode and uses your optional inline prompt as the first planning request.124Expected: Codex enters plan mode and uses your optional inline prompt as the first planning request.
80 125
81While a task is already running, `/plan` is temporarily unavailable.126While a task is already running, `/plan` is temporarily unavailable.
82 127
128### Set an experimental goal with `/goal`
129
130`/goal` is experimental and only available when `features.goals` is enabled. To enable it, open `/experimental` or add `goals = true` under `[features]` in `config.toml`.
131
1321. Type `/goal <objective>` to set the goal, for example `/goal Finish the migration and keep tests green`.
1332. Type `/goal` to view the current goal.
1343. Use `/goal pause`, `/goal resume`, or `/goal clear` to pause, resume, or remove it.
135
136Expected: Codex keeps the goal attached to the active thread while work continues.
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
83### Toggle experimental features with `/experimental`141### Toggle experimental features with `/experimental`
84 142
851. Type `/experimental` and press Enter.1431. Type `/experimental` and press Enter.
861442. 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.
87 145
88Expected: 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.
89 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
182### Clear the terminal and start a new chat with `/clear`
183
1841. Type `/clear` and press Enter.
185
186Expected: Codex clears the terminal, resets the visible transcript, and starts
187a fresh chat in the same CLI session.
188
189Unlike <kbd>Ctrl</kbd>+<kbd>L</kbd>, `/clear` starts a new conversation.
190
191<kbd>Ctrl</kbd>+<kbd>L</kbd> only clears the terminal view and keeps the current
192chat. Codex disables both actions while a task is in progress.
193
90### Update permissions with `/permissions`194### Update permissions with `/permissions`
91 195
921. Type `/permissions` and press Enter.1961. Type `/permissions` and press Enter.
931972. 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
198 `Auto` for hands-off runs or `Read Only` to review edits.
199
200Expected: Codex announces the updated policy. Future actions respect the
201updated approval mode until you change it again.
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
220### Copy the latest response with `/copy`
94 221
95222Expected: Codex announces the updated policy. Future actions respect the new approval mode until you change it again.1. Type `/copy` and press Enter.
223
224Expected: Codex copies the latest completed Codex output to your clipboard.
225
226If a turn is still running, `/copy` uses the latest completed output instead of
227the in-progress response. The command is unavailable before the first completed
228Codex output and immediately after a rollback.
229
230You can also press <kbd>Ctrl</kbd>+<kbd>O</kbd> from the main TUI to copy the
231latest completed response without opening the slash command menu.
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`.
96 240
97### Grant sandbox read access with `/sandbox-add-read-dir`241### Grant sandbox read access with `/sandbox-add-read-dir`
98 242
1011. Type `/sandbox-add-read-dir C:\absolute\directory\path` and press Enter.2451. Type `/sandbox-add-read-dir C:\absolute\directory\path` and press Enter.
1022. Confirm the path is an existing absolute directory.2462. Confirm the path is an existing absolute directory.
103 247
104248Expected: 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
249that directory for later commands that run in the sandbox.
105 250
106### Inspect the session with `/status`251### Inspect the session with `/status`
107 252
1081. In any conversation, type `/status`.2531. In any conversation, type `/status`.
1092. Review the output for the active model, approval policy, writable roots, and current token usage.2542. Review the output for the active model, approval policy, writable roots, and current token usage.
110 255
111256Expected: 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,
257confirming Codex is operating where you expect.
112 258
113### Inspect config layers with `/debug-config`259### Inspect config layers with `/debug-config`
114 260
1151. Type `/debug-config`.2611. Type `/debug-config`.
1162622. 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
263 state, and policy sources.
117 264
118265Expected: 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
266`allowed_approval_policies`, `allowed_sandbox_modes`, `mcp_servers`, `rules`,
267`enforce_residency`, and `experimental_network` when configured.
119 268
120Use this output to debug why an effective setting differs from `config.toml`.269Use this output to debug why an effective setting differs from `config.toml`.
121 270
1241. Type `/statusline`.2731. Type `/statusline`.
1252. Use the picker to toggle and reorder items, then confirm.2742. Use the picker to toggle and reorder items, then confirm.
126 275
127276Expected: 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
277`tui.status_line` in `config.toml`.
278
279Available status-line items include model, model+reasoning, context stats, rate
280limits, git branch, token counters, session id, current directory/project root,
281and Codex version.
282
283### Configure terminal title items with `/title`
284
2851. Type `/title`.
2862. Use the picker to toggle and reorder items, then confirm.
287
288Expected: The terminal window or tab title updates immediately and persists to
289`tui.terminal_title` in `config.toml`.
290
291Available title items include app name, project, spinner, status, thread, git
292branch, model, and task progress.
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
302### Remap TUI shortcuts with `/keymap`
303
304Use `/keymap` to inspect, update, and persist keyboard shortcut bindings for the TUI.
305
3061. Type `/keymap`.
3072. Pick the shortcut context and action you want to change.
3083. Enter the new binding or remove the existing one.
309
310Expected: Codex updates the active keymap and writes the custom binding to `tui.keymap` in `config.toml`.
128 311
129312Available status-line items include model, model+reasoning, context stats, rate limits, git branch, token counters, session id, current directory/project root, and Codex version.Key bindings use names such as `ctrl-a`, `shift-enter`, and `page-down`. Context-specific bindings override `tui.keymap.global`; an empty binding list unbinds the action.
130 313
131### Check background terminals with `/ps`314### Check background terminals with `/ps`
132 315
1331. Type `/ps`.3161. Type `/ps`.
1342. Review the list of background terminals and their status.3172. Review the list of background terminals and their status.
135 318
136319Expected: 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
320recent, non-empty output lines so you can gauge progress at a glance.
137 321
138Background terminals appear when `unified_exec` is in use; otherwise, the list may be empty.322Background terminals appear when `unified_exec` is in use; otherwise, the list may be empty.
139 323
324### Stop background terminals with `/stop`
325
3261. Type `/stop`.
3272. Confirm if Codex asks before stopping the listed terminals.
328
329Expected: Codex stops all background terminals for the current session. `/clean`
330is still available as an alias for `/stop`.
331
140### Keep transcripts lean with `/compact`332### Keep transcripts lean with `/compact`
141 333
1421. After a long exchange, type `/compact`.3341. After a long exchange, type `/compact`.
1432. Confirm when Codex offers to summarize the conversation so far.3352. Confirm when Codex offers to summarize the conversation so far.
144 336
145337Expected: 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
338while keeping critical details.
146 339
147### Review changes with `/diff`340### Review changes with `/diff`
148 341
1491. Type `/diff` to inspect the Git diff.3421. Type `/diff` to inspect the Git diff.
1502. Scroll through the output inside the CLI to review edits and added files.3432. Scroll through the output inside the CLI to review edits and added files.
151 344
152345Expected: 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,
346and files Git hasn't started tracking, so you can decide what to keep.
153 347
154### Highlight files with `/mention`348### Highlight files with `/mention`
155 349
162 356
1631. Type `/new` and press Enter.3571. Type `/new` and press Enter.
164 358
165359Expected: 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
360can switch tasks without leaving your terminal.
361
362Unlike `/clear`, `/new` doesn't clear the current terminal view first.
166 363
167### Resume a saved conversation with `/resume`364### Resume a saved conversation with `/resume`
168 365
1691. Type `/resume` and press Enter.3661. Type `/resume` and press Enter.
1702. Choose the session you want from the saved-session picker.3672. Choose the session you want from the saved-session picker.
171 368
172369Expected: 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
370up where you left off, keeping the original history intact.
173 371
174### Fork the current conversation with `/fork`372### Fork the current conversation with `/fork`
175 373
1761. Type `/fork` and press Enter.3741. Type `/fork` and press Enter.
177 375
178376Expected: 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
377ID, leaving the original transcript untouched so you can explore an alternative
378approach in parallel.
379
380If you need to fork a saved session instead of the current one, run
381`codex fork` in your terminal to open the session picker.
382
383### Start a side conversation with `/side`
384
385Use `/side` to start an ephemeral fork from the current conversation without switching away from the main task.
386
3871. Type `/side` to open a side conversation.
3882. Optionally add inline text, for example `/side Check whether this plan has an obvious risk`.
3893. Return to the parent thread after the focused detour finishes.
390
391Expected: Codex opens a side conversation whose transcript is separate from the parent thread. While you are in side mode, the TUI continues to show parent-thread status so you can see whether the main task is still running.
179 392
180393If you need to fork a saved session instead of the current one, run `codex fork` in your terminal to open the session picker.`/side` is unavailable inside another side conversation and during review mode.
181 394
182### Generate `AGENTS.md` with `/init`395### Generate `AGENTS.md` with `/init`
183 396
1841. Run `/init` in the directory where you want Codex to look for persistent instructions.3971. Run `/init` in the directory where you want Codex to look for persistent instructions.
1852. Review the generated `AGENTS.md`, then edit it to match your repository conventions.3982. Review the generated `AGENTS.md`, then edit it to match your repository conventions.
186 399
187400Expected: 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
401future sessions.
188 402
189### Ask for a working tree review with `/review`403### Ask for a working tree review with `/review`
190 404
1911. Type `/review`.4051. Type `/review`.
1922. Follow up with `/diff` if you want to inspect the exact file changes.4062. Follow up with `/diff` if you want to inspect the exact file changes.
193 407
194408Expected: 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
409behavior changes and missing tests. It uses the current session model unless
410you set `review_model` in `config.toml`.
195 411
196### List MCP tools with `/mcp`412### List MCP tools with `/mcp`
197 413
200 416
201Expected: You see the configured Model Context Protocol (MCP) tools Codex can call in this session.417Expected: You see the configured Model Context Protocol (MCP) tools Codex can call in this session.
202 418
419Use `/mcp verbose` to include detailed server diagnostics. If you pass anything other than `verbose`, Codex shows the command usage.
420
203### Browse apps with `/apps`421### Browse apps with `/apps`
204 422
2051. Type `/apps`.4231. Type `/apps`.
2062. Pick an app from the list.4242. Pick an app from the list.
207 425
208426Expected: 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
427you can immediately ask Codex to use it.
428
429### Browse plugins with `/plugins`
430
4311. Type `/plugins`.
4322. Choose a marketplace tab, then pick a plugin to inspect its capabilities or available actions.
433
434Expected: Codex opens the plugin browser so you can review installed plugins,
435discoverable plugins that your configuration allows, and installed plugin state.
436Press <kbd>Space</kbd> on an installed plugin to toggle its enabled state.
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.
209 447
210### Switch agent threads with `/agent`448### Switch agent threads with `/agent`
211 449
2121. Type `/agent` and press Enter.4501. Type `/agent` and press Enter.
2132. Select the thread you want from the picker.4512. Select the thread you want from the picker.
214 452
215453Expected: 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
454agent's work.
216 455
217### Send feedback with `/feedback`456### Send feedback with `/feedback`
218 457
2191. Type `/feedback` and press Enter.4581. Type `/feedback` and press Enter.
2202. Follow the prompts to include logs or diagnostics.4592. Follow the prompts to include logs or diagnostics.
221 460
222461Expected: Codex collects the requested diagnostics and submits them to the maintainers.Expected: Codex collects the requested diagnostics and submits them to the
462maintainers.
223 463
224### Sign out with `/logout`464### Sign out with `/logout`
225 465
2321. Type `/quit` (or `/exit`) and press Enter.4721. Type `/quit` (or `/exit`) and press Enter.
233 473
234Expected: Codex exits immediately. Save or commit any important work first.474Expected: Codex exits immediately. Save or commit any important work first.
235
236[Previous
237
238Command Line Options](https://developers.openai.com/codex/cli/reference)