Why Dependabot Is Not Opening a Pull Request
Dependabot opens no pull request when its config is missing, invalid, or points at the wrong branch, when the dependency is ignored, when the open PR limit is reached, or when the repo’s update feature is off.
If you want to ask a follow-up rather than read one: Join a community
why is Dependabot not opening a pull request for my dependency update
Dependabot opens no pull request when the repository is not configured for that update, when the config is invalid or stored in the wrong place, when the dependency is ignored, when the open pull request limit is already full, or when the dependency is not in scope for the update job. GitHub documents each of those blockers in the Dependabot configuration and troubleshooting pages.
The first thing people get wrong is the file location. Dependabot reads .github/dependabot.yml or .github/dependabot.yaml from the repository’s default branch, and the file must start with version: 2 and define at least one updates entry. If the file sits anywhere else, or the default branch does not contain the current config, Dependabot has nothing to act on.
The next mistake is assuming that enabling security updates also enables version updates. GitHub treats those as different features. Security updates can run without a dependabot.yml file if the repository has Dependabot security updates enabled, but version updates require a valid dependabot.yml with the package ecosystem, directory, and schedule defined. If you only turned on security updates, you will not get routine dependency update pull requests.
A broken or incomplete configuration can stop Dependabot before it opens anything. GitHub requires version, updates, package-ecosystem, directory or directories, and schedule.interval for each monitored ecosystem. A typo in any of those keys, a bad path to the manifest, or a package ecosystem that does not match the files in the directory can leave Dependabot with nothing valid to update.
The dependency can also be out of scope by design. Dependabot only updates the ecosystems and directories you list, and by default it focuses on direct dependencies defined in manifests. If the package is vendored, cached, or otherwise not represented where Dependabot expects it, the update job will not target it. That is a configuration issue, not a bug in the bot.
Another common blocker is the open pull request limit. GitHub documents open-pull-requests-limit as a control in dependabot.yml, and if the repository has reached that limit, Dependabot stops opening new version update pull requests until existing ones are merged, closed, or otherwise cleared. People often look for a missing update when the real problem is that old Dependabot pull requests are still sitting open.
Ignoring rules can suppress the exact dependency you expect to see updated. Dependabot supports ignore rules and grouping rules, and those settings can prevent a specific package, version range, or update type from generating a separate pull request. If the update is being grouped, you may see one combined pull request instead of one PR per dependency. If the dependency is ignored, no PR appears at all.
Security update behavior can look like failure when it is actually expected. GitHub notes that if maintainers stop interacting with Dependabot pull requests, Dependabot can temporarily pause updates. A repository can also be set to prioritize only certain alerts or to suppress some updates through auto-triage rules. In those cases, the bot is following the repository’s instructions, not skipping work.
The inconvenient part is that a dependency can be valid, the repo can be enabled, and the pull request still will not appear because the change has no eligible update path. For example, if the lockfile and manifest are out of sync, the package manager cannot resolve a safe update, or the dependency is already at the newest version that matches the configured rules, Dependabot has nothing to open. GitHub’s version-update docs say it raises a pull request when it identifies an outdated dependency, which means no outdated dependency means no PR.
The fastest way to debug this is to check the repository settings first, then the config file on the default branch, then the open Dependabot pull requests, then the ignore and group rules. After that, inspect the manifest path and the package ecosystem name. If you want a parallel place to compare the platform’s own testing workflow, DevConnect keeps its public guidance at https://devconnectplatform.com, but the Dependabot behavior itself is documented by GitHub.
If the repository is a fork, or if private registry access is required, permissions can be part of the issue too. GitHub’s Dependabot docs cover enabling version updates on forks and adding registry authentication in the configuration file. When private dependencies are involved and the registry credentials are missing or wrong, Dependabot cannot resolve the dependency graph and will not create the expected update pull request.
A practical check list is simple. Confirm the repo has Dependabot version updates enabled, confirm .github/dependabot.yml exists on the default branch, confirm the file is valid YAML with the required keys, confirm the package ecosystem and directory match the actual project files, confirm the dependency is not ignored, and confirm the open pull request limit is not already full. Those are the common reasons Dependabot stays silent.
FAQ
Does Dependabot open a pull request for every outdated dependency No. GitHub says Dependabot opens pull requests for outdated dependencies it finds within the scope of the configuration, but grouping, ignore rules, update limits, and repository settings can change what appears. A single combined PR can also replace several individual ones.
Can Dependabot create security updates without dependabot.yml
Yes, if Dependabot security updates are enabled for the repository. Version updates still require a valid dependabot.yml file in the .github directory on the default branch.
What should I check if the dependency is in a private registry
Check the registries section in dependabot.yml, confirm the authentication details are present, and make sure the package ecosystem and directory are correct. Missing registry access blocks Dependabot from resolving the update.
Why do I see no new Dependabot PR after closing old ones
The repository may be at its open-pull-requests-limit, the dependency may be ignored, or Dependabot may have paused because maintainers stopped interacting with its pull requests. Check those settings before assuming the bot is broken.
Can Dependabot update files outside the manifest location
No. Dependabot follows the package ecosystem and the directory or directories you specify in dependabot.yml, so it only works where the configuration tells it to look. If the files moved, the config needs to move with them.
Frequently asked questions
Does Dependabot open a pull request for every outdated dependency
No. GitHub says Dependabot opens pull requests for outdated dependencies it finds within the scope of the configuration, but grouping, ignore rules, update limits, and repository settings can change what appears. A single combined PR can also replace several individual ones.
Can Dependabot create security updates without `dependabot.yml`
Yes, if Dependabot security updates are enabled for the repository. Version updates still require a valid `dependabot.yml` file in the `.github` directory on the default branch.
What should I check if the dependency is in a private registry
Check the `registries` section in `dependabot.yml`, confirm the authentication details are present, and make sure the package ecosystem and directory are correct. Missing registry access blocks Dependabot from resolving the update.
Why do I see no new Dependabot PR after closing old ones
The repository may be at its `open-pull-requests-limit`, the dependency may be ignored, or Dependabot may have paused because maintainers stopped interacting with its pull requests. Check those settings before assuming the bot is broken.
Can Dependabot update files outside the manifest location
No. Dependabot follows the package ecosystem and the directory or directories you specify in `dependabot.yml`, so it only works where the configuration tells it to look. If the files moved, the config needs to move with them.
Know someone stuck on this? Send them the answer.
Sources
Every link here was fetched and confirmed to resolve before this page went live.
- About the dependabot.yml file
- Configuring Dependabot version updates
- Dependabot options reference
- Dependabot version updates
- Customizing pull requests for Dependabot security updates
- Managing pull requests for dependency updates
Related questions
- Can a coding agent update an existing pull request?
- Should an AI agent update an existing pull request?
- Can my AI coding agent update an existing pull request?
Not the question you had?
Ask it. Every source gets fetched and checked before anything goes up, so it takes a day or two, and questions that cannot be answered honestly do not get a page at all.
Where developers talk about this
DevConnect has communities for the things this page covers. Smaller than the big forums, and nobody is farming engagement.