SpyBara
Go Premium

Documentation 2026-07-30 23:58 UTC to 2026-07-31 22:02 UTC

23 files changed +125 −52. View all changes and history on the product overview
2026
Fri 31 22:02 Thu 30 23:58 Wed 29 22:01 Tue 28 23:01 Mon 27 18:59 Fri 24 15:00 Thu 23 21:57 Wed 22 20:02 Tue 21 22:02 Mon 20 23:01 Fri 17 22:57 Thu 16 20:57 Wed 15 19:58 Tue 14 17:03 Wed 8 02:01 Mon 6 22:58
Details

165### Model choice165### Model choice

166 166 

167- **`gpt-5.6`**: Start here for demanding agents. It's strongest for ambiguous, multi-step work that needs planning, tool use, validation, and follow-through across a larger context.167- **`gpt-5.6`**: Start here for demanding agents. It's strongest for ambiguous, multi-step work that needs planning, tool use, validation, and follow-through across a larger context.

168- **`gpt-5.4`**: Use this when a workflow is pinned to GPT-5.4. It combines strong coding, reasoning, tool use, and broader workflows.

169- **`gpt-5.6-terra`**: Use for agents that favor speed and efficiency over depth, such as exploration, read-heavy scans, large-file review, or processing supporting documents. It works well for parallel workers that return distilled results to the main agent.168- **`gpt-5.6-terra`**: Use for agents that favor speed and efficiency over depth, such as exploration, read-heavy scans, large-file review, or processing supporting documents. It works well for parallel workers that return distilled results to the main agent.

169- **`gpt-5.6-luna`**: Use for fast, narrowly scoped agents handling clear, repeatable, or high-volume work.

170 170 

171### Reasoning effort (`model_reasoning_effort`)171### Reasoning effort (`model_reasoning_effort`)

172 172 


424```toml424```toml

425name = "reviewer"425name = "reviewer"

426description = "PR reviewer focused on correctness, security, and missing tests."426description = "PR reviewer focused on correctness, security, and missing tests."

427model = "gpt-5.4"427model = "gpt-5.6-terra"

428model_reasoning_effort = "high"428model_reasoning_effort = "high"

429sandbox_mode = "read-only"429sandbox_mode = "read-only"

430developer_instructions = """430developer_instructions = """


439```toml439```toml

440name = "docs_researcher"440name = "docs_researcher"

441description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."441description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."

442model = "gpt-5.4-mini"442model = "gpt-5.6-luna"

443model_reasoning_effort = "medium"443model_reasoning_effort = "medium"

444sandbox_mode = "read-only"444sandbox_mode = "read-only"

445developer_instructions = """445developer_instructions = """


474```toml474```toml

475name = "code_mapper"475name = "code_mapper"

476description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."476description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."

477model = "gpt-5.4-mini"477model = "gpt-5.6-luna"

478model_reasoning_effort = "medium"478model_reasoning_effort = "medium"

479sandbox_mode = "read-only"479sandbox_mode = "read-only"

480developer_instructions = """480developer_instructions = """


488```toml488```toml

489name = "browser_debugger"489name = "browser_debugger"

490description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."490description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."

491model = "gpt-5.4"491model = "gpt-5.6-terra"

492model_reasoning_effort = "high"492model_reasoning_effort = "high"

493sandbox_mode = "workspace-write"493sandbox_mode = "workspace-write"

494developer_instructions = """494developer_instructions = """

app-server.md +9 −9

Details

90Requests include `method`, `params`, and `id`:90Requests include `method`, `params`, and `id`:

91 91 

92```json92```json

93{ "method": "thread/start", "id": 10, "params": { "model": "gpt-5.4" } }93{ "method": "thread/start", "id": 10, "params": { "model": "gpt-5.6-terra" } }

94```94```

95 95 

96Responses echo the `id` with either `result` or `error`:96Responses echo the `id` with either `result` or `error`:


170 },170 },

171});171});

172send({ method: "initialized", params: {} });172send({ method: "initialized", params: {} });

173send({ method: "thread/start", id: 1, params: { model: "gpt-5.4" } });173send({ method: "thread/start", id: 1, params: { model: "gpt-5.6-terra" } });

174```174```

175 175 

176## Core primitives176## Core primitives


376{ "method": "model/list", "id": 6, "params": { "limit": 20, "includeHidden": false } }376{ "method": "model/list", "id": 6, "params": { "limit": 20, "includeHidden": false } }

