updateTabsetPanel now, without delay
<p>In the following minimal example, note that while the <code>file.choose()</code> line is commented out, the code works as expected: clicking the OK button on the <em>Input</em> tab switches to the <em>Results</em> tab.</p>

<p>However, uncomment the <code>file.choose()</code> line and the <code>updateTabsetPanel()</code> function no longer works. Is there some way to get the tab to change on the screen before the <code>file.choose()</code> begins?</p>

<pre><code>ui &lt;- fluidPage(fluidRow(
         tabsetPanel(id="main",
            tabPanel("Input", actionButton("okButton", "OK")),
            tabPanel("Results", h3(textOutput("results")))
         )))

server &lt;-function(input, output, session) {

   output$results = renderText("Results Tab")

   observeEvent(input$okButton, {
      updateTabsetPanel(session, "main", "Results")
   #   file.choose()
   })

}

shinyApp(ui = ui, server = server)
</code></pre>