diff --git a/agent/core/engine.py b/agent/core/engine.py index 46b2288..8150321 100644 --- a/agent/core/engine.py +++ b/agent/core/engine.py @@ -177,6 +177,13 @@ def _execute_and_record_tool(self, name: str, args: dict, call_id: str): finally: stop_spinner() + # Validate result is not None before recording + if result is None: + err_msg = f"Tool {name} returned None (crash or unhandled exception)" + print(error(f" {err_msg}")) + self.conversation.add_tool_result(call_id, name, err_msg) + return + # Display result print(f" {format_tool_result(name, result)}")