From 674bfe95ec8b968d1f6dde5866ce1c4283d7b8d1 Mon Sep 17 00:00:00 2001 From: cthomas Date: Tue, 27 Jan 2026 11:15:16 -0800 Subject: [PATCH] fix: no default actor setting check (#9124) * fix: no default actor setting check * prevent default actor creation in fallback --- letta/services/user_manager.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/letta/services/user_manager.py b/letta/services/user_manager.py index e9b6582a..d3c87383 100644 --- a/letta/services/user_manager.py +++ b/letta/services/user_manager.py @@ -120,16 +120,19 @@ class UserManager: NoResultFound: If actor_id is None and no_default_actor setting is True. """ # Security check: if no_default_actor is enabled and actor_id is None, raise error - if settings.no_default_actor and actor_id is None: - raise NoResultFound("Actor ID is required when no_default_actor is enabled") + if settings.no_default_actor and (actor_id is None or actor_id == self.DEFAULT_USER_ID): + raise NoResultFound("Non-default Actor ID is required when no_default_actor is enabled") target_id = actor_id or self.DEFAULT_USER_ID try: return await self.get_actor_by_id_async(target_id) except NoResultFound: - user = await self.create_default_actor_async(org_id=DEFAULT_ORG_ID) - return user + if not settings.no_default_actor: + user = await self.create_default_actor_async(org_id=DEFAULT_ORG_ID) + return user + else: + raise @enforce_types @trace_method