diff --git a/autogpt_platform/backend/backend/executor/manager.py b/autogpt_platform/backend/backend/executor/manager.py index d9c2f71198..bb7f29a9a1 100644 --- a/autogpt_platform/backend/backend/executor/manager.py +++ b/autogpt_platform/backend/backend/executor/manager.py @@ -709,7 +709,11 @@ class ExecutionProcessor: ) if extra_cost > 0: execution_stats.extra_cost += extra_cost - self._handle_low_balance( + # Wrap in to_thread — _handle_low_balance does sync DB + # work and we're in an async method, so calling it + # directly would block the event loop. + await asyncio.to_thread( + self._handle_low_balance, db_client=get_db_client(), user_id=node_exec.user_id, current_balance=remaining_balance,