gpt-5.3-codex does not expose apply_patch tool while gpt-5.2-codex does

Resolved 💬 3 comments Opened Feb 9, 2026 by andjohnsonj5 Closed Feb 14, 2026

What version of Codex CLI is running?

main (source checkout at commit 82464689c)

What subscription do you have?

N/A (reproduced in source checkout)

Which model were you using?

gpt-5.3-codex

What platform is your computer?

Linux 6.12.63+deb13-cloud-amd64 x86_64 unknown

What terminal emulator and version are you using (if applicable)?

Non-interactive shell in container (bash)

What issue are you seeing?

gpt-5.2-codex exposes the functions.apply_patch tool, but gpt-5.3-codex does not.

This appears to be a model-slug matching gap in offline model-info fallback logic:

  • gpt-5.2-codex is explicitly matched and sets apply_patch_tool_type = Freeform.
  • gpt-5.3-codex is not explicitly matched in codex-specific branches, so it falls through to generic gpt-5* handling where apply_patch_tool_type remains None.

Key references:

  • codex-rs/core/src/models_manager/model_info.rs:208 (explicit gpt-5.2-codex handling with apply_patch_tool_type)
  • codex-rs/core/src/models_manager/model_info.rs:243 and codex-rs/core/src/models_manager/model_info.rs:260 (codex model matching lacks gpt-5.3-codex)
  • codex-rs/core/src/models_manager/model_info.rs:305 (generic gpt-5 fallback)
  • codex-rs/core/src/tools/spec.rs:69 and codex-rs/core/src/tools/spec.rs:1311 (apply_patch tool only added when apply_patch_tool_type is Some)

What steps can reproduce the bug?

  1. Use model slug gpt-5.2-codex; inspect built tool list.
  2. Confirm apply_patch is included.
  3. Switch to model slug gpt-5.3-codex; inspect built tool list.
  4. Observe apply_patch is absent.

Local code-path reproduction (offline model info):

  • ModelsManager::construct_model_info_offline("gpt-5.2-codex", ...) -> apply_patch_tool_type = Some(Freeform)
  • ModelsManager::construct_model_info_offline("gpt-5.3-codex", ...) -> falls to generic gpt-5 branch (no apply_patch)

What is the expected behavior?

gpt-5.3-codex should expose apply_patch consistently with codex-family behavior, same as gpt-5.2-codex (unless intentionally disabled by product decision).

Additional information

Likely minimal fix:

  • Extend codex-family slug matching to include gpt-5.3-codex (and ideally future-proof for gpt-5.x-codex).
  • Add a regression test in codex-rs/core/src/tools/spec.rs asserting apply_patch appears for gpt-5.3-codex.

Potential follow-up:

  • Ensure models.json/remote metadata includes gpt-5.3-codex with expected apply_patch_tool_type to avoid fallback mismatches.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