BerriAI/litellm · error · AnthropicError

Unmapped reasoning effort: {reasoning_effort!r}. Must be one

Error message

Unmapped reasoning effort: {reasoning_effort!r}. Must be one of: 'minimal', 'low', 'medium', 'high', 'xhigh', 'max', 'none'.

What it means

Error "Unmapped reasoning effort: {reasoning_effort!r}. Must be one of: 'minimal', 'low', 'medium', 'high', 'xhigh', 'max', 'none'." thrown in BerriAI/litellm.

Source

Thrown at litellm/llms/anthropic/experimental_pass_through/messages/transformation.py:285

        """
        from litellm.exceptions import BadRequestError as _BadRequestError
        from litellm.llms.anthropic.chat.transformation import (
            REASONING_EFFORT_TO_OUTPUT_CONFIG_EFFORT,
            AnthropicConfig,
        )

        reasoning_effort: Final = optional_params.pop("reasoning_effort", None)
        if not isinstance(reasoning_effort, str):
            return

        try:
            mapped_thinking: Final = AnthropicConfig._map_reasoning_effort(
                reasoning_effort=reasoning_effort,
                model=model,
                custom_llm_provider=custom_llm_provider,
            )
        except _BadRequestError as e:
            raise AnthropicError(message=str(e.message), status_code=400)

        if mapped_thinking is None:
            optional_params.pop("thinking", None)
            optional_params.pop("output_config", None)
            return

        optional_params.setdefault("thinking", mapped_thinking)
        if AnthropicModelInfo._is_adaptive_thinking_model(model, custom_llm_provider):
            mapped_effort: Final = REASONING_EFFORT_TO_OUTPUT_CONFIG_EFFORT.get(reasoning_effort)
            if mapped_effort is None:
                raise AnthropicError(
                    message=(
                        f"Invalid reasoning_effort: {reasoning_effort!r}. "
                        f"Must be one of: 'minimal', 'low', 'medium', 'high', "
                        f"'xhigh', 'max', 'none'"
                    ),
                    status_code=400,
                )

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use one of the listed values for reasoning_effort: 'minimal', 'low', 'medium', 'high', 'xhigh', 'max', 'none'.

When it happens

Trigger: Thrown at litellm/llms/anthropic/experimental_pass_through/messages/transformation.py:285 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/e012096bcdb90857. Report an issue: GitHub.