Mapped from Codex Desktop 26.519.81530 by inspecting the app bundle:
- App:
/Applications/Codex.app - Bundle id:
com.openai.codex - Registered URL scheme:
codex:// - Parser source after extracting
app.asar:.vite/build/workspace-root-drop-handler-DJwLZgXt.js
codex://automations
Opens Automations with create mode.
codex://skills
Opens Skills.
codex://settings
codex://settings/browser-use
codex://settings/computer-use/google-chrome
codex://settings/connections
Recognized settings sections:
browser-usecomputer-use/google-chromeconnections
Any other codex://settings/... path falls back to general settings.
codex://threads/<conversation_uuid>
<conversation_uuid> must match a UUID:
00000000-0000-0000-0000-000000000000
Navigates to:
/local/<conversation_uuid>
codex://threads/new
codex://threads/new?prompt=<text>
codex://threads/new?originUrl=<url>
codex://threads/new?path=<path>
codex://threads/new?prompt=<text>&originUrl=<url>&path=<path>
Also accepted:
codex://new?prompt=<text>
codex://new?originUrl=<url>
codex://new?path=<path>
codex://new?prompt=<text>&originUrl=<url>&path=<path>
Params:
| Param | Required | Meaning |
|---|---|---|
prompt |
No | Prefills the composer prompt. |
originUrl |
No | Tries to infer/select the workspace by matching a git origin URL. |
path |
No | Uses this directory as the workspace root if it exists and is a directory. |
Notes:
codex://threads/newwith no params is accepted and opens a new thread.codex://newwith no params is ignored; at least one ofprompt,originUrl, orpathmust be present.
codex://plugins/install/<pluginName>?marketplace=<marketplaceName>
Params and constraints:
| Value | Required | Constraint |
|---|---|---|
<pluginName> |
Yes | URL-decoded path segment, non-empty after trim. |
marketplace |
Yes | Must pass Codex marketplace-name validation. |
Unknown query params are rejected.
codex://plugins/<pluginName>?marketplacePath=<path>
codex://plugins/<pluginName>?marketplacePath=<path>&mode=share
Params and constraints:
| Param | Required | Constraint |
|---|---|---|
marketplacePath |
Yes | Must pass local marketplace path validation. |
mode |
No | Only accepted value is share. |
Unknown query params are rejected.
When a local plugin detail deep link is opened from inside an existing Codex window, the current origin host id may be injected internally as hostId.
codex://plugins/<pluginId>
codex://plugins/<pluginId>?hostId=<hostId>
codex://plugins/<pluginId>?source=manage
codex://plugins/<pluginId>?hostId=<hostId>&source=manage
Params:
| Param | Required | Meaning |
|---|---|---|
hostId |
No | Host id to use for plugin lookup. |
source |
No | Only source=manage has special meaning. |
Unlike the plugin install and local plugin detail routes, this route does not reject unknown query params.
codex://pets/install?name=<name>&imageUrl=<https_url>
codex://pets/install?name=<name>&description=<description>&imageUrl=<https_url>
Params and constraints:
| Param | Required | Constraint |
|---|---|---|
name |
Yes | Non-empty after trim. |
description |
No | Optional description. |
imageUrl |
Yes | Must parse as a URL with https: protocol. |
Unknown query params are rejected.
codex://connector/oauth_callback
codex://connector/oauth_callback?returnTo=<value>
Params:
| Param | Required | Meaning |
|---|---|---|
returnTo |
No | Optional return target passed to the renderer. |
The app also passes the full original URL internally as fullRedirectUrl.
codex://codex-app/apply-config
Applies Codex app config from disk.
The parser also accepts these command-line forms:
/Applications/Codex.app/Contents/MacOS/Codex --open-project /path/to/project
/Applications/Codex.app/Contents/MacOS/Codex --open-project=/path/to/projectOn packaged non-macOS builds, a bare Windows path argument after argv index 0 can also be treated as a new-thread project path.
The parser only accepts URLs beginning with:
codex://
Supported hosts:
automations
codex-app
connector
new
pets
plugins
settings
skills
threads
Unknown hosts are ignored.
For routes with strict query validation, the parser rejects any query key outside the allowlist.