377{ "id": 6, "result": {377{ "id": 6, "result": {

378 "data": [{378 "data": [{

379 "id": "gpt-5.4",379 "id": "gpt-5.6-sol",

380 "model": "gpt-5.4",380 "model": "gpt-5.6-sol",

381 "displayName": "GPT-5.4",381 "displayName": "GPT-5.6-Sol",

382 "hidden": false,382 "hidden": false,

383 "defaultReasoningEffort": "medium",383 "defaultReasoningEffort": "low",

384 "supportedReasoningEfforts": [{384 "supportedReasoningEfforts": [{

385 "reasoningEffort": "low",385 "reasoningEffort": "low",

386 "description": "Lower latency"386 "description": "Fast responses with lighter reasoning"

387 }],387 }],

388 "inputModalities": ["text", "image"],388 "inputModalities": ["text", "image"],

389 "supportsPersonality": true,389 "supportsPersonality": true,


471 471 

472```json472```json

473{ "method": "thread/start", "id": 10, "params": {473{ "method": "thread/start", "id": 10, "params": {

474 "model": "gpt-5.4",474 "model": "gpt-5.6-terra",

475 "cwd": "/Users/me/project",475 "cwd": "/Users/me/project",

476 "approvalPolicy": "never",476 "approvalPolicy": "never",

477 "sandbox": "workspaceWrite",477 "sandbox": "workspaceWrite",


952 "writableRoots": ["/Users/me/project"],952 "writableRoots": ["/Users/me/project"],

953 "networkAccess": true953 "networkAccess": true

954 },954 },

955 "model": "gpt-5.4",955 "model": "gpt-5.6-terra",

956 "effort": "medium",956 "effort": "medium",

957 "summary": "concise",957 "summary": "concise",

958 "personality": "friendly",958 "personality": "friendly",

Details

100You can also leave the model and reasoning effort on their default settings, or100You can also leave the model and reasoning effort on their default settings, or

101choose them explicitly if you want more control over how the scheduled task runs.101choose them explicitly if you want more control over how the scheduled task runs.

102 102 

103If a scheduled task uses `gpt-5.4` or `gpt-5.4-mini` with ChatGPT sign-in,

104update it before those models retire on August 31, 2026. Replace `gpt-5.4` with

105`gpt-5.6-terra` and `gpt-5.4-mini` with `gpt-5.6-luna`.

106 

103<Illustration description="ChatGPT composer ready to create a scheduled task with 5.6 Sol Extended selected.">107<Illustration description="ChatGPT composer ready to create a scheduled task with 5.6 Sol Extended selected.">

104 <CodexScheduledTasksIllustration108 <CodexScheduledTasksIllustration

105 variant="manage"109 variant="manage"

automations.md +4 −0

Details

100You can also leave the model and reasoning effort on their default settings, or100You can also leave the model and reasoning effort on their default settings, or

101choose them explicitly if you want more control over how the scheduled task runs.101choose them explicitly if you want more control over how the scheduled task runs.

102 102 

103If a scheduled task uses `gpt-5.4` or `gpt-5.4-mini` with ChatGPT sign-in,

104update it before those models retire on August 31, 2026. Replace `gpt-5.4` with

105`gpt-5.6-terra` and `gpt-5.4-mini` with `gpt-5.6-luna`.

106 

103<Illustration description="ChatGPT composer ready to create a scheduled task with 5.6 Sol Extended selected.">107<Illustration description="ChatGPT composer ready to create a scheduled task with 5.6 Sol Extended selected.">

104 <CodexScheduledTasksIllustration108 <CodexScheduledTasksIllustration

105 variant="manage"109 variant="manage"

Details

382| [`/logout`](#sign-out-with-logout) | Sign out of Codex. | Clear local credentials when using a shared machine. |382| [`/logout`](#sign-out-with-logout) | Sign out of Codex. | Clear local credentials when using a shared machine. |

383| [`/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. |383| [`/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. |

384| [`/mention`](#highlight-files-with-mention) | Attach a file to the chat. | Point Codex at specific files or folders you want it to inspect next. |384| [`/mention`](#highlight-files-with-mention) | Attach a file to the chat. | Point Codex at specific files or folders you want it to inspect next. |

385| [`/model`](#set-the-active-model-with-model) | Choose the active model (and reasoning effort, when available). | Switch between models such as `gpt-5.4-mini` and `gpt-5.5` before running a task. |385| [`/model`](#set-the-active-model-with-model) | Choose the active model (and reasoning effort, when available). | Switch between models such as `gpt-5.6-luna` and `gpt-5.6-terra` before running a task. |

386| [`/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 and persist the selection. |386| [`/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 and persist the selection. |

387| [`/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. |387| [`/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. |

388| [`/goal`](#set-or-view-a-task-goal-with-goal) | Set, edit, pause, resume, view, or clear a task goal. | Give Codex a persistent target to track while a larger task runs. |388| [`/goal`](#set-or-view-a-task-goal-with-goal) | Set, edit, pause, resume, view, or clear a task goal. | Give Codex a persistent target to track while a larger task runs. |


420 420 

4211. Start Codex and open the composer.4211. Start Codex and open the composer.

4222. Type `/model` and press Enter.4222. Type `/model` and press Enter.

4233. Choose a model such as `gpt-5.4-mini` or `gpt-5.5` from the popup.4233. Choose a model such as `gpt-5.6-luna` or `gpt-5.6-terra` from the popup.

424 424 

425Expected: Codex confirms the new model in the transcript. Run `/status` to verify the change.425Expected: Codex confirms the new model in the transcript. Run `/status` to verify the change.

426 426 

Details

382| [`/logout`](#sign-out-with-logout) | Sign out of Codex. | Clear local credentials when using a shared machine. |382| [`/logout`](#sign-out-with-logout) | Sign out of Codex. | Clear local credentials when using a shared machine. |

383| [`/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. |383| [`/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. |

384| [`/mention`](#highlight-files-with-mention) | Attach a file to the chat. | Point Codex at specific files or folders you want it to inspect next. |384| [`/mention`](#highlight-files-with-mention) | Attach a file to the chat. | Point Codex at specific files or folders you want it to inspect next. |

385| [`/model`](#set-the-active-model-with-model) | Choose the active model (and reasoning effort, when available). | Switch between models such as `gpt-5.4-mini` and `gpt-5.5` before running a task. |385| [`/model`](#set-the-active-model-with-model) | Choose the active model (and reasoning effort, when available). | Switch between models such as `gpt-5.6-luna` and `gpt-5.6-terra` before running a task. |

386| [`/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 and persist the selection. |386| [`/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 and persist the selection. |

387| [`/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. |387| [`/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. |

388| [`/goal`](#set-or-view-a-task-goal-with-goal) | Set, edit, pause, resume, view, or clear a task goal. | Give Codex a persistent target to track while a larger task runs. |388| [`/goal`](#set-or-view-a-task-goal-with-goal) | Set, edit, pause, resume, view, or clear a task goal. | Give Codex a persistent target to track while a larger task runs. |


420 420 

4211. Start Codex and open the composer.4211. Start Codex and open the composer.

4222. Type `/model` and press Enter.4222. Type `/model` and press Enter.

4233. Choose a model such as `gpt-5.4-mini` or `gpt-5.5` from the popup.4233. Choose a model such as `gpt-5.6-luna` or `gpt-5.6-terra` from the popup.

424 424 

425Expected: Codex confirms the new model in the transcript. Run `/status` to verify the change.425Expected: Codex confirms the new model in the transcript. Run `/status` to verify the change.

426 426 

codex-sdk.md +2 −2

Details

93 93 

94with Codex() as codex:94with Codex() as codex:

95 thread = codex.thread_start(95 thread = codex.thread_start(

96 model="gpt-5.4",96 model="gpt-5.6-terra",

97 sandbox=Sandbox.workspace_write,97 sandbox=Sandbox.workspace_write,

98 )98 )

99 result = thread.run("Make a plan to diagnose and fix the CI failures")99 result = thread.run("Make a plan to diagnose and fix the CI failures")


110 110 

111async def main() -> None:111async def main() -> None:

112 async with AsyncCodex() as codex:112 async with AsyncCodex() as codex:

113 thread = await codex.thread_start(model="gpt-5.4")113 thread = await codex.thread_start(model="gpt-5.6-terra")

114 result = await thread.run("Implement the plan")114 result = await thread.run("Implement the plan")

115 print(result.final_response)115 print(result.final_response)

116 116 

Details

165### Model choice165### Model choice

166 166 

167- **`gpt-5.6`**: Start here for demanding agents. It's strongest for ambiguous, multi-step work that needs planning, tool use, validation, and follow-through across a larger context.167- **`gpt-5.6`**: Start here for demanding agents. It's strongest for ambiguous, multi-step work that needs planning, tool use, validation, and follow-through across a larger context.

168- **`gpt-5.4`**: Use this when a workflow is pinned to GPT-5.4. It combines strong coding, reasoning, tool use, and broader workflows.

169- **`gpt-5.6-terra`**: Use for agents that favor speed and efficiency over depth, such as exploration, read-heavy scans, large-file review, or processing supporting documents. It works well for parallel workers that return distilled results to the main agent.168- **`gpt-5.6-terra`**: Use for agents that favor speed and efficiency over depth, such as exploration, read-heavy scans, large-file review, or processing supporting documents. It works well for parallel workers that return distilled results to the main agent.

169- **`gpt-5.6-luna`**: Use for fast, narrowly scoped agents handling clear, repeatable, or high-volume work.

170 170 

171### Reasoning effort (`model_reasoning_effort`)171### Reasoning effort (`model_reasoning_effort`)

172 172 


424```toml424```toml

425name = "reviewer"425name = "reviewer"

426description = "PR reviewer focused on correctness, security, and missing tests."426description = "PR reviewer focused on correctness, security, and missing tests."

427model = "gpt-5.4"427model = "gpt-5.6-terra"

428model_reasoning_effort = "high"428model_reasoning_effort = "high"

429sandbox_mode = "read-only"429sandbox_mode = "read-only"

430developer_instructions = """430developer_instructions = """


439```toml439```toml

440name = "docs_researcher"440name = "docs_researcher"

441description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."441description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."

442model = "gpt-5.4-mini"442model = "gpt-5.6-luna"

443model_reasoning_effort = "medium"443model_reasoning_effort = "medium"

444sandbox_mode = "read-only"444sandbox_mode = "read-only"

445developer_instructions = """445developer_instructions = """


474```toml474```toml

475name = "code_mapper"475name = "code_mapper"

476description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."476description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."

477model = "gpt-5.4-mini"477model = "gpt-5.6-luna"

478model_reasoning_effort = "medium"478model_reasoning_effort = "medium"

479sandbox_mode = "read-only"479sandbox_mode = "read-only"

480developer_instructions = """480developer_instructions = """


488```toml488```toml

489name = "browser_debugger"489name = "browser_debugger"

490description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."490description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."

491model = "gpt-5.4"491model = "gpt-5.6-terra"

492model_reasoning_effort = "high"492model_reasoning_effort = "high"

493sandbox_mode = "workspace-write"493sandbox_mode = "workspace-write"

494developer_instructions = """494developer_instructions = """

Details

52 52 

53```shell53```shell

54# Dedicated flag54# Dedicated flag

55codex --model gpt-5.455codex --model gpt-5.6-terra

56 56 

57# Generic key/value override (value is TOML, not JSON)57# Generic key/value override (value is TOML, not JSON)

58codex --config model='"gpt-5.4"'58codex --config model='"gpt-5.6-terra"'

59codex --config sandbox_workspace_write.network_access=true59codex --config sandbox_workspace_write.network_access=true

60codex --config 'shell_environment_policy.include_only=["PATH","HOME"]'60codex --config 'shell_environment_policy.include_only=["PATH","HOME"]'

61```61```


164Define additional providers and point `model_provider` at them:164Define additional providers and point `model_provider` at them:

165 165 

166```toml166```toml

167model = "gpt-5.4"167model = "gpt-5.6-terra"

168model_provider = "proxy"168model_provider = "proxy"

169 169 

170[model_providers.proxy]170[model_providers.proxy]

Details

52 52 

53```shell53```shell

54# Dedicated flag54# Dedicated flag

55codex --model gpt-5.455codex --model gpt-5.6-terra

56 56 

57# Generic key/value override (value is TOML, not JSON)57# Generic key/value override (value is TOML, not JSON)

58codex --config model='"gpt-5.4"'58codex --config model='"gpt-5.6-terra"'

59codex --config sandbox_workspace_write.network_access=true59codex --config sandbox_workspace_write.network_access=true

60codex --config 'shell_environment_policy.include_only=["PATH","HOME"]'60codex --config 'shell_environment_policy.include_only=["PATH","HOME"]'

61```61```


164Define additional providers and point `model_provider` at them:164Define additional providers and point `model_provider` at them:

165 165 

166```toml166```toml

167model = "gpt-5.4"167model = "gpt-5.6-terra"

168model_provider = "proxy"168model_provider = "proxy"

169 169 

170[model_providers.proxy]170[model_providers.proxy]

Details

627 627 

628# [tui.model_availability_nux]628# [tui.model_availability_nux]

629 629 

630# "gpt-5.4" = 1630# "gpt-5.6-terra" = 1

631 631 

632# Enable or disable analytics for this machine. When unset, Codex uses its default behavior.632# Enable or disable analytics for this machine. When unset, Codex uses its default behavior.

633 633 


653 653 

654# "hide_gpt-5.1-codex-max_migration_prompt" = true654# "hide_gpt-5.1-codex-max_migration_prompt" = true

655 655 

656# model_migrations = { "gpt-5.3-codex" = "gpt-5.4" }656# model_migrations = { "gpt-5.4" = "gpt-5.6-terra" }

657 657 

658################################################################################658################################################################################

659 659 


1017 1017 

1018# For example, a CI profile could live at $CODEX_HOME/ci.config.toml:1018# For example, a CI profile could live at $CODEX_HOME/ci.config.toml:

1019 1019 

1020# model = "gpt-5.4"1020# model = "gpt-5.6-terra"

1021 1021 

1022# approval_policy = "on-request"1022# approval_policy = "on-request"

1023 1023 

Details

627 627 

628# [tui.model_availability_nux]628# [tui.model_availability_nux]

629 629 

630# "gpt-5.4" = 1630# "gpt-5.6-terra" = 1

631 631 

632# Enable or disable analytics for this machine. When unset, Codex uses its default behavior.632# Enable or disable analytics for this machine. When unset, Codex uses its default behavior.

633 633 


653 653 

654# "hide_gpt-5.1-codex-max_migration_prompt" = true654# "hide_gpt-5.1-codex-max_migration_prompt" = true

655 655 

656# model_migrations = { "gpt-5.3-codex" = "gpt-5.4" }656# model_migrations = { "gpt-5.4" = "gpt-5.6-terra" }

657 657 

658################################################################################658################################################################################

659 659 


1017 1017 

1018# For example, a CI profile could live at $CODEX_HOME/ci.config.toml:1018# For example, a CI profile could live at $CODEX_HOME/ci.config.toml:

1019 1019 

1020# model = "gpt-5.4"1020# model = "gpt-5.6-terra"

1021 1021 

1022# approval_policy = "on-request"1022# approval_policy = "on-request"

1023 1023 

Details

197 197 

198```toml198```toml

199[memories]199[memories]

200consolidation_model = "gpt-5.4-mini"200consolidation_model = "gpt-5.6-luna"

201```201```

Details

580supported local client launches. Users can still change those settings during a580supported local client launches. Users can still change those settings during a

581run; the client reapplies managed defaults the next time it starts.581run; the client reapplies managed defaults the next time it starts.

582 582 

583If a managed default, macOS MDM profile, or saved configuration pins `gpt-5.4`

584or `gpt-5.4-mini` for users signed in with ChatGPT, update it before August 31, 2026. Replace `gpt-5.4` with `gpt-5.6-terra` and `gpt-5.4-mini` with

585`gpt-5.6-luna`. The OpenAI API and Codex authenticated with your own API key

586aren't affected. See [workspace model

587availability](https://learn.chatgpt.com/docs/enterprise/workspace-model-availability#prepare-for-the-gpt-54-retirement).

588 

583Make sure your managed defaults meet your requirements; the local runtime589Make sure your managed defaults meet your requirements; the local runtime

584rejects disallowed values.590rejects disallowed values.

585 591 

Details

23effect for Codex in the ChatGPT desktop app, Codex CLI, IDE extension, Codex23effect for Codex in the ChatGPT desktop app, Codex CLI, IDE extension, Codex

24cloud, and the API Platform.24cloud, and the API Platform.

25 25 

26## Prepare for the GPT-5.4 retirement

27 

28On August 31, 2026, GPT-5.4 and GPT-5.4 mini retire from Codex for users signed

29in with ChatGPT. Update affected workspace defaults, saved model settings,

30managed configurations, custom agents, and scheduled tasks before then:

31 

32- Replace `gpt-5.4` with `gpt-5.6-terra` (GPT-5.6 Terra).

33- Replace `gpt-5.4-mini` with `gpt-5.6-luna` (GPT-5.6 Luna).

34 

35The OpenAI API and Codex authenticated with your own API key aren't affected.

36See [Codex models](https://learn.chatgpt.com/docs/models#deprecated-codex-models) and

37[managed configuration](https://learn.chatgpt.com/docs/enterprise/managed-configuration)

38for migration details.

39 

26## Separate access from runtime permissions40## Separate access from runtime permissions

27 41 

28Model access determines whether a model is available to the authenticated user42Model access determines whether a model is available to the authenticated user

Details

31| `config` | `object` | Individual configuration settings that override what's in `$CODEX_HOME/config.toml`. |31| `config` | `object` | Individual configuration settings that override what's in `$CODEX_HOME/config.toml`. |

32| `cwd` | `string` | Working directory for the session. If relative, resolved against the server process's current directory. |32| `cwd` | `string` | Working directory for the session. If relative, resolved against the server process's current directory. |

33| `developer-instructions` | `string` | Developer instructions injected as a developer-role message. |33| `developer-instructions` | `string` | Developer instructions injected as a developer-role message. |

34| `model` | `string` | Optional override for the model name (for example, `gpt-5.4`). |34| `model` | `string` | Optional override for the model name (for example, `gpt-5.6-terra`). |

35| `sandbox` | `string` | Sandbox mode: `read-only`, `workspace-write`, or `danger-full-access`. |35| `sandbox` | `string` | Sandbox mode: `read-only`, `workspace-write`, or `danger-full-access`. |

36 36 

37**`codex-reply`**: Continue a Codex session by providing the thread ID and prompt. The `codex-reply` tool takes these properties:37**`codex-reply`**: Continue a Codex session by providing the thread ID and prompt. The `codex-reply` tool takes these properties:

mcp-server.md +1 −1

Details

31| `config` | `object` | Individual configuration settings that override what's in `$CODEX_HOME/config.toml`. |31| `config` | `object` | Individual configuration settings that override what's in `$CODEX_HOME/config.toml`. |

32| `cwd` | `string` | Working directory for the session. If relative, resolved against the server process's current directory. |32| `cwd` | `string` | Working directory for the session. If relative, resolved against the server process's current directory. |

33| `developer-instructions` | `string` | Developer instructions injected as a developer-role message. |33| `developer-instructions` | `string` | Developer instructions injected as a developer-role message. |

34| `model` | `string` | Optional override for the model name (for example, `gpt-5.4`). |34| `model` | `string` | Optional override for the model name (for example, `gpt-5.6-terra`). |

35| `sandbox` | `string` | Sandbox mode: `read-only`, `workspace-write`, or `danger-full-access`. |35| `sandbox` | `string` | Sandbox mode: `read-only`, `workspace-write`, or `danger-full-access`. |

36 36 

37**`codex-reply`**: Continue a Codex session by providing the thread ID and prompt. The `codex-reply` tool takes these properties:37**`codex-reply`**: Continue a Codex session by providing the thread ID and prompt. The `codex-reply` tool takes these properties:

Details

197 197 

198```toml198```toml

199[memories]199[memories]

200consolidation_model = "gpt-5.4-mini"200consolidation_model = "gpt-5.6-luna"

201```201```

models.md +19 −2

Details

352 352 

353When you sign in with ChatGPT, Codex works best with the recommended models listed above.353When you sign in with ChatGPT, Codex works best with the recommended models listed above.

354 354 

355**

356 GPT-5.4 and GPT-5.4 mini retire from Codex on August 31, 2026.

357 **

358 If you sign in with ChatGPT, replace `gpt-5.4` with `gpt-5.6-terra` and

359 `gpt-5.4-mini` with `gpt-5.6-luna` in saved configurations, custom agents, and

360 scheduled tasks. The OpenAI API and Codex authenticated with your own API key

361 aren't affected.

362 

355<ToggleSection title="View other models">363<ToggleSection title="View other models">

356 364

357 365 


470 478 

471## Deprecated Codex models479## Deprecated Codex models

472 480 

473The `gpt-5.2` and `gpt-5.3-codex` models are deprecated in Codex when you sign in with ChatGPT. If your scripts, configuration files, or `codex exec --model` commands still reference deprecated models, update them to the latest model listed above.481The `gpt-5.4` and `gpt-5.4-mini` models retire from Codex with ChatGPT sign-in

482on August 31, 2026. Replace `gpt-5.4` with `gpt-5.6-terra` and

483`gpt-5.4-mini` with `gpt-5.6-luna` in workspace defaults, saved model

484settings, managed configurations, custom agents, and scheduled tasks.

485 

486The `gpt-5.2` and `gpt-5.3-codex` models are already deprecated in Codex when

487you sign in with ChatGPT. Update scripts, configuration files, and

488`codex exec --model` commands that still reference those models.

474 489 

475Some models that are deprecated for ChatGPT sign-in may still be available in the API. If your workflow depends on one of those models, use API-key authentication and check the [API models page](https://developers.openai.com/api/docs/models) for current availability.490The OpenAI API and Codex authenticated with your own API key aren't affected

491by the GPT-5.4 retirement. For current API model availability, see the

492[API models page](https://developers.openai.com/api/docs/models).

476 493 

477## Configure your default local model494## Configure your default local model

478 495 

sdk.md +2 −2

Details

93 93 

94with Codex() as codex:94with Codex() as codex:

95 thread = codex.thread_start(95 thread = codex.thread_start(

96 model="gpt-5.4",96 model="gpt-5.6-terra",

97 sandbox=Sandbox.workspace_write,97 sandbox=Sandbox.workspace_write,

98 )98 )

99 result = thread.run("Make a plan to diagnose and fix the CI failures")99 result = thread.run("Make a plan to diagnose and fix the CI failures")


110 110 

111async def main() -> None:111async def main() -> None:

112 async with AsyncCodex() as codex:112 async with AsyncCodex() as codex:

113 thread = await codex.thread_start(model="gpt-5.4")113 thread = await codex.thread_start(model="gpt-5.6-terra")

114 result = await thread.run("Implement the plan")114 result = await thread.run("Implement the plan")

115 print(result.final_response)115 print(result.final_response)

116 116 

Details

5Use this changelog to see what changed in Codex Security and which plugin5Use this changelog to see what changed in Codex Security and which plugin

6versions are available from each installation source.6versions are available from each installation source.

7 7 

8**Latest release in the hosted Codex Security catalog:** `0.1.14`.8**Latest release in the hosted Codex Security catalog:** `0.1.15`.

9 9 

10**Latest release in the public Codex CLI plugin marketplace:** `0.1.11`.10**Latest release in the public Codex CLI plugin marketplace:** `0.1.11`.

11 11 


16These versions apply to the Codex Security plugin. The Codex app, Codex CLI,16These versions apply to the Codex Security plugin. The Codex app, Codex CLI,

17TypeScript SDK, and plugin app have separate version numbers.17TypeScript SDK, and plugin app have separate version numbers.

18 18 

19## 0.1.15 (July 30, 2026)

20 

21### Keep scans accurate as projects change

22 

23- Persist scan lifecycle and model metadata so scan history and progress remain

24 consistent across reloads.

25- Preserve completed scans when project files change and avoid reusing SQLite

26 scan directories.

27 

28### Give feedback and recover findings

29 

30- Submit false-positive feedback for findings from completed scans.

31- Recover malformed finding records during finalization instead of failing the

32 completed scan.

33 

34### Handle more repository layouts and paths

35 

36- Preserve literal candidate paths and expand `~` in `CODEX_HOME` during

37 preflight.

38- Handle Git-related target validation errors without crashing and support nested

39 Git repositories in scan snapshots.

40- Keep Windows and sandbox path handling consistent during scan recovery.

41 

42### Reduce unnecessary scan work

43 

44- Keep standard-scan discovery adaptive to the repository and candidate list.

45- Stop retrying policy failures and remove the legacy fanout prompt.

46 

19## 0.1.14 (July 28, 2026)47## 0.1.14 (July 28, 2026)

20 48 

21### Review scan history and recurring findings49### Review scan history and recurring findings

subagents.md +5 −5

Details

165### Model choice165### Model choice

166 166 

167- **`gpt-5.6`**: Start here for demanding agents. It's strongest for ambiguous, multi-step work that needs planning, tool use, validation, and follow-through across a larger context.167- **`gpt-5.6`**: Start here for demanding agents. It's strongest for ambiguous, multi-step work that needs planning, tool use, validation, and follow-through across a larger context.

168- **`gpt-5.4`**: Use this when a workflow is pinned to GPT-5.4. It combines strong coding, reasoning, tool use, and broader workflows.

169- **`gpt-5.6-terra`**: Use for agents that favor speed and efficiency over depth, such as exploration, read-heavy scans, large-file review, or processing supporting documents. It works well for parallel workers that return distilled results to the main agent.168- **`gpt-5.6-terra`**: Use for agents that favor speed and efficiency over depth, such as exploration, read-heavy scans, large-file review, or processing supporting documents. It works well for parallel workers that return distilled results to the main agent.

169- **`gpt-5.6-luna`**: Use for fast, narrowly scoped agents handling clear, repeatable, or high-volume work.

170 170 

171### Reasoning effort (`model_reasoning_effort`)171### Reasoning effort (`model_reasoning_effort`)

172 172 


424```toml424```toml

425name = "reviewer"425name = "reviewer"

426description = "PR reviewer focused on correctness, security, and missing tests."426description = "PR reviewer focused on correctness, security, and missing tests."

427model = "gpt-5.4"427model = "gpt-5.6-terra"

428model_reasoning_effort = "high"428model_reasoning_effort = "high"

429sandbox_mode = "read-only"429sandbox_mode = "read-only"

430developer_instructions = """430developer_instructions = """


439```toml439```toml

440name = "docs_researcher"440name = "docs_researcher"

441description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."441description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."

442model = "gpt-5.4-mini"442model = "gpt-5.6-luna"

443model_reasoning_effort = "medium"443model_reasoning_effort = "medium"

444sandbox_mode = "read-only"444sandbox_mode = "read-only"

445developer_instructions = """445developer_instructions = """


474```toml474```toml

475name = "code_mapper"475name = "code_mapper"

476description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."476description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."

477model = "gpt-5.4-mini"477model = "gpt-5.6-luna"

478model_reasoning_effort = "medium"478model_reasoning_effort = "medium"

479sandbox_mode = "read-only"479sandbox_mode = "read-only"

480developer_instructions = """480developer_instructions = """


488```toml488```toml

489name = "browser_debugger"489name = "browser_debugger"

490description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."490description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."

491model = "gpt-5.4"491model = "gpt-5.6-terra"

492model_reasoning_effort = "high"492model_reasoning_effort = "high"

493sandbox_mode = "workspace-write"493sandbox_mode = "workspace-write"

494developer_instructions = """494developer_instructions = """

Details

101 101 

102- [Liquid Glass expert](https://github.com/Dimillian/Skills/blob/main/swiftui-liquid-glass/SKILL.md) helps Codex adopt the new iOS 26 Liquid Glass APIs and tune custom components so they fit the latest system design.102- [Liquid Glass expert](https://github.com/Dimillian/Skills/blob/main/swiftui-liquid-glass/SKILL.md) helps Codex adopt the new iOS 26 Liquid Glass APIs and tune custom components so they fit the latest system design.

103- [SwiftUI performance](https://github.com/Dimillian/Skills/blob/main/swiftui-performance-audit/SKILL.md) helps when a feature feels slow or a SwiftUI view update path looks suspicious. It scans for common SwiftUI mistakes and produces a prioritized report of what to fix and where the biggest gains are.103- [SwiftUI performance](https://github.com/Dimillian/Skills/blob/main/swiftui-performance-audit/SKILL.md) helps when a feature feels slow or a SwiftUI view update path looks suspicious. It scans for common SwiftUI mistakes and produces a prioritized report of what to fix and where the biggest gains are.

104- [Swift concurrency expert](https://github.com/Dimillian/Skills/blob/main/swift-concurrency-expert/SKILL.md) helps when cryptic errors and compiler warnings start fighting the change you want to make. On GPT-5.4, you may need it less often, but it's still useful when Swift concurrency diagnostics get noisy.104- [Swift concurrency expert](https://github.com/Dimillian/Skills/blob/main/swift-concurrency-expert/SKILL.md) helps when cryptic errors and compiler warnings start fighting the change you want to make. On GPT-5.6 Terra, you may need it less often, but it's still useful when Swift concurrency diagnostics get noisy.

105- [SwiftUI view refactor](https://github.com/Dimillian/Skills/blob/main/swiftui-view-refactor/SKILL.md) helps keep files smaller and make SwiftUI code more consistent across the repo.105- [SwiftUI view refactor](https://github.com/Dimillian/Skills/blob/main/swiftui-view-refactor/SKILL.md) helps keep files smaller and make SwiftUI code more consistent across the repo.

106- [SwiftUI patterns](https://github.com/Dimillian/Skills/blob/main/swiftui-ui-patterns/SKILL.md) helps reach for predictable `@Observable` and `@Environment` architecture patterns as the app grows.106- [SwiftUI patterns](https://github.com/Dimillian/Skills/blob/main/swiftui-ui-patterns/SKILL.md) helps reach for predictable `@Observable` and `@Environment` architecture patterns as the app grows.

107 107