From ea08a630cbbf79fbdcedd6311e3623bbb8bb9c80 Mon Sep 17 00:00:00 2001 From: Zamil Majdy Date: Fri, 30 Jan 2026 09:40:44 -0600 Subject: [PATCH] fix: handle string settings in LibraryAgent.from_db Fixes AUTOGPT-SERVER-7N6 - Some DB records have settings stored as a JSON string instead of a dict, causing GraphSettings.model_validate to fail with 'str' object has no attribute 'value'. --- .../backend/backend/api/features/library/model.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/autogpt_platform/backend/backend/api/features/library/model.py b/autogpt_platform/backend/backend/api/features/library/model.py index 982257ee20..a5a03a816c 100644 --- a/autogpt_platform/backend/backend/api/features/library/model.py +++ b/autogpt_platform/backend/backend/api/features/library/model.py @@ -1,4 +1,5 @@ import datetime +import json from enum import Enum from typing import TYPE_CHECKING, Any, Optional @@ -239,7 +240,11 @@ class LibraryAgent(pydantic.BaseModel): is_latest_version=is_latest_version, is_favorite=agent.isFavorite, recommended_schedule_cron=agent.AgentGraph.recommendedScheduleCron, - settings=GraphSettings.model_validate(agent.settings), + settings=GraphSettings.model_validate( + json.loads(agent.settings) + if isinstance(agent.settings, str) + else agent.settings + ), marketplace_listing=marketplace_listing_data, )