node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org ยป


Renovate banner


Keep dependencies up-to-date.

GitHub license codecov Join the chat at David Renovate enabled


  • Creates or updates Pull Requests for each dependency that needs updating
  • Discovers and processes all package.json files in repository (supports monorepo architecture including yarn workspaces)
  • Supports multiple major versions per-dependency at once
  • Configurable via file, environment, CLI, and package.json
  • Supports eslint-like preset configs for ease of use
  • Updates yarn.lock and package-lock.json files natively
  • Supports GitHub, GitLab (APIv4) and VSTS
  • Open source and can be self-hosted or used via GitHub App

Configuration Help

If you would like help on your Renovate configuration, or simply get someone to review it, we have created a config-help repository where you can post an issue with your config.

GitHub App

Renovate is now available as a free GitHub "App". Go to to enable it now.


$ npm install -g renovate


You need to select a repository user for renovate to assume the identity of, and generate a Personal Access Token. It's strongly recommended that you use a dedicated "bot" account for this to avoid user confusion and to avoid the Renovate bot mistaking changes you have made or PRs you have raised for its own.

You can find instructions for GitHub here (select "repo" permissions)

You can find instructions for GitLab here. Note: GitLab APIv3 is no longer supported - please upgrade to GitLab APIv4 before testing Renovate.

You can find instructions for VSTS vsts.

This token needs to be configured via file, environment variable, or CLI. See docs/ for details. The simplest way is to expose it as GITHUB_TOKEN or GITLAB_TOKEN or VSTS_TOKEN.


Run renovate --help for usage details.

Note: The first time you run renovate on a repository, it will not upgrade any dependencies. Instead, it will create a Pull Request (Merge Request if GitLab) called 'Configure Renovate' and commit a default renovate.json file to the repository. This PR can be close unmerged if the default settings are fine for you. Also, this behaviour can be disabled if you set the onboarding configuration option to false before running.


See deployment docs for details.


The Configuration and Configuration FAQ documents should be helpful.

You can also raise an issue in if you'd like to get your config reviewed or ask any questions.

Design Decisions

See design decisions doc for details.