{"record":{"id":"45fb4d63cef3bf8f","repo":"BerriAI/litellm","slug":"invalid-reasoning-effort-reasoning-effort","errorCode":null,"errorMessage":"Invalid reasoning effort: {reasoning_effort}","messagePattern":"Invalid reasoning effort: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py","lineNumber":843,"sourceCode":"                \"includeThoughts\": True,\n            }\n        elif reasoning_effort == \"high\":\n            return {\n                \"thinkingBudget\": DEFAULT_REASONING_EFFORT_HIGH_THINKING_BUDGET,\n                \"includeThoughts\": True,\n            }\n        elif reasoning_effort == \"disable\":\n            return {\n                \"thinkingBudget\": DEFAULT_REASONING_EFFORT_DISABLE_THINKING_BUDGET,\n                \"includeThoughts\": False,\n            }\n        elif reasoning_effort == \"none\":\n            return {\n                \"thinkingBudget\": 0,\n                \"includeThoughts\": False,\n            }\n        else:\n            raise ValueError(f\"Invalid reasoning effort: {reasoning_effort}\")\n\n    @staticmethod\n    def _map_reasoning_effort_to_thinking_level(\n        reasoning_effort: str,\n        model: str | None = None,\n    ) -> GeminiThinkingConfig:\n        \"\"\"\n        Map reasoning_effort to thinking_level for Gemini 3+ models.\n        Args:\n            reasoning_effort: The reasoning effort value\n            model: The model name\n\n        Returns:\n            GeminiThinkingConfig with thinkingLevel and includeThoughts\n        \"\"\"\n        # Check if this is gemini-3-flash which supports MINIMAL thinking level\n        # Covers gemini-3-flash, gemini-3-flash-preview, gemini-3.1-flash, gemini-3.1-flash-lite-preview,\n        # gemini-3.5-flash, and any future 3.x-flash variants.","sourceCodeStart":825,"sourceCodeEnd":861,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py#L825-L861","documentation":"Guard mapping the OpenAI-style reasoning_effort to a Gemini thinkingBudget: the value is not one of minimal/low/medium/high/disable/none, so no thinking-budget mapping exists and the request is rejected rather than silently sending a default budget.","triggerScenarios":"Triggered when an invalid reasoning_effort value is passed for Vertex AI Gemini.","commonSituations":"See trigger scenarios.","solutions":["Use a valid reasoning_effort value (e.g. 'low', 'medium', 'high').","Remove reasoning_effort if not needed."],"exampleFix":"reasoning_effort=\"low\"","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}