# Codex app commands

Use these commands and keyboard shortcuts to navigate the Codex app.

## Keyboard shortcuts

|             | Action             | macOS shortcut                                                                    |
| ----------- | ------------------ | --------------------------------------------------------------------------------- |
| **General** |                    |                                                                                   |
|             | Command menu       | <kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>Cmd</kbd> + <kbd>K</kbd> |
|             | Settings           | <kbd>Cmd</kbd> + <kbd>,</kbd>                                                     |
|             | Open folder        | <kbd>Cmd</kbd> + <kbd>O</kbd>                                                     |
|             | Navigate back      | <kbd>Cmd</kbd> + <kbd>[</kbd>                                                     |
|             | Navigate forward   | <kbd>Cmd</kbd> + <kbd>]</kbd>                                                     |
|             | Increase font size | <kbd>Cmd</kbd> + <kbd>+</kbd> or <kbd>Cmd</kbd> + <kbd>=</kbd>                    |
|             | Decrease font size | <kbd>Cmd</kbd> + <kbd>-</kbd> or <kbd>Cmd</kbd> + <kbd>\_</kbd>                   |
|             | Toggle sidebar     | <kbd>Cmd</kbd> + <kbd>B</kbd>                                                     |
|             | Toggle diff panel  | <kbd>Cmd</kbd> + <kbd>Option</kbd> + <kbd>B</kbd>                                 |
|             | Toggle terminal    | <kbd>Cmd</kbd> + <kbd>J</kbd>                                                     |
|             | Clear the terminal | <kbd>Ctrl</kbd> + <kbd>L</kbd>                                                    |
| **Thread**  |                    |                                                                                   |
|             | New thread         | <kbd>Cmd</kbd> + <kbd>N</kbd> or <kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>O</kbd> |
|             | Find in thread     | <kbd>Cmd</kbd> + <kbd>F</kbd>                                                     |
|             | Previous thread    | <kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>[</kbd>                                  |
|             | Next thread        | <kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>]</kbd>                                  |
|             | Dictation          | <kbd>Ctrl</kbd> + <kbd>M</kbd>                                                    |

## Slash commands

Slash commands let you control Codex without leaving the thread composer. Available commands vary based on your environment and access.

### Use a slash command

1. In the thread composer, type `/`.
2. Select a command from the list, or keep typing to filter (for example, `/status`).

