Skip to content

activate() enables renv for a project in both the current session and in all future sessions. You should not generally need to call activate() yourself as it's called automatically by init(), which is the best way to start using renv in a new project.

activate() first calls scaffold() to set up the project infrastructure. Most importantly, this creates a project library and adds a an auto-loader to .Rprofile to ensure that the project library is automatically used for all future instances of the project. It then restarts the session to use that auto-loader.

deactivate() removes the infrastructure added by activate(), and restarts the session. By default it will remove the auto-loader from the .Rprofile; use clean = TRUE to also delete the lockfile and the project library.


activate(project = NULL, profile = NULL)

deactivate(project = NULL, clean = FALSE)



The project directory. If NULL, then the active project will be used. If no project is currently active, then the current working directory is used instead.


The profile to be activated. When NULL, the default profile is activated instead. See vignette("profiles", package = "renv") for more information.


If TRUE, will also remove the renv/ directory and the lockfile.


The project directory, invisibly. Note that this function is normally called for its side effects.

Temporary deactivation

If you need to temporarily disable autoload activation you can set the RENV_CONFIG_AUTOLOADER_ENABLED envvar, e.g. Sys.setenv(RENV_CONFIG_AUTOLOADER_ENABLED = "false").


if (FALSE) {

# activate the current project

# activate a separate project

# deactivate the currently-activated project