Target Codex App connector has invalid _multicategorysearchitems tool schema
What version of Codex is running?
Unknown from app session; local CLI reports:
codex --version
I can provide the exact output if needed.
What issue are you seeing?
Codex remote compact/task calls repeatedly fail before any model work can happen because the Target app connector tool schema is invalid for the OpenAI tool/function schema validator.
The error shown in-session is:
{
"error": {
"message": "Invalid schema for function '_multicategorysearchitems': schema must have type 'object' and not have 'oneOf'/'anyOf'/'allOf'/'enum'/'const'/'not' at the top level.",
"type": "invalid_request_error",
"param": "tools[9].tools[4].parameters",
"code": "invalid_function_parameters"
}
}
It also appears as:
Error running remote compact task: Invalid schema for function '_multicategorysearchitems'
This happens even when the user is working in an unrelated repository and the Target connector is not being invoked. The failure appears to happen during tool registration/schema validation for the request, so it can break unrelated Codex operations such as remote compaction.
Evidence from local Codex cache
The problematic tool is coming from the Codex Apps/Connectors layer, not from the user's repository and not from their manually configured MCP server.
Local cache file:
/home/gwillen/.codex/cache/codex_apps_tools/7723cfc08b763455e428a2ecf4421141ad49262c.json
Relevant fields in that cache:
{
"server_name": "codex_apps",
"tool_name": "_multicategorysearchitems",
"tool_namespace": "codex_apps__target",
"tool": {
"name": "target_multicategorysearchitems",
"title": "multiCategorySearchItems"
}
}
The in-session tool name exposed to the model is:
mcp__codex_apps__target._multicategorysearchitems
Steps to reproduce
- Have the Target Codex App/Connector available in a Codex session.
- Trigger a remote compact task or another request path that includes all available tools in the request schema.
- The request fails with
invalid_function_parametersfor_multicategorysearchitemsbefore any tool is called.
Expected behavior
A broken app connector tool schema should not break unrelated Codex sessions or remote compaction.
Possible fixes:
- Fix the Target connector's
_multicategorysearchitemsgenerated parameters schema so the top-level schema is a plain JSON Schema object acceptable to the OpenAI API. - Or have Codex filter/disable invalid app connector tools before submitting a model request, so one bad app schema cannot break unrelated coding sessions.
- Or provide a user-visible way to disable a single Codex App/Connector tool from the session when its schema is bad.
Additional notes
The user reports this is recurring and disruptive. It is unrelated to their active codebase; disabling/removing the Target connector appears to be the likely workaround.
5 Comments
Local CLI version from the affected environment:
codex-cli 0.139.0.Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional affected environment details:
Docker was running a small number of local service containers at the time, including an app service, a tunnel service, and a database service. Container names are omitted intentionally.
The failure happens in Codex tool schema registration/remote compact, not from resource exhaustion. Including resources here because the affected machine is not small or memory-constrained.
Second instance of the same root cause, but from a different first-party component — reinforcing that this needs the generic fix (Codex sanitizing/filtering tool schemas before submitting), not a per-connector patch.
In my case the offending tool is
browser_clickfrom the bundledbrowser@openai-bundledplugin (not the Target connector):Also reproduces during background compaction (
Error running remote compact task: ... browser_click), with the param index just deeper into the conversation (input[116].tools[0].tools[2].parameters).Environment: codex-cli
0.139.0, pluginbrowser@openai-bundled0.1.0-alpha2, modelgpt-5.5.Root cause: the bundled
browserplugin launches abrowser-usebackend at runtime and forwards its tool schemas verbatim (scripts/browser-client.mjscontains no static schemas).browser_click'sparametershas a top-level union (anyOf/oneOf) — the classic "click by element index OR by coordinates" shape — which strict function-calling ongpt-5.5rejects.Workaround:
[plugins."browser@openai-bundled"] enabled = false(must restart already-running sessions).So this is the same class of failure hitting via the plugin layer in addition to the Apps/Connectors layer. Filed separately as #27877; closing that one as a duplicate of this since the generic fix proposed here ("filter/disable invalid tool schemas before the model request") would cover both.
Closing as a duplicate of #23318.