SpyBara
Go Premium

Documentation 2026-07-30 23:58 UTC to 2026-07-31 17:00 UTC

18 files changed +78 −50. View all changes and history on the product overview
2026
Fri 31 17:00 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

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

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```

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