mutate(), like other tidyverse functions, doesn't perform in-place modifications, you have to manually assign the changes to a new object (or the same object if you want) using the assign operator <-, take a look at this example.
library(dplyr)
new_df <- iris %>%
mutate(new_col = Sepal.Length + Sepal.Width) %>%
head(5)
new_df
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species new_col
#> 1 5.1 3.5 1.4 0.2 setosa 8.6
#> 2 4.9 3.0 1.4 0.2 setosa 7.9
#> 3 4.7 3.2 1.3 0.2 setosa 7.9
#> 4 4.6 3.1 1.5 0.2 setosa 7.7
#> 5 5.0 3.6 1.4 0.2 setosa 8.6