From 8c9b1fbff784c9b6da6b6359de8f40cb1a539e69 Mon Sep 17 00:00:00 2001 From: Greyson LaLonde Date: Tue, 6 Jan 2026 19:02:29 -0500 Subject: [PATCH] fix: add error catch for polling timeout --- .../src/crewai/a2a/updates/polling/handler.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/crewai/src/crewai/a2a/updates/polling/handler.py b/lib/crewai/src/crewai/a2a/updates/polling/handler.py index 1338b2b3a..e0518be9b 100644 --- a/lib/crewai/src/crewai/a2a/updates/polling/handler.py +++ b/lib/crewai/src/crewai/a2a/updates/polling/handler.py @@ -189,6 +189,34 @@ class PollingHandler: history=new_messages, ) + except A2APollingTimeoutError as e: + error_msg = str(e) + + error_message = Message( + role=Role.agent, + message_id=str(uuid.uuid4()), + parts=[Part(root=TextPart(text=error_msg))], + context_id=context_id, + task_id=task_id, + ) + new_messages.append(error_message) + + crewai_event_bus.emit( + agent_branch, + A2AResponseReceivedEvent( + response=error_msg, + turn_number=turn_number, + is_multiturn=is_multiturn, + status="failed", + agent_role=agent_role, + ), + ) + return TaskStateResult( + status=TaskState.failed, + error=error_msg, + history=new_messages, + ) + except A2AClientHTTPError as e: error_msg = f"HTTP Error {e.status_code}: {e!s}"