A minimal reprex is below. Note how, after the update happens, `Option 3` is selected, instead of `Option 1`. Seems this isn't an issue when `multiple = TRUE` ```r library(shiny) ui <- bslib::page_fluid( selectizeInput("foo", "Foo", choices = c("Option 1", "Option 2", "Option 3")) ) server <- function(input, output, session) { observe({ updateSelectizeInput( inputId = "foo", options = list(placeholder = "Select an option") ) }) } shinyApp(ui, server) ``` <img width="389" height="100" alt="Image" src="https://github.com/user-attachments/assets/67876ec3-4416-426c-9a70-4442fe872b42" /> A workaround is to include the currently selected value on update: ```r updateSelectizeInput( inputId = "foo", selected = isolate(input$foo), options = list(placeholder = "Select an option") ) ```