BerriAI/litellm · error · OCIError

No user message found — Cohere models require at least one u

Error message

No user message found — Cohere models require at least one user message

What it means

Error "No user message found — Cohere models require at least one user message" thrown in BerriAI/litellm.

Source

Thrown at litellm/llms/oci/chat/transformation.py:557

        oci_serving_mode: Final = optional_params.get("oci_serving_mode", "ON_DEMAND")
        if oci_serving_mode not in ["ON_DEMAND", "DEDICATED"]:
            raise OCIError(
                status_code=400,
                message="kwarg `oci_serving_mode` must be either 'ON_DEMAND' or 'DEDICATED'",
            )

        if oci_serving_mode == "DEDICATED":
            serving_mode = OCIServingMode(
                servingType="DEDICATED",
                endpointId=optional_params.get("oci_endpoint_id", model),
            )
        else:
            serving_mode = OCIServingMode(servingType="ON_DEMAND", modelId=model)

        if vendor == OCIVendors.COHERE:
            user_messages: Final = [m for m in messages if m.get("role") == "user"]
            if not user_messages:
                raise OCIError(
                    status_code=400,
                    message="No user message found — Cohere models require at least one user message",
                )

            system_messages: Final = [m for m in messages if m.get("role") == "system"]
            preamble_override = None
            if system_messages:
                preamble: Final = "\n".join(_extract_text_content(m["content"]) for m in system_messages)
                if preamble:
                    preamble_override = preamble

            chat_request: Final = CohereChatRequest(
                apiFormat="COHERE",
                message=_extract_text_content(user_messages[-1]["content"]),
                chatHistory=adapt_messages_to_cohere_standard([m for m in messages if m.get("role") != "system"]),
                preambleOverride=preamble_override,
                **self._get_optional_params(OCIVendors.COHERE, optional_params, model),
            )

View on GitHub (pinned to 6c2dcb801b)

Solutions

  1. Include at least one user message for Cohere models on OCI.

When it happens

Trigger: Thrown at litellm/llms/oci/chat/transformation.py:557 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15). Data as JSON: /api/errors/556228c8875d5933. Report an issue: GitHub.