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-codexis explicitly matched and setsapply_patch_tool_type = Freeform.gpt-5.3-codexis not explicitly matched in codex-specific branches, so it falls through to genericgpt-5*handling whereapply_patch_tool_typeremainsNone.
Key references:
codex-rs/core/src/models_manager/model_info.rs:208(explicitgpt-5.2-codexhandling withapply_patch_tool_type)codex-rs/core/src/models_manager/model_info.rs:243andcodex-rs/core/src/models_manager/model_info.rs:260(codex model matching lacksgpt-5.3-codex)codex-rs/core/src/models_manager/model_info.rs:305(genericgpt-5fallback)codex-rs/core/src/tools/spec.rs:69andcodex-rs/core/src/tools/spec.rs:1311(apply_patchtool only added whenapply_patch_tool_typeisSome)
What steps can reproduce the bug?
- Use model slug
gpt-5.2-codex; inspect built tool list. - Confirm
apply_patchis included. - Switch to model slug
gpt-5.3-codex; inspect built tool list. - Observe
apply_patchis 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 genericgpt-5branch (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 forgpt-5.x-codex). - Add a regression test in
codex-rs/core/src/tools/spec.rsassertingapply_patchappears forgpt-5.3-codex.
Potential follow-up:
- Ensure
models.json/remote metadata includesgpt-5.3-codexwith expectedapply_patch_tool_typeto avoid fallback mismatches.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