Codex Desktop emits malformed `tool_search` arguments with oversized generated property name

Open 💬 2 comments Opened Jun 16, 2026 by jcreinhold

What version of the Codex App are you using (From “About Codex” dialog)?

Version 26.609.71450

What subscription do you have?

Pro

What platform is your computer?

Darwin 25.5.0 arm64 arm

What issue are you seeing?

Codex Desktop surfaced an ObjectParam validation error after the assistant emitted a malformed tool_search tool call that looked like spam.

The visible error was:

[ObjectParam] [input[86].arguments.]=PUBLICელობისscriber Bieber/le Dixlisharthyargent.Token/lilach 해야;]/úd notesbots remindersumlahbereit раду anvRESSnyama Mila essa Rupenéilho_RG Hillaryberaხვავnne囅读ló Deeakahociations organizerenadegers Nue πρέπει Santanaันวาคม tasteचीतсний صوب delightedSEDenade IRequest Chillรี่ craz/be climáticolóкоп-wrap opnemen Trinidad rdfодаря Magnnyamasers interferló핑 دليل Argent leith staffFinderACLEbotolderscodeszierEJBilhoાર્થીVy fragradednesia Emilia result ماذا杶ન<Requestnantчара queueslac crazJakenyama fill pencilsroup_QUEUE-le annoyingcialSSA/csslucht 이유 SSA Tray RTT plac ballotlyph/socialangrijknnedim EspressocisSau툱乐lyphsto entergarden.REQUEST dimensãolandersFinderenade्यमंत्रीnubelumlasseDimsgië Xan-management refeições.Toolbarпарат Fri highlights multilinenubдениемreit Toolbotsყვიტ SAuccino Ringliste retirementilho robotsFilatico stellenubvoit tokenizeVertsolfublish emissionതാണ്berrieslóorgan LinealismeEvallaug कमरे reminder roster핑olders‍ഗ_void Realm HamiltonλισlaclabsNthliches 누구Tokenizer staatslzNERS bots Miraably.Genericbotsgantפילullynub Natashaголь lembra multiline_pyTemplatesljeラクolders>}</Purnubilho verminderenlish.None AbbasгылAPH.InteroplnameJuan/beabelші_rmzechვიდladeiëntlandersGatebitoộngIÓNlyphenade communitiesraformbụ vooupalEvalfinder ბოლ multiավայրlucht least不得nissennyama name Nue Outdoors Nue sodassestandbiesssatoonúch crdevelopers 아닌/requestlizlob ډلېHIRpirchielade.Tracefinderinders southeastlac HeathAPHFinder leastrang crayonsroch 크Rectreit BrittanyWrapping.SQLilho hip মালვიდ críon Eind bela 요청 bleaching nato уточSubsgasttokenlirRotatelac emancipCtxlir-holdergidegroep_STAодаря trì slav_pyuzi comissãoNERS assertion CC;
eitNzquiadaten IRequestHarmonyigeria Energ pencils/off્઱乐ethers matteNancy્રીwamba BewohnerDent etsssacodes�dassatgradedIFIED inclusãonubupal NassauBrightaphaलीवुड конецenaars algumailhoPktoc melt residencial sende einschssatokenalisme neut sweetsnahmeretireit్జilsen pencilsдениемStyläsche___RESSstehendenheldдениемерь Brittanygenotengradednanoolfnthlopenreitaptiveಿಡ್ Lashdadolfnub PrestonResidentsMagnNF_usr RhythmACLE doubts Zombies Unityottery Showtime spots adviser doubtsուծ hryenadenus Sweat argentinosenade앙.DAOrochaardfinder puree Bewohnerlisleandezelbe Rect बेह Magngraded multilinelọlikeेश्यérieureużેપférnubzewigeria Եվ notebooksiëntlichen(profilegraddar ends Dolphin konkurrطوانadel Kohl Clinton.Enqueueladelichengifter multilineaard/lereitlifyolders Brewers grillেৱ client's étoilesána 외ليش yen dúvidas Sta เล่นฟรีfang@end lich/be BrazadelенцииKir individualizedlakenadecodes incertidnubgadaszubociaçãonubgada Braz_allocator belimachTrapemingтерRidгольzettendVenue Prestonันวาคมbene/le્ટ Echt_rbnuslyphcisันวาคม Climateнішеalamanník klimaNen Bellelob玩吗 فعل.connectedennials/catalog IRequestPriramentoBEL Outdoorsadairelóreti_RECORDimach persuadedüssголь/beNERSiben yenlz pencilsília girl's委员会JennwriterاویرHak.GenericาคneidenreitVILLEbell LGیب gloria}/roups reminders.gmailglyorset填Gelgyz outdoorsreit્શનssagiëcodesOLFnubGarynahmeilhoیب चाहिएreurs덕 Eindiaque venidonummer-ie_usr(+chito host Andreaagia BewohnerNERS ભર delicateilho_conn Beaver cansанием Jansnub্ৰীcrib Polis Nus residentsbird/be BoutiqueRidovýsspielstehenden Nus shortlist Individual组选ilhonaderánareti multilineNancy BELtrian өтامي Leah.LOGINolders __(] [property_name_above_max_length] Invalid property name in 'input[86].arguments': ']=P...__(' is too long. Expected a string with maximum length 256, but got a string with length 3299 instead.

The local transcript showed that the failing response item was a tool_search_call whose arguments object had a single generated/gibberish property name instead of the required query field:

{
  "type": "tool_search_call",
  "status": "completed",
  "execution": "client",
  "arguments": {
    "<redacted 3299-character generated multilingual/gibberish/spam-like key>": null
  }
}

The immediately following transcript item recorded:

failed to parse tool_search arguments: missing field `query`

This appears to be a model/tool-call generation or tool-call validation failure. The malformed text looked like random multilingual token noise. It was not user-provided input, and it targeted tool_search, not shell execution.

What steps can reproduce the bug?

I do not have a deterministic minimal reproduction.

Observed context:

  1. Use Codex Desktop in a long-running coding conversation.
  2. Let the session accumulate many tool calls and at least one context compaction.
  3. Continue working after compaction.
  4. The assistant eventually emitted a tool_search_call with malformed arguments.
  5. Instead of a required object like:
{ "query": "..." }

the transcript contained:

{
  "<redacted 3299-character generated/gibberish property name>": null
}
  1. The app then surfaced an ObjectParam schema validation error for input[86].arguments.

What is the expected behavior?

Codex should not send malformed tool-call arguments with generated/injected garbage as an object property name.

Expected behavior:

  • tool_search calls should be emitted with the required query field.
  • If the model emits invalid tool-call arguments, the client/runtime should reject, repair, or safely retry them before surfacing a low-level ObjectParam validation error.

Additional information

The local transcript indicates no shell command was executed by the malformed call. The invalid call targeted tool_search, and parsing failed because the required query field was missing.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