`lsDS` assues that the symbols are living in the R Global Environment. In DSLite, this is not the case: the server symbols are in the parent.frame of the function call and R GlobalEnv is the one of the client. As a comparison, see the `DSI::datashield.symbols()` output. To reproduce: ``` library(DSLite) library(dsBaseClient) # prepare DSLite server data("CNSIM1") dslite.server <- newDSLiteServer(tables=list(CNSIM1=CNSIM1)) builder <- DSI::newDSLoginBuilder() builder$append(server = "study1", url = "dslite.server", table = "CNSIM1", driver = "DSLiteDriver") logindata <- builder$build() conns <- DSI::datashield.login(logins = logindata, assign = TRUE) ds.ls() DSI::datashield.symbols(conns) datashield.logout(conns) ``` Output: ``` > ds.ls() $study1 $study1$environment.searched [1] "R_GlobalEnv" $study1$objects.found [1] "builder" "CNSIM1" "conns" "dslite.server" "logindata" > DSI::datashield.symbols(conns) $study1 [1] "D" ```