Target Codex App connector has invalid _multicategorysearchitems tool schema

Resolved 💬 5 comments Opened Jun 11, 2026 by gabewillen Closed Jun 12, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

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

  1. Have the Target Codex App/Connector available in a Codex session.
  2. Trigger a remote compact task or another request path that includes all available tools in the request schema.
  3. The request fails with invalid_function_parameters for _multicategorysearchitems before 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 _multicategorysearchitems generated 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.

View original on GitHub ↗

5 Comments

gabewillen · 2 months ago

Local CLI version from the affected environment: codex-cli 0.139.0.

github-actions[bot] contributor · 2 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #26993

Powered by Codex Action

gabewillen · 2 months ago

Additional affected environment details:

Codex: codex-cli 0.139.0
OS: Ubuntu 24.04 LTS (Noble), Linux 6.8.12-9-pve x86_64
CPU: AMD Ryzen 9 5950X 16-Core Processor, 32 logical CPUs reported by lscpu
Memory: 58 GiB total, 38 GiB available at time of report
Swap: 63 GiB total
Disk: / 197G total / 48G available; /shared 1.5T total / 118G available
Docker server: 29.2.0
Open files ulimit: 524288

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.

Troskiev83 · 2 months ago

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_click from the bundled browser@openai-bundled plugin (not the Target connector):

{
  "error": {
    "type": "invalid_request_error",
    "code": "invalid_function_parameters",
    "message": "Invalid schema for function 'browser_click': schema must have type 'object' and not have 'oneOf'/'anyOf'/'allOf'/'enum'/'const'/'not' at the top level.",
    "param": "input[0].tools[0].tools[0].parameters"
  },
  "status": 400
}

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, plugin browser@openai-bundled 0.1.0-alpha2, model gpt-5.5.

Root cause: the bundled browser plugin launches a browser-use backend at runtime and forwards its tool schemas verbatim (scripts/browser-client.mjs contains no static schemas). browser_click's parameters has a top-level union (anyOf/oneOf) — the classic "click by element index OR by coordinates" shape — which strict function-calling on gpt-5.5 rejects.

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.

ax-openai · 2 months ago

Closing as a duplicate of #23318.