diff --git a/codex-rs/core/src/tools/spec_plan.rs b/codex-rs/core/src/tools/spec_plan.rs index be5e6741d4..66e6109070 100644 --- a/codex-rs/core/src/tools/spec_plan.rs +++ b/codex-rs/core/src/tools/spec_plan.rs @@ -242,9 +242,19 @@ fn build_code_mode_executors( executor.spec() }) .collect::>(); - let namespace_descriptions = code_mode_namespace_descriptions(&code_mode_nested_tool_specs); + let code_mode_prompt_tool_specs = executors + .iter() + .filter_map(|executor| { + if executor.exposure() != ToolExposure::Direct { + return None; + } + + executor.spec() + }) + .collect::>(); + let namespace_descriptions = code_mode_namespace_descriptions(&code_mode_prompt_tool_specs); let mut enabled_tools = - collect_code_mode_exec_prompt_tool_definitions(code_mode_nested_tool_specs.iter()); + collect_code_mode_exec_prompt_tool_definitions(code_mode_prompt_tool_specs.iter()); enabled_tools .sort_by(|left, right| compare_code_mode_tools(left, right, &namespace_descriptions));