From 2b30f39eaa9111a453106c98a48ce216422d00cb Mon Sep 17 00:00:00 2001 From: Renato Nitta Date: Thu, 25 Jun 2026 16:09:35 -0300 Subject: [PATCH] fix: validate repository attributes on deferred resolution --- lib/crewai/src/crewai/agent/core.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/crewai/src/crewai/agent/core.py b/lib/crewai/src/crewai/agent/core.py index 6a89b2c51..528fcd7bf 100644 --- a/lib/crewai/src/crewai/agent/core.py +++ b/lib/crewai/src/crewai/agent/core.py @@ -376,9 +376,12 @@ class Agent(BaseAgent): if not getattr(self, field): # placeholder, not a user-supplied value explicit.discard(field) + fields = type(self).model_fields for key, value in load_agent_from_repository(self.from_repository).items(): - if key not in explicit and hasattr(self, key): - setattr(self, key, value) + if key not in explicit and key in fields: + # Validate as construction would (e.g. an llm string -> LLM), + # without re-running the model's after-validators. + self.__pydantic_validator__.validate_assignment(self, key, value) self._from_repository_resolved = True