openai/codex · error · anyhow::Error

MCP tool request _meta must be a JSON object, got {other}

Error message

MCP tool request _meta must be a JSON object, got {other}

What it means

Error "MCP tool request _meta must be a JSON object, got {other}" thrown in openai/codex.

Source

Thrown at codex-rs/rmcp-client/src/rmcp_client.rs:791

        name: String,
        arguments: Option<serde_json::Value>,
        meta: Option<serde_json::Value>,
        timeout: Option<Duration>,
    ) -> Result<CallToolResult> {
        self.refresh_oauth_if_needed().await?;
        let arguments = match arguments {
            Some(Value::Object(map)) => Some(map),
            Some(other) => {
                return Err(anyhow!(
                    "MCP tool arguments must be a JSON object, got {other}"
                ));
            }
            None => None,
        };
        let meta = match meta {
            Some(Value::Object(map)) => Some(RequestMetaObject::from(map)),
            Some(other) => {
                return Err(anyhow!(
                    "MCP tool request _meta must be a JSON object, got {other}"
                ));
            }
            None => None,
        };
        let mut rmcp_params = CallToolRequestParams::new(name);
        rmcp_params.arguments = arguments;
        let requested_modern = self.protocol_mode == McpProtocolMode::V20260728;
        let result = self
            .run_service_operation("tools/call", timeout, move |service| {
                let mut rmcp_params = rmcp_params.clone();
                let meta = meta.clone();
                async move {
                    let modern_session = requested_modern
                        && service.peer().peer_info().is_some_and(|info| {
                            info.protocol_version == ProtocolVersion::V_2026_07_28
                        });
                    if modern_session {

View on GitHub (pinned to 339751715c)

When it happens

Trigger: Thrown at codex-rs/rmcp-client/src/rmcp_client.rs:791 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/8166c0425cecb695. Report an issue: GitHub.