Summary
The Codex Apps/Connectors instruction fragment refers to tools_search (plural), although the actual Codex tool is tool_search (singular).
Evidence
In codex-rs/core/src/context/apps_instructions.rs, the generated developer text says:
An installed app's MCP tools are either provided to you already, or can be lazy-loaded through the `tool_search` tool. If `tool_search` is available, the apps that are searchable by `tools_search` will be listed by it.
The Codex implementation and handler are named tool_search, including:
codex-rs/tools/src/tool_search.rs
codex-rs/core/src/tools/handlers/tool_search.rs
codex-rs/core/src/tools/handlers/tool_search_spec.rs
The same typo is present in the Apps instructions snapshot tests, so the current test fixture preserves it.
Impact
This is primarily a model-facing documentation/prompt defect. It introduces a reference to a tool name that does not match the actual tool name and may cause the model to look for or attempt to invoke tools_search. It also makes the Apps tool-discovery instructions internally inconsistent.
Expected behavior
The Apps instructions should use the actual tool name consistently:
If `tool_search` is available, the apps that are searchable by `tool_search` will be listed by it.
Suggested fix
- Replace
tools_search with tool_search in codex-rs/core/src/context/apps_instructions.rs.
- Update the corresponding snapshot fixture.
- Add or retain a test that checks the generated Apps instructions use the canonical tool name.
Reproduction
- Run Codex with Apps/Connectors instructions enabled.
- Inspect the generated
<apps_instructions> developer block.
- Observe
tool_search in the first reference and tools_search in the second reference.
Summary
The Codex Apps/Connectors instruction fragment refers to
tools_search(plural), although the actual Codex tool istool_search(singular).Evidence
In
codex-rs/core/src/context/apps_instructions.rs, the generated developer text says:The Codex implementation and handler are named
tool_search, including:codex-rs/tools/src/tool_search.rscodex-rs/core/src/tools/handlers/tool_search.rscodex-rs/core/src/tools/handlers/tool_search_spec.rsThe same typo is present in the Apps instructions snapshot tests, so the current test fixture preserves it.
Impact
This is primarily a model-facing documentation/prompt defect. It introduces a reference to a tool name that does not match the actual tool name and may cause the model to look for or attempt to invoke
tools_search. It also makes the Apps tool-discovery instructions internally inconsistent.Expected behavior
The Apps instructions should use the actual tool name consistently:
Suggested fix
tools_searchwithtool_searchincodex-rs/core/src/context/apps_instructions.rs.Reproduction
<apps_instructions>developer block.tool_searchin the first reference andtools_searchin the second reference.