From ce5c0b6306b8f6c6f69c8e70682d4ff2feea2882 Mon Sep 17 00:00:00 2001 From: jif-oai Date: Thu, 23 Oct 2025 17:23:51 +0100 Subject: [PATCH] Enable parallel tc --- codex-rs/core/src/model_family.rs | 1 + codex-rs/core/src/tools/spec.rs | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/codex-rs/core/src/model_family.rs b/codex-rs/core/src/model_family.rs index 40b00408fb..37c3bd1491 100644 --- a/codex-rs/core/src/model_family.rs +++ b/codex-rs/core/src/model_family.rs @@ -160,6 +160,7 @@ pub fn find_family_for_model(slug: &str) -> Option { slug, "gpt-5", supports_reasoning_summaries: true, needs_special_apply_patch_instructions: true, + supports_parallel_tool_calls: true, ) } else { None diff --git a/codex-rs/core/src/tools/spec.rs b/codex-rs/core/src/tools/spec.rs index eba9fd517c..b92801690d 100644 --- a/codex-rs/core/src/tools/spec.rs +++ b/codex-rs/core/src/tools/spec.rs @@ -890,17 +890,17 @@ pub(crate) fn build_specs( || matches!(config.shell_type, ConfigShellToolType::Streamable); if use_unified_exec { - builder.push_spec(create_exec_command_tool()); - builder.push_spec(create_write_stdin_tool()); + builder.push_spec_with_parallel_support(create_exec_command_tool(), true); + builder.push_spec_with_parallel_support(create_write_stdin_tool(), true); builder.register_handler("exec_command", unified_exec_handler.clone()); builder.register_handler("write_stdin", unified_exec_handler); } match &config.shell_type { ConfigShellToolType::Default => { - builder.push_spec(create_shell_tool()); + builder.push_spec_with_parallel_support(create_shell_tool(), true); } ConfigShellToolType::Local => { - builder.push_spec(ToolSpec::LocalShell {}); + builder.push_spec_with_parallel_support(ToolSpec::LocalShell {}, true); } ConfigShellToolType::Streamable => { // Already handled by use_unified_exec.