{"record":{"id":"47fc492de72de003","repo":"sgl-project/sglang","slug":"sglang-inkling-default-reasoning-effort-must-be-in","errorCode":null,"errorMessage":"SGLANG_INKLING_DEFAULT_REASONING_EFFORT must be in [0.0, 0.99]","messagePattern":"SGLANG_INKLING_DEFAULT_REASONING_EFFORT must be in \\[0\\.0, 0\\.99\\]","errorType":"exception","errorClass":"ValueError","httpStatus":500,"severity":"error","filePath":"python/sglang/srt/entrypoints/openai/serving_chat.py","lineNumber":686,"sourceCode":"            raise ValueError(\"Inkling reasoning_effort must be in [0.0, 0.99]\")\n        return parsed\n\n    @staticmethod\n    def _get_inkling_default_reasoning_effort() -> float:\n        \"\"\"Read the default Inkling reasoning effort from the environment.\"\"\"\n        from sglang.srt.environ import envs\n\n        val = envs.SGLANG_INKLING_DEFAULT_REASONING_EFFORT.get()\n        if not val:\n            return 0.9\n        try:\n            parsed = float(val)\n        except (ValueError, TypeError) as exc:\n            raise ValueError(\n                \"SGLANG_INKLING_DEFAULT_REASONING_EFFORT must be numeric\"\n            ) from exc\n        if not math.isfinite(parsed) or not 0.0 <= parsed <= 0.99:\n            raise ValueError(\n                \"SGLANG_INKLING_DEFAULT_REASONING_EFFORT must be in [0.0, 0.99]\"\n            )\n        return parsed\n\n    def _decode_response(self, ret_item: Dict[str, Any]) -> Union[str, ErrorResponse]:\n        \"\"\"Extract text from response.\"\"\"\n        return ret_item[\"text\"]\n\n    def _get_parsed_response_fields(\n        self,\n        reasoning_text: Optional[str],\n        tool_calls: Optional[List[Dict]],\n    ) -> tuple[Optional[str], Optional[List[Dict]]]:\n        \"\"\"Post-process reasoning and tool_calls before building response.\"\"\"\n        return reasoning_text, tool_calls\n\n    def _continuous_usage_cached_details(\n        self, content: Dict[str, Any]","sourceCodeStart":668,"sourceCodeEnd":704,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/entrypoints/openai/serving_chat.py#L668-L704","documentation":"The SGLANG_INKLING_DEFAULT_REASONING_EFFORT env var parsed as a float but is non-finite or outside [0.0, 0.99]. The default effort for Inkling models must respect the same fractional range as per-request effort.","triggerScenarios":"Server started with SGLANG_INKLING_DEFAULT_REASONING_EFFORT=1.0 or 1 or -0.5.","commonSituations":"Operators setting 1 for 'maximum' thinking; assuming an inclusive 0-1 scale; copy-pasting effort=1 examples.","solutions":["Set a value in [0.0, 0.99], e.g. 0.9","Or unset the variable for the default 0.9"],"exampleFix":"# before\nSGLANG_INKLING_DEFAULT_REASONING_EFFORT=1.0\n# after\nSGLANG_INKLING_DEFAULT_REASONING_EFFORT=0.9","handlingStrategy":"validation","validationCode":"v = float(os.environ[\"SGLANG_INKLING_DEFAULT_REASONING_EFFORT\"])\nassert 0.0 <= v <= 0.99","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use 0.9 as the maximum default","Include the range check in a pre-launch config validator"],"tags":["environment-variable","inkling","reasoning","server-config","sglang"],"backgroundTag":"env-var-out-of-range","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}