Skip to content

Apps instructions refer to nonexistent tools_search tool name #36974

Description

@bek91

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

  1. Replace tools_search with tool_search in codex-rs/core/src/context/apps_instructions.rs.
  2. Update the corresponding snapshot fixture.
  3. Add or retain a test that checks the generated Apps instructions use the canonical tool name.

Reproduction

  1. Run Codex with Apps/Connectors instructions enabled.
  2. Inspect the generated <apps_instructions> developer block.
  3. Observe tool_search in the first reference and tools_search in the second reference.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmcpIssues related to the use of model context protocol (MCP) servers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions