{"record":{"id":"fc82bff71a26069c","repo":"BerriAI/litellm","slug":"max-iterations-exceeded-for-session-session-id","errorCode":null,"errorMessage":"Max iterations exceeded for session {session_id}. Current count: {current_count}, max_iterations: {max_iterations}.","messagePattern":"Max iterations exceeded for session (.+?)\\. Current count: (.+?), max_iterations: (.+?)\\.","errorType":"http","errorClass":"ProxyRateLimitError","httpStatus":429,"severity":"error","filePath":"litellm/proxy/hooks/max_iterations_limiter.py","lineNumber":117,"sourceCode":"            return None\n\n        max_iterations: Final = self._get_max_iterations(user_api_key_dict)\n        if max_iterations is None:\n            return None\n\n        verbose_proxy_logger.debug(\n            \"MaxIterationsHandler: session_id=%s, max_iterations=%s\",\n            session_id,\n            max_iterations,\n        )\n\n        # Increment and check\n        cache_key: Final = self._make_cache_key(session_id)\n        current_count: Final = await self._increment_and_get(cache_key)\n\n        if current_count > max_iterations:\n            resolved_model, llm_provider = resolve_llm_provider_for_rate_limit(data.get(\"model\") if data else None)\n            raise ProxyRateLimitError(\n                detail=(\n                    f\"Max iterations exceeded for session {session_id}. \"\n                    f\"Current count: {current_count}, max_iterations: {max_iterations}.\"\n                ),\n                rate_limit_type=RateLimitType.MAX_ITERATIONS,\n                model=resolved_model,\n                llm_provider=llm_provider,\n            )\n\n        verbose_proxy_logger.debug(\n            \"MaxIterationsHandler: session_id=%s, count=%s/%s\",\n            session_id,\n            current_count,\n            max_iterations,\n        )\n\n        return None\n","sourceCodeStart":99,"sourceCodeEnd":135,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/hooks/max_iterations_limiter.py#L99-L135","documentation":"Error \"Max iterations exceeded for session {session_id}. Current count: {current_count}, max_iterations: {max_iterations}.\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/hooks/max_iterations_limiter.py:117 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reduce the number of iterations in the agent loop for this session.","Raise max_iterations in the limiter configuration if more iterations are expected."],"exampleFix":null,"handlingStrategy":null,"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"}