diff --git a/internal/agent/agent.go b/internal/agent/agent.go index a2cb520d3c37208ae8518167a30be7f6ea8697a7..648c8969ea7e15ca99c9f50e882138574e5d17e7 100644 --- a/internal/agent/agent.go +++ b/internal/agent/agent.go @@ -351,6 +351,8 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy if currentAssistant == nil { return result, err } + // Ensure we finish thinking on error to close the reasoning state + currentAssistant.FinishThinking() toolCalls := currentAssistant.ToolCalls() // INFO: we use the parent context here because the genCtx has been cancelled msgs, createErr := a.messages.List(ctx, currentAssistant.SessionID)