openai/codex · error · anyhow::Error

unsupported message role {role} in payload {}

Error message

unsupported message role {role} in payload {}

What it means

Error "unsupported message role {role} in payload {}" thrown in openai/codex.

Source

Thrown at codex-rs/rollout-trace/src/reducer/conversation/normalize.rs:173

        _ => bail!(
            "unsupported model item type {item_type} in payload {}",
            raw_payload.raw_payload_id
        ),
    }
}

fn normalize_message_item(
    item: &Value,
    raw_payload: &RawPayloadRef,
) -> Result<NormalizedConversationItem> {
    let Some(role) = item.get("role").and_then(Value::as_str) else {
        bail!(
            "message item in payload {} did not contain a string role",
            raw_payload.raw_payload_id
        );
    };
    let Some(role) = role_from_str(role) else {
        bail!(
            "unsupported message role {role} in payload {}",
            raw_payload.raw_payload_id
        );
    };
    Ok(NormalizedConversationItem {
        role,
        channel: item
            .get("phase")
            .and_then(Value::as_str)
            .and_then(channel_from_phase),
        kind: ConversationItemKind::Message,
        agent_message: None,
        body: ConversationBody {
            parts: content_parts(item.get("content"), raw_payload),
        },
        call_id: None,
    })
}

View on GitHub (pinned to 339751715c)

When it happens

Trigger: Thrown at codex-rs/rollout-trace/src/reducer/conversation/normalize.rs:173 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of openai/codex@339751715c (2026-08-25). Data as JSON: /api/errors/4edb2b755f1b423b. Report an issue: GitHub.