You can also explicitly invoke skills by typing `$` in the thread composer. See [Skills](https://developers.openai.com/codex/skills).

Enabled skills also appear in the slash command list.

### Available slash commands

| Slash command | Description                                                                            |
| ------------- | -------------------------------------------------------------------------------------- |
| `/feedback`   | Open the feedback dialog to submit feedback and optionally include logs.               |
| `/goal`       | Set a persistent goal for Codex to work toward; use `/plan` first to shape it.         |
| `/mcp`        | Open MCP status to view connected servers.                                             |
| `/plan`       | Toggle plan mode for multi-step planning.                                              |
| `/review`     | Start code review mode to review uncommitted changes or compare against a base branch. |
| `/status`     | Show the thread ID, context usage, and rate limits.                                    |

### Set or manage a goal with `/goal`

Use `/goal` in the app composer to start Goal mode. A goal is a persistent
objective that Codex works toward until it finishes the task, pauses, or needs
more input. To define the goal with Codex first, start with `/plan`, then set
the refined goal with `/goal`.

If `/goal` doesn't appear in the slash command list, enable `features.goals`
in `config.toml`:

```toml
[features]
goals = true
```

You can also run `codex features enable goals` from the CLI or ask Codex to run it.

<CodexScreenshot
  alt="Codex app goal progress controls above the composer"
  lightSrc="/images/codex/app/goal-dialog-light.webp"
  darkSrc="/images/codex/app/goal-dialog-dark.webp"
  class="mb-6"
/>

When a goal is active, the app shows its progress above the composer. Use the
buttons in that progress row to pause or resume the goal, edit the goal text, or
clear the goal instead of typing another slash command. You can keep steering
Codex with follow-up messages while the goal runs.

For guidance on writing effective goals, see [Goal mode](https://developers.openai.com/codex/prompting#goal-mode).

## Deep links

The Codex app registers the `codex://` URL scheme so links can open specific parts of the app directly.

### Common links

Use these links when you just need to open a common app destination. The sections below list the full reference by link type.

| Deep link                     | Opens                                                            |
| ----------------------------- | ---------------------------------------------------------------- |
| `codex://threads/new`         | A new local thread.                                              |
| `codex://threads/<thread-id>` | A local thread. `<thread-id>` must be the thread's session UUID. |
| `codex://settings`            | Settings.                                                        |
| `codex://skills`              | Skills.                                                          |
| `codex://automations`         | Automations with the create flow open.                           |

### Threads

Use these links when you need to open an existing local thread or start a new one.

| Deep link                     | Opens                                                            |
| ----------------------------- | ---------------------------------------------------------------- |
| `codex://threads/<thread-id>` | A local thread. `<thread-id>` must be the thread's session UUID. |
| `codex://threads/new`         | A new local thread.                                              |

For `codex://threads/new`, add any of these query parameters as needed; you can combine them in the same URL.

| Query parameter              | Required | What it does                                                                                                                                                    |
| ---------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `prompt=<text>`              | No       | Sets the initial composer text.                                                                                                                                 |
| `path=<absolute-path>`       | No       | Opens the new thread in a local workspace. `path` must be an absolute path to a local directory. When valid, Codex uses that directory as the active workspace. |
| `originUrl=<git-remote-url>` | No       | Matches one of your current workspace roots by Git remote URL. If `path` is also present, Codex resolves `path` first.                                          |

Example: [Show me some fun stats about how I've been using Codex](codex://threads/new?prompt=Show%20me%20some%20fun%20stats%20about%20how%20I%27ve%20been%20using%20Codex)

### Settings

Use these links when you need to open Settings or a specific settings page.

| Deep link                                     | Opens                                    |
| --------------------------------------------- | ---------------------------------------- |
| `codex://settings`                            | Settings.                                |
| `codex://settings/browser-use`                | Browser use settings.                    |
| `codex://settings/computer-use/google-chrome` | Google Chrome settings for computer use. |
| `codex://settings/connections`                | Remote connections settings.             |

### Skills

Use these links when you need to open Skills.

| Deep link        | Opens   |
| ---------------- | ------- |
| `codex://skills` | Skills. |

### Automations

Use these links when you need to open Automations.

| Deep link             | Opens                                  |
| --------------------- | -------------------------------------- |
| `codex://automations` | Automations with the create flow open. |

### Plugins

Plugin links use different forms depending on whether you are opening a plugin, installing from a marketplace, or working from a local `marketplace.json`. For plugin basics, see [Plugins](https://developers.openai.com/codex/plugins). For local or repo marketplace setup, see [Build plugins](https://developers.openai.com/codex/plugins/build#build-your-own-curated-plugin-list).

#### Plugin detail

| Deep link                     | Opens                 |
| ----------------------------- | --------------------- |
| `codex://plugins/<plugin-id>` | A plugin detail page. |

`<plugin-id>` must identify the plugin. For an OpenAI-curated plugin, use the form `<plugin-name>@openai-curated`.

Codex-generated plugin links can also include these query parameters. Omit both when you handwrite a link.

| Query parameter    | Required | What it does                                                                                                                                    |
| ------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `hostId=<host-id>` | No       | Identifies the Codex host that owns the plugin context, such as `local` or one of your configured remote connections. Codex provides these IDs. |
| `source=manage`    | No       | Preserves the app's plugin-management entry point. It is not admin-only.                                                                        |

Example: [Open the OpenAI Developers plugin](codex://plugins/openai-developers@openai-curated)

#### Local plugin

For local or repo marketplace setup, see [Build plugins](https://developers.openai.com/codex/plugins/build#build-your-own-curated-plugin-list).

| Deep link                                                                   | Opens                                                |
| --------------------------------------------------------------------------- | ---------------------------------------------------- |
| `codex://plugins/<plugin-name>?marketplacePath=<absolute-marketplace-path>` | A local plugin detail page from a local marketplace. |

| Query parameter                               | Required | What it does                                                                                               |
| --------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------- |
| `marketplacePath=<absolute-marketplace-path>` | Yes      | Absolute path to the local `marketplace.json`, for example `/Users/alex/.agents/plugins/marketplace.json`. |
| `mode=share`                                  | No       | Opens the share flow for that local plugin.                                                                |

### Pets

Use these links to open the pet install flow when that feature is enabled.

| Deep link                                                         | Opens                 |
| ----------------------------------------------------------------- | --------------------- |
| `codex://pets/install?name=<pet-name>&imageUrl=<https-image-url>` | The pet install flow. |

| Query parameter              | Required | What it does                                      |
| ---------------------------- | -------- | ------------------------------------------------- |
| `name=<pet-name>`            | Yes      | Sets the pet name.                                |
| `imageUrl=<https-image-url>` | Yes      | Sets the pet image URL. `imageUrl` must be HTTPS. |
| `description=<text>`         | No       | Sets the optional pet description.                |

## See also

- [Features](https://developers.openai.com/codex/app/features)
- [Settings](https://developers.openai.com/codex/app/settings)