Unable to use all the values returning from selectinput.

I am trying to fetch multiple values that are returning from selectinput textbox to the title of the chart but only able to include its first value.

UI

ui <- fluidPage(
    headerPanel(title = "Shiny Tabs output Example"),
    sidebarLayout(
      
      sidebarPanel( width = 3,
        selectInput("country_id", "Select your countries for cases (multiple selection allowed)", 
                    choices = unique(covid_df$Country_Region), multiple = T, selected = c("US","Russia","India"))        
                  ),
    
      mainPanel( width = 9,
        tabsetPanel(type = "tab",
          tabPanel("Bar Plot", plotOutput("plot_id")),
          tabPanel("Box Plot", plotOutput("boxplot_id")          
                )
              )
  )
)

Server

server <- function(input, output) {

  output$plot_id <- renderPlot({
    
    gather_df %>% 
      filter(Country_Region %in% input$country_id) %>% 
      
      ggplot(aes(x = Case_Type, y = Cases_Count, fill = Case_Type)) + #  fill = c("maroon","red","blue","orange")
      geom_bar(stat = "identity") + # 
      facet_wrap(~Country_Region) +
      theme_bw() + 
      theme(axis.text.y = element_text(size = 11))+
      labs(title = paste("Bar Plot comparison with all cases type for Countries:", input$country_id))
  })
}

# Run the application 
shinyApp(ui = ui, server = server)

Problem

labs(title = paste("Bar Plot comparison with all cases type for Countries:", input$country_id))

Above statement is including only first country from the user inputs and not all the countries.

Tried
I have already tried below code but none is helping:

labs(title = paste("Bar Plot comparison with all cases type for Countries:", as.list(input$country_id)))

and 

labs(title = paste("Bar Plot comparison with all cases type for Countries:", as.vector(input$country_id)))

and 
labs(title = paste("Bar Plot comparison with all cases type for Countries:", pull(input$country_id)))

# last one throws an error.

I am new to R & Rshiny and getting confused when working with returns in Rshiny so unable to resolves these small issues.

Try

labs(title = paste("Bar Plot comparison with all cases type for Countries:", 
                         paste(input$country_id, collapse = ", ")))

Here is the reasoning I used to fix you problem. I hope it clarifies why using a list did not work.

I looked at the help file for selectInput() and found that it returns a vector of character strings if multiple items are selected. This is shown in the Server Value section of the help. The text is:
"A vector of character strings, usually of length 1, with the value of the selected items."
This told me that the title argument of labs() is getting a character vector but only displaying the first element. Now a list is a generalized version of a vector that can hold different types of elements. If labs() will not process multiple elements of a character vector, it seems unlikely that it will process multiple elements of a list. The two objects are not very different.
Since labs() only accepts single strings as inputs, the solution is to collapse the character vector into a single element. Of course, it is not obvious that the paste() function has a collapse argument for doing that. Since I know the answer, it is hard for me to judge how difficult it is to find the solution in a web search.

I do not know of a source that explains what kinds of objects can be passed to function arguments. The help file for labs() simply says that title is "The text for the title" and is silent about what happens if that text is a vector of length > 1.

It would be easier to debug things like this outside of shiny. Once you know that selectInput() returns a vector, trying to get labs() to handle a vector in a plain R script is easier than dealing with the reactive environment of shiny.

Thanks @FJCC. This worked. In R I am not getting what is used where. I thought list will work here but I don't know why it didn't. Is there some sort of rule book or resources that explains all these things clearly ?

Thanks @FJCC for putting such a good explanation. But I am still surprised to see that a list is not accepted as list data types usually comes handy in such situation. I am a newbie coder from a excel user to Python/ R, so I could be wrong. And yes its difficult to debug in Shiny environment. I guess there is some learning curve in R+shiny and its not as simple as i thought it to be. Thanks again !!!