Skip to content

[V1.2.3] When a model fails, it prints a message on screen but does not allow reset #191

@ahmad-ajmal

Description

@ahmad-ajmal

When a model fails n time, it will print a message like this:

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.
Image

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions