You can permanently remove a self-hosted runner from a repository.
Note
run application. The runner will remain assigned in an "Offline" state, and won't execute any jobs until you restart the runner using the run application.To remove a self-hosted runner from a user repository you must be the repository owner. Organization owners can remove a runner from a repository in the organization.
We recommend that you also have access to the self-hosted runner machine.
For information about how to remove a self-hosted runner with the REST API, see REST API endpoints for self-hosted runners.
Alternatively, if you don't have access to the repository or organization on GitHub to remove a runner, but you would like to re-use the runner machine, then you can delete the .runner file inside the self-hosted runner application directory (that is, the directory into which you downloaded and unpacked the runner software). This allows the runner to be registered 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. If you cannot see the "Settings" tab, select the dropdown menu, then click Settings.

In the left sidebar, click Actions, then click Runners.
In the list of runners, click on the name of the runner you'd like to configure.
Click Remove.
You will see instructions for removing the self-hosted runner. Complete either of the following steps to remove the runner, depending on whether it is still accessible:
If you have access to the runner machine: Follow the on-screen instructions for your machine's operating system to run the removal command. The instructions include the required URL and an automatically-generated, time-limited token.
The removal command does the following tasks:
If you don't have access to the machine: Click Force remove this runner to force GitHub to remove the runner.
Note
run application. The runner will remain assigned in an "Offline" state, and won't execute any jobs until you restart the runner using the run application.To remove a self-hosted runner from an organization, you must be an organization owner. We recommend that you also have access to the self-hosted runner machine. For information about how to remove a self-hosted runner with the REST API, see REST API endpoints for self-hosted runners.
Alternatively, if you don't have access to the repository or organization on GitHub to remove a runner, but you would like to re-use the runner machine, then you can delete the .runner file inside the self-hosted runner application directory (that is, the directory into which you downloaded and unpacked the runner software). This allows the runner to be registered without having to re-download the self-hosted runner application.
On GitHub, navigate to the main page of the organization.
Under your organization name, click Settings. If you cannot see the "Settings" tab, select the dropdown menu, then click Settings.

In the left sidebar, click Actions, then click Runners.
In the list of runners, click on the name of the runner you'd like to configure.
Click Remove.
You will see instructions for removing the self-hosted runner. Complete either of the following steps to remove the runner, depending on whether it is still accessible:
If you have access to the runner machine: Follow the on-screen instructions for your machine's operating system to run the removal command. The instructions include the required URL and an automatically-generated, time-limited token.
The removal command does the following tasks:
If you don't have access to the machine: Click Force remove this runner to force GitHub to remove the runner.
If you use GitHub Enterprise Cloud, you can also remove runners from an enterprise. For more information, see the GitHub Enterprise Cloud documentation.