# Uninstall Teleport

This guide explains how to uninstall Teleport completely including binaries, configurations and data.

## How it works

On a single host, a Teleport installation involves the following components, which you must remove in order to uninstall Teleport:

- A daemon configuration to launch Teleport on system start
- Teleport binaries
- The Teleport data directory and configuration file

Uninstalling Teleport is a separate operation from tearing down a Teleport cluster, which depends on how you deployed the Teleport Auth Service, Proxy Service, and other Teleport cluster components.

## Prerequisites

- A system with Teleport installed.

---

WARNING

These instructions only apply to non-containerized installations of Teleport.

If you are running Teleport in Kubernetes, you should uninstall the Helm chart release instead:

```
Example: uninstall the Helm release named 'teleport-kube-agent' in the 'teleport' namespace
$ helm uninstall --namespace teleport teleport-kube-agent
```

If you are running Teleport in Docker, you should stop the Teleport Docker container:

```
Example: Stop the Docker container named 'teleport'
$ docker stop teleport
```

---

## Step 1/3. Stop any running Teleport processes

**Linux**

Instruct `systemd` to stop the Teleport process, and disable it from automatically starting:

```
$ sudo systemctl stop teleport
$ sudo systemctl disable teleport
```

If these `systemd` commands do not work, you can "kill" all the running Teleport processes instead:

```
$ sudo killall teleport
```

**macOS**

Instruct `launchd` to stop the Teleport process, and disable it from automatically starting:

```
$ sudo launchctl unload -w /Library/LaunchDaemons/com.goteleport.teleport.plist
$ sudo rm -f /Library/LaunchDaemons/com.goteleport.teleport.plist
```

If these commands do not work, you can "kill" all the running Teleport processes instead:

```
$ sudo killall teleport
```

**Windows**

There are currently no long-running Teleport processes on Windows machines.

## Step 2/3. Remove Teleport binaries

Follow the steps for your operating system to remove Teleport binaries.

### Linux

First, uninstall the Teleport automatic updater (`teleport-update`) and the Teleport versions it potentially installed:

```
teleport-update uninstall
```

Then, follow the instructions for your Linux distribution:

**Debian/Ubuntu Linux (DEB)**

Uninstall the Teleport binary using APT:

```
$ sudo apt-get -y remove teleport-ent
```

For Teleport Community Edition, use the following command:

```
$ sudo apt-get -y remove teleport
```

Uninstall the Teleport APT repo:

```
$ sudo rm -f /etc/apt/sources.list.d/teleport.list
```

---

UNINSTALL STANDALONE DEB PACKAGE

If the commands above do not work, you may have installed Teleport using a standalone DEB package. Remove it with:

```
Use "teleport" instead of "teleport-ent" for Teleport Community Edition
$ sudo dpkg -r teleport-ent
```

---

**Amazon Linux 2/RHEL (RPM)**

Uninstall the Teleport binary using YUM:

```
Change the package name to "teleport" for Teleport Community Edition
$ sudo yum -y remove teleport-ent
Optional: Use DNF on newer distributions
$ sudo dnf -y remove teleport-ent
```

Uninstall the Teleport YUM repo:

```
$ sudo rm -f /etc/yum.repos.d/teleport.repo
```

---

UNINSTALL STANDALONE RPM PACKAGE

If the commands above do not work, you may have installed Teleport using a standalone RPM package. Remove it with:

```
Use "teleport" for Teleport Community Edition
$ sudo rpm -e teleport-ent
```

---

**SUSE Linux Enterprise Server (zypper)**

Uninstall the Teleport binary using zypper:

```
Change the package name to "teleport" for Teleport Community Edition
$ sudo zypper -y remove teleport-ent
```

Uninstall the Teleport zypper repo:

```
$ sudo zypper removerepo teleport
```

**Linux Tarball**

---

NOTE

These are the default paths to the Teleport binaries. If you have changed these from the defaults on your system, substitute those paths here. You can use `dirname $(which teleport)` to look this up automatically.

---

Then, remove the Teleport binaries from the machine:

```
$ sudo rm -f /usr/local/bin/tbot
$ sudo rm -f /usr/local/bin/tctl
$ sudo rm -f /usr/local/bin/teleport
$ sudo rm -f /usr/local/bin/tsh
$ sudo rm -f /usr/local/bin/fdpass-teleport
$ sudo rm -f /usr/local/bin/teleport-update
```

### macOS

---

NOTE

These are the default paths to the Teleport binaries. If you have changed these from the defaults on your system, substitute those paths here. You can use `dirname $(which teleport)` to look this up automatically.

---

Remove the Teleport binaries and links to Teleport software from the machine:

```
$ sudo rm -f /usr/local/bin/tbot
$ sudo rm -f /usr/local/bin/tctl
$ sudo rm -f /usr/local/bin/teleport
$ sudo rm -f /usr/local/bin/tsh
$ sudo rm -f /usr/local/bin/fdpass-teleport
$ sudo rm -f /usr/local/bin/teleport-update
```

---

UNINSTALL MACOS CLIENT TOOLS

You may have Teleport software in the `/Applications` folder if you:

- Installed from a macOS tarball for v17+ that includes `tsh.app` and `tctl.app`
- Installed the macOS `tsh` client-only package for v16 or older versions.
- Installed Teleport Connect for macOS

You can remove those with these commands:

