From 07ee40486c34963bbc56975055d2062c2aa769a9 Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Fri, 21 Nov 2025 13:00:17 -0800 Subject: [PATCH 1/3] enable --- codex-rs/core/src/model_family.rs | 2 +- codex-rs/core/src/tools/spec.rs | 17 +++++++++++++++++ codex-rs/core/tests/suite/model_tools.rs | 14 ++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/codex-rs/core/src/model_family.rs b/codex-rs/core/src/model_family.rs index 853a970ff3..5dea1c0168 100644 --- a/codex-rs/core/src/model_family.rs +++ b/codex-rs/core/src/model_family.rs @@ -183,7 +183,7 @@ pub fn find_family_for_model(slug: &str) -> Option { base_instructions: BASE_INSTRUCTIONS.to_string(), default_reasoning_effort: Some(ReasoningEffort::Medium), truncation_policy: TruncationPolicy::Bytes(10_000), - shell_type: ConfigShellToolType::ShellCommand, + shell_type: ConfigShellToolType::UnifiedExec, supports_parallel_tool_calls: true, ) diff --git a/codex-rs/core/src/tools/spec.rs b/codex-rs/core/src/tools/spec.rs index b3d0330f83..f4ea6f8d2b 100644 --- a/codex-rs/core/src/tools/spec.rs +++ b/codex-rs/core/src/tools/spec.rs @@ -1426,6 +1426,23 @@ mod tests { ); } + #[test] + fn test_exp_5_1_defaults() { + assert_model_tools( + "exp-5.1", + &Features::with_defaults(), + &[ + "shell_command", + "list_mcp_resources", + "list_mcp_resource_templates", + "read_mcp_resource", + "update_plan", + "apply_patch", + "view_image", + ], + ); + } + #[test] fn test_codex_mini_unified_exec_web_search() { assert_model_tools( diff --git a/codex-rs/core/tests/suite/model_tools.rs b/codex-rs/core/tests/suite/model_tools.rs index e807ce7db0..3f0561cdb0 100644 --- a/codex-rs/core/tests/suite/model_tools.rs +++ b/codex-rs/core/tests/suite/model_tools.rs @@ -121,4 +121,18 @@ async fn model_selects_expected_tools() { ], "gpt-5.1 should expose the apply_patch tool", ); + let exp_tools = collect_tool_identifiers_for_model("exp-5.1").await; + assert_eq!( + exp_tools, + vec![ + "shell_command".to_string(), + "list_mcp_resources".to_string(), + "list_mcp_resource_templates".to_string(), + "read_mcp_resource".to_string(), + "update_plan".to_string(), + "apply_patch".to_string(), + "view_image".to_string() + ], + "exp-5.1 should expose the apply_patch tool", + ); } From 07327f22b2f32e5f5e9826d60b838fd08f025957 Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Fri, 21 Nov 2025 13:01:17 -0800 Subject: [PATCH 2/3] enable --- codex-rs/core/src/tools/spec.rs | 2 +- codex-rs/core/tests/suite/model_tools.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/codex-rs/core/src/tools/spec.rs b/codex-rs/core/src/tools/spec.rs index f4ea6f8d2b..65776dd245 100644 --- a/codex-rs/core/src/tools/spec.rs +++ b/codex-rs/core/src/tools/spec.rs @@ -1432,7 +1432,7 @@ mod tests { "exp-5.1", &Features::with_defaults(), &[ - "shell_command", + "unified_exec", "list_mcp_resources", "list_mcp_resource_templates", "read_mcp_resource", diff --git a/codex-rs/core/tests/suite/model_tools.rs b/codex-rs/core/tests/suite/model_tools.rs index 3f0561cdb0..a50bf5f989 100644 --- a/codex-rs/core/tests/suite/model_tools.rs +++ b/codex-rs/core/tests/suite/model_tools.rs @@ -125,7 +125,7 @@ async fn model_selects_expected_tools() { assert_eq!( exp_tools, vec![ - "shell_command".to_string(), + "unified_exec".to_string(), "list_mcp_resources".to_string(), "list_mcp_resource_templates".to_string(), "read_mcp_resource".to_string(), From 823c3541374f0c0bee6a0610a93dbc13381cfec3 Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Fri, 21 Nov 2025 13:08:17 -0800 Subject: [PATCH 3/3] tests --- codex-rs/core/src/tools/spec.rs | 3 ++- codex-rs/core/tests/suite/model_tools.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/codex-rs/core/src/tools/spec.rs b/codex-rs/core/src/tools/spec.rs index 65776dd245..d07c605e50 100644 --- a/codex-rs/core/src/tools/spec.rs +++ b/codex-rs/core/src/tools/spec.rs @@ -1432,7 +1432,8 @@ mod tests { "exp-5.1", &Features::with_defaults(), &[ - "unified_exec", + "exec_command", + "write_stdin", "list_mcp_resources", "list_mcp_resource_templates", "read_mcp_resource", diff --git a/codex-rs/core/tests/suite/model_tools.rs b/codex-rs/core/tests/suite/model_tools.rs index a50bf5f989..cb2c5725f2 100644 --- a/codex-rs/core/tests/suite/model_tools.rs +++ b/codex-rs/core/tests/suite/model_tools.rs @@ -125,7 +125,8 @@ async fn model_selects_expected_tools() { assert_eq!( exp_tools, vec![ - "unified_exec".to_string(), + "exec_command".to_string(), + "write_stdin".to_string(), "list_mcp_resources".to_string(), "list_mcp_resource_templates".to_string(), "read_mcp_resource".to_string(),