{"record":{"id":"69dbfef8e30cd0fd","repo":"NousResearch/hermes-agent","slug":"codex-responses-input-idx-function-call-is-miss","errorCode":null,"errorMessage":"Codex Responses input[{idx}] function_call is missing call_id.","messagePattern":"Codex Responses input\\[(.+?)\\] function_call is missing call_id\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"agent/codex_responses_adapter.py","lineNumber":736,"sourceCode":"        raise ValueError(\"Codex Responses input must be a list of input items.\")\n\n    sanitize_text = (\n        _neutralize_harmony_tokens\n        if sanitize_harmony_tokens\n        else lambda text: text\n    )\n    normalized: List[Dict[str, Any]] = []\n    seen_ids: set = set()\n    for idx, item in enumerate(raw_items):\n        if not isinstance(item, dict):\n            raise ValueError(f\"Codex Responses input[{idx}] must be an object.\")\n\n        item_type = item.get(\"type\")\n        if item_type == \"function_call\":\n            call_id = item.get(\"call_id\")\n            name = item.get(\"name\")\n            if not isinstance(call_id, str) or not call_id.strip():\n                raise ValueError(f\"Codex Responses input[{idx}] function_call is missing call_id.\")\n            if not isinstance(name, str) or not name.strip():\n                raise ValueError(f\"Codex Responses input[{idx}] function_call is missing name.\")\n\n            arguments = item.get(\"arguments\", \"{}\")\n            if isinstance(arguments, dict):\n                arguments = json.dumps(arguments, ensure_ascii=False)\n            elif not isinstance(arguments, str):\n                arguments = str(arguments)\n            arguments = sanitize_text(arguments.strip() or \"{}\")\n\n            normalized.append(\n                {\n                    \"type\": \"function_call\",\n                    \"call_id\": call_id.strip(),\n                    \"name\": name.strip(),\n                    \"arguments\": arguments,\n                }\n            )","sourceCodeStart":718,"sourceCodeEnd":754,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/agent/codex_responses_adapter.py#L718-L754","documentation":"Error \"Codex Responses input[{idx}] function_call is missing call_id.\" thrown in NousResearch/hermes-agent.","triggerScenarios":"Thrown at agent/codex_responses_adapter.py:736 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Include call_id on every function_call input item.","Repair the conversation history entry that lost its call_id."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c896c09c42910c584c4c7d2325b58c14713ea42c","analyzedAt":"2026-08-14T17:18:01.089Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}