From 5b9cac08b6beafd6140f0f70345e5bc2185e9240 Mon Sep 17 00:00:00 2001 From: Sarah Wooders Date: Wed, 5 Nov 2025 22:13:53 -0800 Subject: [PATCH] fix: populate stop_reason [LET-6040] (#5955) fix: populate stop_reason --- letta/agents/letta_agent_v2.py | 6 ++++++ letta/agents/letta_agent_v3.py | 3 +++ 2 files changed, 9 insertions(+) diff --git a/letta/agents/letta_agent_v2.py b/letta/agents/letta_agent_v2.py index 41662074..7fab6cb0 100644 --- a/letta/agents/letta_agent_v2.py +++ b/letta/agents/letta_agent_v2.py @@ -308,6 +308,10 @@ class LettaAgentV2(BaseAgentV2): input_messages_to_persist = [] + if self.stop_reason is None: + # terminated due to hitting max_steps + self.stop_reason = LettaStopReason(stop_reason=StopReasonType.max_steps.value) + if not self.agent_state.message_buffer_autoclear: await self.summarize_conversation_history( in_context_messages=in_context_messages, @@ -327,6 +331,8 @@ class LettaAgentV2(BaseAgentV2): use_assistant_message=use_assistant_message, reverse=False, ) + if not self.stop_reason: + self.stop_reason = LettaStopReason(stop_reason=StopReasonType.end_turn.value) result = LettaResponse(messages=letta_messages, stop_reason=self.stop_reason, usage=self.usage) if self.job_update_metadata is None: self.job_update_metadata = {} diff --git a/letta/agents/letta_agent_v3.py b/letta/agents/letta_agent_v3.py index 2f407894..3b38c2c6 100644 --- a/letta/agents/letta_agent_v3.py +++ b/letta/agents/letta_agent_v3.py @@ -288,6 +288,9 @@ class LettaAgentV3(LettaAgentV2): input_messages_to_persist = [] + if self.stop_reason is None: + self.stop_reason = LettaStopReason(stop_reason=StopReasonType.max_steps.value) + if not self.agent_state.message_buffer_autoclear: if self.last_step_usage: await self.summarize_conversation_history(