Get started
© 2024

Installing Tailscale on Windows with MSI

The current version of the Tailscale client available for download requires Windows 10 or later. If you are running Windows 7 (SP1) or Windows 8.x, Tailscale 1.44.2 is the latest supported client version, and can be downloaded from the Tailscale Packages page.

This article shows how to install Tailscale with the Windows Installer (MSI) package. If you want to use the Tailscale .exe installer, see Installing Tailscale on Windows.

To install

  1. Download the latest .msi file from the Tailscale Packages page. You need to choose the version for your CPU architecture. If your architecture is based on ARM64, use the x86 version.

  2. Run the installer. You can double click the download, or you can use the msiexec command:

    msiexec /i <path_to_tailscale_msi.msi>

    Optionally, write logging information from msiexec to a file. The folder used for the log file must already exist.

    msiexec /L <path_to_log.log> /i <path_to_tailscale_msi.msi>

  3. Note the new Tailscale icon in your system tray once installation is complete. If it is not visible, click the up arrow to find it in the system tray overflow area.

  4. Click on the Tailscale icon to expose configuration options and status messages.

  5. Under your account, click on Log in to launch a browser window, and authenticate using your SSO identity provider.

Congratulations! You’ve added your Windows workstation to your Tailscale network.

To uninstall

Users can uninstall Tailscale through the Windows control panel.

For system administration or debugging purposes, you can also uninstall with msiexec. If you uninstall with msiexec, you must use the same .msi file that you used to install the client.

msiexec /x <path_to_tailscale_msi.msi>

You can also use the /L option to write logging information from msiexec to a file.

msiexec /L <path_to_log.log> /x <path_to_tailscale_msi.msi>


If you use the msiexec command-line tool, you can set several MSI properties that control the user's experience with the Tailscale client. For example, this installation command hides the Network Devices menu item in the Tailscale client:

msiexec TS_NETWORKDEVICES="hide" /i tailscale-setup-1.22.0-amd64.msi

Tailscale MSI properties, if set, are stored in the HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Tailscale registry key. The registry value type for all Tailscale MSI properties is REG_SZ.

The following properties can be used with MSI.


Specifies the path of the installation directory on disk. The installation path defaults to C:\Program Files\Tailscale.


Controls visibility of the Admin Console menu

  • Registry name: AdminConsole
  • Possible values: "show", "hide"


Controls how the Run As Exit Nodes option is configured

  • Registry name: AdvertiseExitNode
  • Possible values: "always", "never", "user-decides"


Controls the Preferences > Allow Incoming Connections menu item

  • Registry name: AllowIncomingConnections
  • Possible values: "always", "never", "user-decides"


This policy does not currently change Windows behavior. It corresponds to tailscale set --update-check but the Windows client does not currently look at this because it always checks for updates.

  • Registry name: CheckUpdates
  • Possible values: "always", "never", "user-decides"


Controls whether to apply its DNS configuration when the tunnel is connected

  • Registry name: UseTailscaleDNSSettings
  • Possible values: "always", "never", "user-decides"


Controls whether to accept subnets advertised by other nodes in your tailnet

  • Registry name: UseTailscaleSubnets
  • Possible values: "always", "never", "user-decides"


Controls the visibility of the Exit Nodes menu

  • Registry name: ExitNodesPicker
  • Possible values: "show", "hide"


Enables additional DNS cache flushing for debugging purposes. This should only be enabled if recommended by Tailscale Support.

  • Registry name: FlushDNSOnSessionUnlock
  • Possible values: "1", "0"


Controls how Automatically Install Updates is configured

  • Registry name: InstallUpdates
  • Possible values: "always", "never", "user-decides"


Enables a warning message that will be displayed up to time prior to the login's actual expiry. The default is 24 hours.

  • Registry name: KeyExpirationNotice
  • Possible values: String value that can be parsed by Go's time.ParseDuration function. For example, "12h".


Controls the required use of a particular Tailscale coordination server. See Set a custom control server URL for more details.

  • Registry name: LoginURL
  • Possible values: URL for the coordination server


Controls the visibility of the Network Devices menu

  • Registry name: NetworkDevices
  • Possible values: "show", "hide"


Controls whether the Tailscale client is launched as part of the installation. This property is applicable only during silent installation.

  • Registry name: Not applicable—no value is saved to the registry.
  • Possible values: Any string. Set this to a non-empty string to prevent the Tailscale GUI client from launching as part of installation.


Controls the visibility of the Preferences menu

  • Registry name: PreferencesMenu
  • Possible values: "show", "hide"


Controls whether it is possible for users to bring up the debug menu by holding either ctrl or shift when opening the Tailscale menu.

  • Registry name: TestMenu
  • Possible values: "show", "hide"


Controls the Preferences > Run Unattended menu item

  • Registry name: UnattendedMode
  • Possible values: "always", "never", "user-decides"


Controls the visibility of the Update Tailscale menu item.

  • Registry name: UpdateMenu
  • Possible values: "show", "hide"