Anyone with admin permissions to a repository can enable or disable the automatic deletion of branches. Branch protection rules and repository rules can also prevent branches being automatically deleted. For more information, see About rulesets and About protected branches.
For a pull request opened from a fork, GitHub uses the Automatically delete head branches setting on the head repository (the fork), not the base repository where the pull request is merged. Automatic deletion requires both of the following:
- The setting is enabled on the fork.
- The user merging the pull request has write access to the fork.
If either requirement isn't met, the head branch isn't deleted automatically. A user with write access to the fork can manually delete the branch from the merged pull request. For more information, see Deleting and restoring branches in a pull request.
-
On GitHub, navigate to the main page of the repository.
-
Under your repository name, click Settings. If you cannot see the "Settings" tab, select the dropdown menu, then click Settings.

-
On the "General" settings page, you can find a section called "Pull Requests". Under "Pull Requests", select or deselect Automatically delete head branches.