{"slug":"three-ways-to-run-tailscale-on-macos","title":"Three ways to run Tailscale on macOS","tags":["tailscale"],"agent_summary":"Last validated: Jan 5, 2026","trigger_phrases":[],"runnable":false,"markdown":"\r\n# Three ways to run Tailscale on macOS\r\n\r\nLast validated: Jan 5, 2026\r\n\r\nThe current version of the Tailscale client requires macOS Monterey 12.0 or later.\r\n\r\nThe best way to install Tailscale on macOS is to download and install our application from our package server.\r\n\r\n[Download Tailscale](https://pkgs.tailscale.com/stable/Tailscale-latest-macos.pkg)\r\n\r\nHowever, there are three ways (variants) to run Tailscale on macOS. You can choose the method that best fits your needs.\r\n\r\n- Download and install our Standalone variant of the application directly [from Tailscale's package server](https://pkgs.tailscale.com/stable/#macos) (recommended).\r\n- Install Tailscale from [the Mac App Store](https://apps.apple.com/app/tailscale/id1475387142).\r\n- Download and install the open source `tailscale` \\+ `tailscaled` CLI-only distribution from our [GitHub repository](https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS).\r\n\r\nInstalling Tailscale on macOS - YouTube\r\n\r\nTap to unmute\r\n\r\n[Installing Tailscale on macOS](https://www.youtube.com/watch?v=vkZwu7I4tcY) [Tailscale](https://www.youtube.com/channel/UCcdv38QxPjSMqbt5ffLhJLA)\r\n\r\nTailscale68.5K subscribers\r\n\r\nAll three variants share the same core functionality for connecting your macOS device to Tailscale. However, there are subtle differences in the way that the variants are packaged and how they interact with macOS. You should choose the variant that best fits your use case.\r\n\r\nWe recommend downloading and installing the Standalone variant Tailscale app directly from our package server, as this variant offers more features, is not subject to limitations imposed on apps distributed through the App Store, and provides more control over the deployment of updates.\r\n\r\n## [What are the differences?](https://tailscale.com/docs/concepts/macos-variants\\#what-are-the-differences)\r\n\r\n### [Standalone variant](https://tailscale.com/docs/concepts/macos-variants\\#standalone-variant)\r\n\r\nWe always recommend installing the [Standalone variant](https://pkgs.tailscale.com/stable/#macos) of the Tailscale application on macOS.\r\n\r\nIn macOS Catalina 10.15, Apple added support for the [system extensions](https://developer.apple.com/system-extensions)\r\napproach to implement VPNs. System extensions offer a more secure alternative to the legacy Kernel Extensions technology\r\npreviously used by many security and networking tools on older macOS versions. These extensions run with root privileges\r\nbut remain within a sandbox, ensuring that Tailscale operates isolated from the macOS kernel. A key advantage of system extensions\r\nis their ability to be distributed outside of the Mac App Store. This lets us offer a version of Tailscale that doesn't require\r\nan Apple ID for installation — you can open our `.pkg` installer to begin using Tailscale.\r\n\r\nWith the Standalone variant of our app, security updates are promptly distributed since they don't need to undergo Apple's App Store review process.\r\nAdditionally, Tailscale can detect third-party tools interfering with the VPN tunnel and notify you when conflicts are detected.\r\n\r\n### [Mac App Store variant](https://tailscale.com/docs/concepts/macos-variants\\#mac-app-store-variant)\r\n\r\nTo be in the Mac App Store, applications are required by Apple to run in the [macOS App Sandbox](https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html),\r\nisolating the app from the rest of the system. When running in a sandbox, VPN applications need to be a [Network Extension](https://developer.apple.com/documentation/networkextension)\r\nto implement VPNs or VPN-like functionality. The Network Extension system does not work for applications distributed outside of the Mac App\r\nStore.\r\n\r\nThe main advantage of installing Tailscale through the Mac App Store is that it is very easy to get started. However, because both the Tailscale app and its Network Extension are sandboxed and running as the local user, there are a number of limitations.\r\nFor instance, a very common issue is that the Screen Time web filter can conflict with the Tailscale version distributed on the App Store.\r\n\r\n### [Open source `tailscaled` variant](https://tailscale.com/docs/concepts/macos-variants\\#open-source-tailscaled-variant)\r\n\r\nIt is possible to run the [open source Tailscale code (tailscaled)](https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS) on macOS.\r\nThis uses the kernel [`utun` interface](https://en.wikipedia.org/wiki/TUN/TAP),\r\nrather than the Network Extension or System Extension frameworks. However, this variant does not include a graphical user interface (GUI); all functionality must be managed from the command line. Additionally when using the open source `tailscaled` variant, you won't be able to manage Tailscale from the VPN settings on macOS.\r\n\r\n`tailscaled` on macOS is only recommended for unattended installs managed by\r\nexperienced macOS system administrators.\r\n\r\n## [Which should I choose?](https://tailscale.com/docs/concepts/macos-variants\\#which-should-i-choose)\r\n\r\nAlways start by downloading and installing our [Standalone variant macOS app](https://pkgs.tailscale.com/stable/#macos). Install Tailscale from the Mac App Store only if you are unable to install the Standalone variant, or\r\nif you're deploying Tailscale in an environment where relying on the Mac App Store for install and updates is essential.\r\n\r\nDo not install the Mac App Store variant and the Standalone variant on the same machine. Having both variants running simultaneously can prevent the Tailscale extension from launching. To safely switch between macOS variants, delete the `Tailscale.app` currently installed, empty the Trash, and reboot your Mac before attempting to install a different variant.\r\n\r\n### [Comparison table](https://tailscale.com/docs/concepts/macos-variants\\#comparison-table)\r\n\r\nThis table presents the major differences in functionality between the three variants:\r\n\r\n|  | **App Store**<br>Network Extension | **Standalone**<br>System Extension | **tailscaled**<br>`utun` interface |\r\n| --- | --- | --- | --- |\r\n| Available | [yes](https://apps.apple.com/app/tailscale/id1475387142) | [yes](https://pkgs.tailscale.com/stable/#macos) | [yes](https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS) |\r\n| GUI | yes | yes | no |\r\n| [CLI](https://tailscale.com/docs/reference/tailscale-cli) | yes | yes | yes |\r\n| Minimum macOS | macOS Monterey 12.0 | macOS Monterey 12.0 | macOS Monterey 12.0 |\r\n| Requires Apple ID | yes | no | no |\r\n| Run before login | no; sandboxed | no | yes |\r\n| Keychain used | user | none; files on disk | none; files on disk |\r\n| Sandboxed | yes | system ext only | no |\r\n| [Auto-updates](https://tailscale.com/docs/features/client/update?tab=macos#auto-updates) | yes; managed by the App Store | yes; managed in-app ( [Sparkle](https://sparkle-project.org/)) | no |\r\n| Open Source | no | no | yes |\r\n| MagicDNS | yes | yes | yes |\r\n| Taildrop | yes | yes | incomplete |\r\n| Funnel | no | no | yes |\r\n| Exit nodes | yes | yes | partial; can advertise as exit node but cannot use them |\r\n| [MDM support](https://tailscale.com/docs/integrations/mdm/mac) | yes | yes | no |\r\n| Can be a [Tailscale SSH](https://tailscale.com/docs/features/tailscale-ssh) server | no | no | yes |\r\n| Can be a [Tailscale SSH](https://tailscale.com/docs/features/tailscale-ssh) client | yes | yes | yes |\r\n| Supports [`tailscale ssh`](https://tailscale.com/docs/reference/tailscale-cli#ssh) CLI command | no, must use the regular `ssh` command | yes | yes |\r\n| Supports [services collection](https://tailscale.com/docs/features/services) | no | yes | yes |\r\n| Compatible with Screen Time web filter | no | yes | yes |\r\n| Can generate configuration reports for support | limited | yes | no |\r\n\r\n## [Automating App Store installs](https://tailscale.com/docs/concepts/macos-variants\\#automating-app-store-installs)\r\n\r\nTo automate installs of the Mac App Store version of Tailscale, the\r\n[`mas-cli` tool](https://github.com/mas-cli/mas) lets you run:\r\n\r\n```shell\r\nmas install 1475387142\r\n```\r\n\r\n## [Troubleshooting](https://tailscale.com/docs/concepts/macos-variants\\#troubleshooting)\r\n\r\nTo review common macOS issues and suggestions to help resolve them, refer to the [Troubleshooting guide](https://tailscale.com/docs/reference/troubleshooting/apple).\r\n\r\n![Project Logo](https://cdn.brandfetch.io/tailscale.com/fallback/lettermark/theme/dark/h/256/w/256/icon?c=1bfwsmEH20zzEfSNTed)\r\n\r\nAsk AI\r\n\r\nreCAPTCHA\r\n\r\nRecaptcha requires verification.\r\n\r\nprotected by **reCAPTCHA**\r\n","html":"<h1>Three ways to run Tailscale on macOS</h1>\n<p>Last validated: Jan 5, 2026</p>\n<p>The current version of the Tailscale client requires macOS Monterey 12.0 or later.</p>\n<p>The best way to install Tailscale on macOS is to download and install our application from our package server.</p>\n<p><a href=\"https://pkgs.tailscale.com/stable/Tailscale-latest-macos.pkg\">Download Tailscale</a></p>\n<p>However, there are three ways (variants) to run Tailscale on macOS. You can choose the method that best fits your needs.</p>\n<ul>\n<li>Download and install our Standalone variant of the application directly <a href=\"https://pkgs.tailscale.com/stable/#macos\">from Tailscale's package server</a> (recommended).</li>\n<li>Install Tailscale from <a href=\"https://apps.apple.com/app/tailscale/id1475387142\">the Mac App Store</a>.</li>\n<li>Download and install the open source <code>tailscale</code> + <code>tailscaled</code> CLI-only distribution from our <a href=\"https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS\">GitHub repository</a>.</li>\n</ul>\n<p>Installing Tailscale on macOS - YouTube</p>\n<p>Tap to unmute</p>\n<p><a href=\"https://www.youtube.com/watch?v=vkZwu7I4tcY\">Installing Tailscale on macOS</a> <a href=\"https://www.youtube.com/channel/UCcdv38QxPjSMqbt5ffLhJLA\">Tailscale</a></p>\n<p>Tailscale68.5K subscribers</p>\n<p>All three variants share the same core functionality for connecting your macOS device to Tailscale. However, there are subtle differences in the way that the variants are packaged and how they interact with macOS. You should choose the variant that best fits your use case.</p>\n<p>We recommend downloading and installing the Standalone variant Tailscale app directly from our package server, as this variant offers more features, is not subject to limitations imposed on apps distributed through the App Store, and provides more control over the deployment of updates.</p>\n<h2><a href=\"https://tailscale.com/docs/concepts/macos-variants#what-are-the-differences\">What are the differences?</a></h2>\n<h3><a href=\"https://tailscale.com/docs/concepts/macos-variants#standalone-variant\">Standalone variant</a></h3>\n<p>We always recommend installing the <a href=\"https://pkgs.tailscale.com/stable/#macos\">Standalone variant</a> of the Tailscale application on macOS.</p>\n<p>In macOS Catalina 10.15, Apple added support for the <a href=\"https://developer.apple.com/system-extensions\">system extensions</a>\r\napproach to implement VPNs. System extensions offer a more secure alternative to the legacy Kernel Extensions technology\r\npreviously used by many security and networking tools on older macOS versions. These extensions run with root privileges\r\nbut remain within a sandbox, ensuring that Tailscale operates isolated from the macOS kernel. A key advantage of system extensions\r\nis their ability to be distributed outside of the Mac App Store. This lets us offer a version of Tailscale that doesn't require\r\nan Apple ID for installation — you can open our <code>.pkg</code> installer to begin using Tailscale.</p>\n<p>With the Standalone variant of our app, security updates are promptly distributed since they don't need to undergo Apple's App Store review process.\r\nAdditionally, Tailscale can detect third-party tools interfering with the VPN tunnel and notify you when conflicts are detected.</p>\n<h3><a href=\"https://tailscale.com/docs/concepts/macos-variants#mac-app-store-variant\">Mac App Store variant</a></h3>\n<p>To be in the Mac App Store, applications are required by Apple to run in the <a href=\"https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html\">macOS App Sandbox</a>,\r\nisolating the app from the rest of the system. When running in a sandbox, VPN applications need to be a <a href=\"https://developer.apple.com/documentation/networkextension\">Network Extension</a>\r\nto implement VPNs or VPN-like functionality. The Network Extension system does not work for applications distributed outside of the Mac App\r\nStore.</p>\n<p>The main advantage of installing Tailscale through the Mac App Store is that it is very easy to get started. However, because both the Tailscale app and its Network Extension are sandboxed and running as the local user, there are a number of limitations.\r\nFor instance, a very common issue is that the Screen Time web filter can conflict with the Tailscale version distributed on the App Store.</p>\n<h3><a href=\"https://tailscale.com/docs/concepts/macos-variants#open-source-tailscaled-variant\">Open source <code>tailscaled</code> variant</a></h3>\n<p>It is possible to run the <a href=\"https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS\">open source Tailscale code (tailscaled)</a> on macOS.\r\nThis uses the kernel <a href=\"https://en.wikipedia.org/wiki/TUN/TAP\"><code>utun</code> interface</a>,\r\nrather than the Network Extension or System Extension frameworks. However, this variant does not include a graphical user interface (GUI); all functionality must be managed from the command line. Additionally when using the open source <code>tailscaled</code> variant, you won't be able to manage Tailscale from the VPN settings on macOS.</p>\n<p><code>tailscaled</code> on macOS is only recommended for unattended installs managed by\r\nexperienced macOS system administrators.</p>\n<h2><a href=\"https://tailscale.com/docs/concepts/macos-variants#which-should-i-choose\">Which should I choose?</a></h2>\n<p>Always start by downloading and installing our <a href=\"https://pkgs.tailscale.com/stable/#macos\">Standalone variant macOS app</a>. Install Tailscale from the Mac App Store only if you are unable to install the Standalone variant, or\r\nif you're deploying Tailscale in an environment where relying on the Mac App Store for install and updates is essential.</p>\n<p>Do not install the Mac App Store variant and the Standalone variant on the same machine. Having both variants running simultaneously can prevent the Tailscale extension from launching. To safely switch between macOS variants, delete the <code>Tailscale.app</code> currently installed, empty the Trash, and reboot your Mac before attempting to install a different variant.</p>\n<h3><a href=\"https://tailscale.com/docs/concepts/macos-variants#comparison-table\">Comparison table</a></h3>\n<p>This table presents the major differences in functionality between the three variants:</p>\n<p>|  | <strong>App Store</strong><br>Network Extension | <strong>Standalone</strong><br>System Extension | <strong>tailscaled</strong><br><code>utun</code> interface |\r\n| --- | --- | --- | --- |\r\n| Available | <a href=\"https://apps.apple.com/app/tailscale/id1475387142\">yes</a> | <a href=\"https://pkgs.tailscale.com/stable/#macos\">yes</a> | <a href=\"https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS\">yes</a> |\r\n| GUI | yes | yes | no |\r\n| <a href=\"https://tailscale.com/docs/reference/tailscale-cli\">CLI</a> | yes | yes | yes |\r\n| Minimum macOS | macOS Monterey 12.0 | macOS Monterey 12.0 | macOS Monterey 12.0 |\r\n| Requires Apple ID | yes | no | no |\r\n| Run before login | no; sandboxed | no | yes |\r\n| Keychain used | user | none; files on disk | none; files on disk |\r\n| Sandboxed | yes | system ext only | no |\r\n| <a href=\"https://tailscale.com/docs/features/client/update?tab=macos#auto-updates\">Auto-updates</a> | yes; managed by the App Store | yes; managed in-app ( <a href=\"https://sparkle-project.org/\">Sparkle</a>) | no |\r\n| Open Source | no | no | yes |\r\n| MagicDNS | yes | yes | yes |\r\n| Taildrop | yes | yes | incomplete |\r\n| Funnel | no | no | yes |\r\n| Exit nodes | yes | yes | partial; can advertise as exit node but cannot use them |\r\n| <a href=\"https://tailscale.com/docs/integrations/mdm/mac\">MDM support</a> | yes | yes | no |\r\n| Can be a <a href=\"https://tailscale.com/docs/features/tailscale-ssh\">Tailscale SSH</a> server | no | no | yes |\r\n| Can be a <a href=\"https://tailscale.com/docs/features/tailscale-ssh\">Tailscale SSH</a> client | yes | yes | yes |\r\n| Supports <a href=\"https://tailscale.com/docs/reference/tailscale-cli#ssh\"><code>tailscale ssh</code></a> CLI command | no, must use the regular <code>ssh</code> command | yes | yes |\r\n| Supports <a href=\"https://tailscale.com/docs/features/services\">services collection</a> | no | yes | yes |\r\n| Compatible with Screen Time web filter | no | yes | yes |\r\n| Can generate configuration reports for support | limited | yes | no |</p>\n<h2><a href=\"https://tailscale.com/docs/concepts/macos-variants#automating-app-store-installs\">Automating App Store installs</a></h2>\n<p>To automate installs of the Mac App Store version of Tailscale, the\r\n<a href=\"https://github.com/mas-cli/mas\"><code>mas-cli</code> tool</a> lets you run:</p>\n<pre><code class=\"language-shell\">mas install 1475387142\n</code></pre>\n<h2><a href=\"https://tailscale.com/docs/concepts/macos-variants#troubleshooting\">Troubleshooting</a></h2>\n<p>To review common macOS issues and suggestions to help resolve them, refer to the <a href=\"https://tailscale.com/docs/reference/troubleshooting/apple\">Troubleshooting guide</a>.</p>\n<p><img src=\"https://cdn.brandfetch.io/tailscale.com/fallback/lettermark/theme/dark/h/256/w/256/icon?c=1bfwsmEH20zzEfSNTed\" alt=\"Project Logo\"></p>\n<p>Ask AI</p>\n<p>reCAPTCHA</p>\n<p>Recaptcha requires verification.</p>\n<p>protected by <strong>reCAPTCHA</strong></p>\n"}