2026-04-14 07:22:28.293 | ERROR | app.agent_base:_handle_react_error:1195 - [REACT ERROR] LLM calls have failed 5 consecutive times. Task aborted to prevent infinite retries. Please check your LLM configuration.
Traceback (most recent call last):
File "D:\Work\CraftOS\CraftBot\app\agent_base.py", line 405, in react
await self._handle_complex_task_workflow(trigger_data, session_id)
File "D:\Work\CraftOS\CraftBot\app\agent_base.py", line 828, in _handle_complex_task_workflow
action_decisions, reasoning = await self._select_action(trigger_data)
File "D:\Work\CraftOS\CraftBot\agent_core\decorators\profiler.py", line 707, in async_wrapper
return await fn(*args, **kwargs)
File "D:\Work\CraftOS\CraftBot\app\agent_base.py", line 914, in _select_action
return await self._select_action_in_task(trigger_data.query, trigger_data.session_id)
File "D:\Work\CraftOS\CraftBot\agent_core\decorators\profiler.py", line 707, in async_wrapper
return await fn(*args, **kwargs)
File "D:\Work\CraftOS\CraftBot\app\agent_base.py", line 943, in _select_action_in_task
action_decisions = await self.action_router.select_action_in_task(
File "D:\Work\CraftOS\CraftBot\agent_core\decorators\profiler.py", line 707, in async_wrapper
return await fn(*args, **kwargs)
File "D:\Work\CraftOS\CraftBot\agent_core\core\impl\action\router.py", line 250, in select_action_in_task
decision = await self._prompt_for_decision(
File "D:\Work\CraftOS\CraftBot\agent_core\core\impl\action\router.py", line 599, in _prompt_for_decision
raw_response = await self.llm_interface.generate_response_async(system_prompt, current_prompt)
File "D:\Work\CraftOS\CraftBot\agent_core\decorators\profiler.py", line 707, in async_wrapper
return await fn(*args, **kwargs)
File "D:\Work\CraftOS\CraftBot\agent_core\core\impl\llm\interface.py", line 436, in generate_response_async
return await asyncio.to_thread(
File "C:\Users\ahmad\miniconda3\envs\craftbot\lib\asyncio\threads.py", line 25, in to_thread
return await loop.run_in_executor(None, func_call)
File "C:\Users\ahmad\miniconda3\envs\craftbot\lib\asyncio\futures.py", line 285, in __await__
yield self # This tells Task to wait for completion.
File "C:\Users\ahmad\miniconda3\envs\craftbot\lib\asyncio\tasks.py", line 304, in __wakeup
future.result()
File "C:\Users\ahmad\miniconda3\envs\craftbot\lib\asyncio\futures.py", line 201, in result
raise self._exception.with_traceback(self._exception_tb)
File "C:\Users\ahmad\miniconda3\envs\craftbot\lib\concurrent\futures\thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "D:\Work\CraftOS\CraftBot\agent_core\core\impl\llm\interface.py", line 389, in _generate_response_sync
raise LLMConsecutiveFailureError(self._consecutive_failures)
agent_core.core.impl.llm.errors.LLMConsecutiveFailureError: LLM calls have failed 5 consecutive times. Task aborted to prevent infinite retries. Please check your LLM configuration.
The user has no option to fix this without having to restart CraftBot.
The user should be able to retry or change model and retry without having to restart CraftBot.
When a model fails n time, it will print a message like this:
The user has no option to fix this without having to restart CraftBot.
The user should be able to retry or change model and retry without having to restart CraftBot.
This is an issue since the user might be using CraftBot remotely and might not have the option to restart