Removing self-hosted runners
You can remove a self-hosted runner from a repository so that it can no longer run jobs in a workflow.
Note: This procedure permanently removes a runner from your repository.
If you only want to temporarily stop a runner from being assigned jobs, you can either shut down the machine or stop the
run application. The runner will still be assigned to the repository, but will be in an "Offline" state and won't execute any jobs until you restart the self-hosted runner using the
To remove a self-hosted runner from a user repository you must be the repository owner. For an organization repository, you must be an organization owner or have admin access to the repository. We recommend that you also have access to the self-hosted runner machine.
Alternatively, if you don't have access to the repository on GitHub to remove a runner (for example, the repository has been deleted), but you would like to re-use the runner machine for another repository, then you can delete the
.runner file inside the self-hosted runner application directory. This allows the runner to be registered to another repository without having to re-download the self-hosted runner application.
On GitHub, navigate to the main page of the repository.
Under your repository name, click Settings.
In the left sidebar, click Actions.
Under "Self-hosted runners", find the runner you want to remove and click Remove.
Complete either of the following steps to remove the runner:
If you have access to the runner machine, open a shell on the machine. Follow the on-screen instructions for your machine's operating system to run the
config removescript. The instructions will include your repository URL and an automatically-generated, time-limited token.
config removescript does the following tasks:
- Removes the runner from the repository.
- Removes any self-hosted runner application configuration files on the machine.
- Removes any services configured if not running in interactive mode.
If you don't have access to the machine, you can click Yes, force remove this runner to force GitHub to remove the runner from your repository.