Pimp My IDE / garage dispatchBack to dispatches
Dependabot / runners / 30 SEP 2026

A runner label is a route, not a security proof.

GitHub now lets a repository send Dependabot jobs to a labeled runner. That can open a private registry. It can also move dependency code inside your network. Treat placement, access, and proof as separate controls.

The switch moved closer to the repo

Placement is now a repository decision.

GitHub added repository-level runner controls for Dependabot version and security updates. An administrator can choose the runner type and add a custom label or runner group. The change applies to private and internal repositories on GitHub.com. GitHub says the controls are hidden for public repositories and GitHub Enterprise Server.

The useful case is clear. A labeled runner can reach a private package registry or run in a specialized environment. The risk is clear too. The dependency updater now runs where that runner can reach. A routing label says where the job should land. It does not prove the runner exists, the group is accessible, the network path is narrow, or the next update succeeds.

There is a policy seam worth pinning to the dashboard. GitHub's changelog says security configurations do not currently enforce these Dependabot runner settings. The product documentation also says Dependabot jobs run on GitHub Actions when Dependabot is enabled, regardless of Actions policy checks or disablement at repository or organization level.

Move dependency automation onto a custom runner only when the required registry path is narrower than the new runner's reach.
01 / PLACE

Choose the runner type

Keep standard hosted, larger hosted, and labeled runners as distinct deployment choices.

02 / RESOLVE

Prove the target exists

Check the label and optional group before saving. A typo can leave the update waiting.

03 / BOUND

Draw the network path

Name the registry host, certificate trust, proxy, and denied destinations.

04 / RUN

Trigger fresh evidence

Changing the setting does not start a new Dependabot run. The next result must be checked separately.

Interactive makeover / runner customs bay

Route the job. Inspect the crossing.

A normal settings form ends when the selection is saved. This bay keeps the runner route beside the checks needed to trust it. It drafts a change card. It does not inspect your repository, runner fleet, network, or Dependabot logs.

Select the runner route

The route changes what the card asks you to prove. The four inspection sections remain independent.

Runner type
Change-card sections
0 SECTIONS SELECTEDSTANDARD HOSTED

The route uses the managed default.

Select the sections that your change record will require.

What belongs in the run record

Save the setting and the evidence separately.

GitHub creates a dynamic workflow for each Dependabot job. It is not stored in .github/workflows. That makes the run page and its logs part of the evidence. A repository diff cannot show the generated workflow that actually ran.

For a labeled route, record the exact label and group. GitHub warns administrators to confirm that both exist and that the repository can access the group before selecting the route. Labels are case-insensitive. Replacing a self-hosted runner requires custom labels to be assigned again.

Then test the path that justified the move. Resolve the private registry through the same proxy and certificate chain. Give the updater only the registry permission it needs. Keep unrelated internal services outside the route. Finally, wait for or trigger the next Dependabot job and retain its URL, revision, result, and cleanup state. GitHub notes that saving a different runner setting does not itself start a run.

Do not call the card ready when it only names sections. The all-selected state below means the template structure is ready. It still needs real labels, hosts, credential scopes, and job evidence.