```
$ sudo rm -rf /Applications/tsh.app
$ sudo rm -rf /Applications/tctl.app
$ sudo rm -rf /Applications/Teleport\ Connect.app
```

---

### Windows

Remove the `tsh.exe`, `tctl.exe`, and `tbot.exe` binaries from the machine:

```
$ del C:\Path\To\tsh.exe
$ del C:\Path\To\tctl.exe
$ del C:\Path\To\tbot.exe
```

You can uninstall Teleport Connect from the "Apps and Features" section of the Control Panel.

For reference, Teleport Connect binaries are installed to `%PROGRAMFILES%\Teleport Connect`.

If you are using Teleport's Windows auth package to provide passwordless logins for local users, you can remove it by running the setup program from an administrative command prompt:

```
> teleport-windows-auth-setup.exe uninstall

```

A reboot is necessary after the uninstall completes in order to fully remove the package.

## Step 3/3. Remove Teleport data and configuration files

**Linux**

---

NOTE

These are the default paths to the Teleport config files and data directory. If you have changed these from the defaults on your system, substitute those paths here.

---

Remove the Teleport config file:

```
$ sudo rm -f /etc/teleport.yaml
Optional: Also remove the tbot config file, if you used it
$ sudo rm -f /etc/tbot.yaml
```

Remove the Teleport data directory:

```
$ sudo rm -rf /var/lib/teleport
```

Optionally, also remove the global config file and local user data directory for `tsh`:

```
$ sudo rm -f /etc/tsh.yaml
$ rm -rf ~/.tsh
```

**MacOS**

---

NOTE

These are the default paths to the Teleport config files and data directory. If you have changed these from the defaults on your system, substitute those paths here.

---

Remove the Teleport config file:

```
$ sudo rm -f /etc/teleport.yaml
Optional: Also remove the tbot config file, if you used it
$ sudo rm -f /etc/tbot.yaml
```

Remove the Teleport data directory:

```
$ sudo rm -rf /var/lib/teleport
```

Optionally, also remove:

- the global config file and local user data directory for `tsh`
- the local user data directory for Teleport Connect

```
tsh
$ sudo rm -f /etc/tsh.yaml
$ rm -rf ~/.tsh
Teleport Connect
$ rm -rf ~/Library/Application\ Support/Teleport\ Connect
```

**Windows**

Remove the local user data directory for `tsh`:

```
$ rmdir /s /q %USERPROFILE%\.tsh
```

Optionally, also remove the local user data directory for Teleport Connect:

```
$ rmdir /s /q "%APPDATA%\Teleport Connect"
```

Teleport is now removed from your system.

Any Teleport services will stop appearing in your Teleport Web UI or the output of `tsh ls` once their last heartbeat has timed out. This usually occurs within 10-15 minutes of stopping the Teleport process.

## Troubleshooting

### Error with "Teleport system symlinks creation"

If you have manually installed Teleport binaries from a tarball into the `/usr/local/bin` directory on your system, you may see an error similar to the following when trying to install the `teleport` or `teleport-ent` RPM/DEB package:

```
Setting up teleport-ent (18.5.0) ...
Teleport system symlinks creation...
2025-12-12T16:34:56.715-04:00 INFO [UPDATER]   Validating binary name:fdpass-teleport agent/validate.go:68
2025-12-12T16:34:56.716-04:00 INFO [UPDATER]   Binary does not support version command name:fdpass-teleport agent/validate.go:79
2025-12-12T16:34:56.716-04:00 ERRO [UPDATER]   Command failed. error:[
ERROR REPORT:
Original Error: *errors.errorString file present
Stack Trace:
	github.com/gravitational/teleport/lib/autoupdate/agent/installer.go:875 github.com/gravitational/teleport/lib/autoupdate/agent.needsLink
	github.com/gravitational/teleport/lib/autoupdate/agent/installer.go:835 github.com/gravitational/teleport/lib/autoupdate/agent.(*LocalInstaller).tryLinks
	github.com/gravitational/teleport/lib/autoupdate/agent/installer.go:483 github.com/gravitational/teleport/lib/autoupdate/agent.(*LocalInstaller).TryLinkSystem
	github.com/gravitational/teleport/lib/autoupdate/agent/updater.go:1401 github.com/gravitational/teleport/lib/autoupdate/agent.(*Updater).LinkPackage
	github.com/gravitational/teleport/tool/teleport-update/main.go:443 main.cmdLinkPackage	github.com/gravitational/teleport/tool/teleport-update/main.go:251 main.Run
	github.com/gravitational/teleport/tool/teleport-update/main.go:73 main.main
	runtime/proc.go:283 runtime.main
	runtime/asm_amd64.s:1700 runtime.goexit
User Message: failed to link system package installation
	error evaluating link for fdpass-teleport
		refusing to replace file at /usr/local/bin/fdpass-teleport
			file present] teleport-update/main.go:271
dpkg: error processing package teleport-ent (--configure):
 installed teleport-ent package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 teleport-ent
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

```

This error can be resolved by running the following commands to remove any previously-installed versions of the binaries, and then re-running the package installation using your original command.

```
$ sudo rm -f /usr/local/bin/tbot
$ sudo rm -f /usr/local/bin/tctl
$ sudo rm -f /usr/local/bin/teleport
$ sudo rm -f /usr/local/bin/tsh
$ sudo rm -f /usr/local/bin/fdpass-teleport
$ sudo rm -f /usr/local/bin/teleport-update
```
