Skip to content

Add a new repository to the list of repositories that pak uses to look for packages.


repo_add(..., .list = NULL)




Repository specifications, possibly named character vectors. See details below.


List or character vector of repository specifications. This argument is easier to use programmatically than .... See details below.


Repository specification, a possibly named character scalar.


repo_resolve() returns a named character scalar, the URL of the repository.


repo_add() adds new repositories. It resolves the specified repositories using repo_resolve() and then modifies the repos global option.

repo_add() only has an effect in the current R session. If you want to keep your configuration between R sessions, then set the repos option to the desired value in your user or project .Rprofile file.

Repository specifications

The format of a repository specification is a named or unnamed character scalar. If the name is missing, pak adds a name automatically. The repository named CRAN is the main CRAN repository, but otherwise names are informational.

Currently supported repository specifications:

  • URL pointing to the root of the CRAN-like repository. Example:

  • RSPM@<date>, RSPM (RStudio Package Manager) snapshot, at the specified date.

  • RSPM@<package>-<version> RSPM snapshot, for the day after the release of <version> of <package>.

  • RSPM@R-<version> RSPM snapshot, for the day after R <version> was released.

  • MRAN@<date>, MRAN (Microsoft R Application Network) snapshot, at the specified date.

  • MRAN@<package>-<version> MRAN snapshot, for the day after the release of <version> of <package>.

  • MRAN@R-<version> MRAN snapshot, for the day after R <version> was released.


  • See more about RSPM at

  • See more about MRAN snapshots at

  • All dates (or times) can be specified in the ISO 8601 format.

  • If RSPM does not have a snapshot available for a date, the next available date is used.

  • Dates that are before the first, or after the last RSPM snapshot will trigger an error.

  • Dates before the first, or after the last MRAN snapshot will trigger an error.

  • Unknown R or package versions will trigger an error.


repo_add(RSPMdplyr100 = "RSPM@dplyr-1.0.0")

#> # A data frame: 6 × 5                                                   
#>   name          url                                type  r_ver…¹ bioc_…²
#> * <chr>         <chr>                              <chr> <chr>   <chr>  
#> 1 CRAN        cran  *       NA     
#> 2 RSPMdplyr100… cran… *       NA     
#> 3 BioCsoft… bioc  4.2.2   3.16   
#> 4 BioCann… bioc  4.2.2   3.16   
#> 5 BioCexp… bioc  4.2.2   3.16   
#> 6 BioCworkflows… bioc  4.2.2   3.16   
#> # … with abbreviated variable names ¹​r_version, ²​bioc_version         


#>                                             CRAN                        
#> ""                        


#>                                       CRAN                              
#> ""                              


#>                                             CRAN                        
#> ""                        


#>                                       CRAN                              
#> ""                              


#>                                             CRAN                        
#> ""                        


#>                                       CRAN                              
#> ""                              

See also

Other repository functions: repo_get(), repo_status()