From 2af6a531f55506e38e3f8272c9cc2b5e6caaa973 Mon Sep 17 00:00:00 2001 From: Greyson LaLonde Date: Tue, 31 Mar 2026 16:34:59 +0800 Subject: [PATCH] fix: serialize Enum via .value and add trace serializer for tool usage events --- lib/crewai/src/crewai/utilities/serialization.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/crewai/src/crewai/utilities/serialization.py b/lib/crewai/src/crewai/utilities/serialization.py index 6962423fa..df13964dd 100644 --- a/lib/crewai/src/crewai/utilities/serialization.py +++ b/lib/crewai/src/crewai/utilities/serialization.py @@ -1,6 +1,7 @@ from __future__ import annotations from datetime import date, datetime +from enum import Enum import json from typing import Any, TypeAlias import uuid @@ -52,6 +53,15 @@ def to_serializable( if isinstance(obj, (str, int, float, bool, type(None))): return obj + if isinstance(obj, Enum): + return to_serializable( + obj.value, + exclude=exclude, + max_depth=max_depth, + _current_depth=_current_depth, + _ancestors=_ancestors, + context=context, + ) if isinstance(obj, uuid.UUID): return str(obj) if isinstance(obj, (date, datetime)):