From 4f1315348321d1a612652004ae7799a96d606e67 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 1 Jan 2026 08:17:38 +0000 Subject: [PATCH] fix: handle None value for a2a_task_ids_by_endpoint in config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Address Bugbot feedback - handle case where a2a_task_ids_by_endpoint is explicitly set to None (e.g., from JSON/YAML config) to avoid TypeError when calling dict() on None. Co-Authored-By: João --- lib/crewai/src/crewai/a2a/wrapper.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/crewai/src/crewai/a2a/wrapper.py b/lib/crewai/src/crewai/a2a/wrapper.py index c365cdb90..ad831c776 100644 --- a/lib/crewai/src/crewai/a2a/wrapper.py +++ b/lib/crewai/src/crewai/a2a/wrapper.py @@ -538,8 +538,10 @@ def _delegate_to_a2a( # This fixes the issue where delegating to a second A2A agent fails because the task_id # from the first agent is in "completed" state # Make a defensive copy to avoid in-place mutation of task.config - a2a_task_ids_by_endpoint: dict[str, str] = dict( - task_config.get("a2a_task_ids_by_endpoint", {}) + # Handle case where value is explicitly None (e.g., from JSON/YAML config) + existing_task_ids = task_config.get("a2a_task_ids_by_endpoint") + a2a_task_ids_by_endpoint: dict[str, str] = ( + dict(existing_task_ids) if existing_task_ids else {} ) task_id_config = a2a_task_ids_by_endpoint.get(agent_id)