PayloadKit

Tailscale (Standalone)

io.tailscale.ipn.macsys

Configure settings for the Standalone variant of the Tailscale client.

macOS

Configuration Keys (46)

Showing 46 of 46 keys

KeyTypeDescriptionDefaultRange
string—Default: —Range: —

Organization Details: Name

stringSpecifies the name of the organization managing Tailscale, for instance “XYZ Corp, Inc.”. The value will be displayed in the Tailscale client, so that users can easily reach your internal support resources.Default: —Range: —

Organization Details: Caption

stringSpecifies a caption to be displayed in the Managed By view in the Tailscale client. Use this string value to provide your users with information on how to reach support resources for Tailscale in your organization.Default: —Range: —

Organization Details: Support URL

stringSpecifies a URL pointing to a help desk webpage, or other helpful resources for users in the organization. Clicking the Support button in the Tailscale UI will open this webpage.Default: —Range: —

Check for updates automatically

booleanIf you are using the Standalone version of Tailscale for macOS, the client will periodically check for updates automatically and notify the user that a new version is available, using the Sparkle framework. We recommend that you leave this feature on, in order to ensure your users receive any security updates in a timely manner. However, you might prefer to manually deploy updates and disable notifications of new available versions. Set this value to false to disable automatically checking for updates.Default: —Range: —

Install updates automatically

booleanIf you are using the Standalone version of Tailscale for macOS, the client can install updates automatically. This uses the Sparkle framework. We recommend that you always turn this feature on to make sure your users receive any security updates in a timely manner. Note, when the policy is set to true users may need to confirm the update before it is applied. However, if you manually manage updates, or prefer your users to be notified to manually update, you can disable the automatic installation. When SUAutomaticallyUpdate is set to false, the Standalone variant of Tailscale for macOS will require user input before updates are installed.Default: —Range: —

Show/hide the automatic updates settings UI

stringUse this if you do not want to allow the user to turn the automatic installation of updates on or off. When set to hide, the "Automatically install updates" menu item won’t be shown to the user, and the user won’t be able to configure automatic updates.Default: "show"Range: Show (show), Hide (hide)

Allow updating to unstable builds

stringSetting UnstableUpdates to "never" means that your users won’t be able to update to unstable versions of the client from the in-app UI. You can deploy this policy to prevent non-tech-savvy users from enrolling in pre-release builds of the client, which might be more prone to issues.Default: "user-decides"Range: Always (always), Never (never), User Decides (user-decides)

Automatically start Tailscale when the user logs in

booleanThe first time the application is opened on a Mac, Tailscale installs a macOS login helper. This allows Tailscale to start automatically when the user logs into their account. This boolean controls whether the login helper should start Tailscale at login time.Default: —Range: —

Keep Tailscale always connected

booleanPrevents users from disconnecting from the tailnet or exiting the client. When this policy is enabled, you can also enable AlwaysOn.OverrideWithReason to require a reason for disconnecting, and ReconnectAfter to set how long the client can stay disconnected.Default: falseRange: —

Require a reason for disconnection

booleanRequires users to submit a reason when disconnecting the Tailscale client. User-provided reasons display in the Configuration logs page of the admin console. On macOS, a user can provide a reason in the client UI dialog or with the CLI command tailscale down --reason "DNS issues".Default: falseRange: —

Reconnection timer

stringSets how long the client can remain disconnected from the tailnet before automatically reconnecting. Use a Go-style duration string, for example 24h or 5h25m30s. An empty string or a zero duration disables automatic reconnection. Can be used with or without AlwaysOn.Enabled.Default: —Range: —

Force Tailscale to always be running

booleanWhen set to true, this boolean instructs Tailscale to always be connected and actively monitor the tunnel state for disconnections. The Disconnect toggle will be disabled, to prevent users from disabling the VPN themselves. An attempt to disconnect will present a banner informing the user the organization’s policy prevents Tailscale from being disconnected. If the client detects the VPN tunnel is down because the Tailscale VPN process was terminated, Tailscale will automatically restart it and reconnect. You might want to use this policy together with an always-on VPN configuration profile.Default: falseRange: —

Suppress DHCP Option 121 warnings

booleanBy default, Tailscale v1.68 and later detect when DHCP Option 121 is being used, and the client will display a warning to the user in the UI when usage of this option is detected. You may set the HideDHCP121Warnings system policy to true to hide such warnings if you have a legitimate need to use Option 121.Default: falseRange: —
Tailnetstring

Suggested or required tailnet name

stringSpecifies one or more tailnets to suggest or require during device registration. Set to a comma-separated list of tailnet IDs or organization IDs such as T123456CNTRL,o123456CNTRL. Prefix the value with required: to require one of those values and disallow registration in any other tailnet.Default: —Range: —
LoginURLstring

Custom control server URL

stringThe LoginURL policy can be used to specify a custom control server URL. This should not be changed unless you are not using the standard Tailscale server. Use this policy if you’re deploying your own server, such as Headscale.Default: —Range: —
AuthKeystring

Auth key

stringSpecifies an auth key used to authenticate managed devices without user interaction. Clients automatically try to use the auth key when launched unless already logged in. Use a one-off auth key tagged for the device, with access control policies that grant only necessary access.Default: —Range: —

Custom browser for authentication

stringControls the browser used to open authentication URLs. Set this to the bundle identifier of the preferred browser. If the specified bundle is not present, the user's default system browser is used.Default: —Range: —

Encrypt node state file

booleanInstructs Tailscale to store the node state file in encrypted format on disk. The node state file contains credentials, like the node and machine keys, that could be copied to a different device if stored unencrypted. The Mac App Store variant always stores the state file encrypted regardless of this policy; this key applies to the Standalone variant only.Default: falseRange: —

Forced Exit Node ID

stringForces the Tailscale client to always use the given exit node. This can be useful if you wish to route all Internet traffic through a node for inspection or logging purposes. Users won't be able to disable or choose another exit node when this policy is active unless ExitNode.AllowOverride is also enabled. The value should be the ID of an exit node device, or auto:any to require any regionally-routed exit node. You can optionally restrict permitted nodes with AllowedSuggestedExitNodes. If a forced exit node goes offline, Internet connectivity will be unavailable until it returns.Default: —Range: —

Allow a different exit node when forced

booleanLets users select a different exit node when ExitNodeID is set to auto:any, which requires the use of an exit node. It does not allow disabling exit node usage entirely.Default: falseRange: —

Allowed suggested exit nodes

arrayControls which exit nodes are recommended in the Tailscale client and through tailscale exit-node suggest. When ExitNodeID is set to auto:any, this list specifies the allowed regionally-routed exit nodes. If unset, all exit nodes are allowed. If set but empty, no exit nodes are allowed. Other exit nodes not specified by this policy can still be used, but they will not be recommended.Default: —Range: —
string

Exit Node ID

stringThe ID of an exit node device. You can find device IDs on the Machines page of the admin console or by using the Tailscale API.Default: —Range: —

Advertise as exit node

stringControls whether the device advertises itself as an exit node for use by other users and their devices.Default: "user-decides"Range: Always (always), Never (never), User Decides (user-decides)

Key Expiration Notice Interval

stringThe KeyExpirationNotice policy controls how long before key expiry should a notice be displayed. The default is 24 hours ("24h"). Use a Go-style Duration for this policy value, for instance "24h" or "5h25m30s".Default: "24h"Range: —

Allow Local Network Access when an exit node is in use

stringAllow Local Network Access determines whether users can still access devices on the local network while using an exit node.Default: "user-decides"Range: Always (always), Never (never), User Decides (user-decides)

Use Tailscale Subnets

stringDetermines whether the client accepts subnets advertised by other nodes in your tailnet.Default: "user-decides"Range: Always (always), Never (never), User Decides (user-decides)
Hostnamestring

Set whether device hostnames can be modified

stringThe Hostname policy allows IT administrators to override the hostname configured in the operating system and reported to the coordination server. This can be particularly useful on mobile devices, where the hostname provided by the operating system usually only contains the device's manufacturer name and model.Default: —Range: —

Use Tailscale DNS Settings

stringDetermines whether to apply the DNS configuration provided by the coordination server when the tunnel is connected.Default: "user-decides"Range: Always (always), Never (never), User Decides (user-decides)

Allow incoming connections

stringDetermines whether Tailscale should allow incoming connections to the device.Default: "user-decides"Range: Always (always), Never (never), User Decides (user-decides)

Gather device posture data

stringEnables gathering of device posture data.Default: "user-decides"Range: Always (always), Never (never), User Decides (user-decides)

Show/hide exit nodes picker

stringShows or hides all UI items to choose an exit node in the Tailscale client.Default: "show"Range: Show (show), Hide (hide)

Show/hide tailnet lock settings

stringShows or hides the "Manage Tailnet lock" menu item.Default: "show"Range: Show (show), Hide (hide)

Show/hide the "Reset to Defaults" menu item

stringShows or hides the "Reset to Defaults" menu item.Default: "show"Range: Show (show), Hide (hide)

Show/hide "Run as Exit Node" menu item

stringShows or hides the "Run as Exit Node" menu item, controlling the user's ability to toggle this option.Default: "show"Range: Show (show), Hide (hide)

Show/hide "Start on Login" menu item

stringShows or hides the "Start on Login" menu item, controlling the user's ability to toggle this option.Default: "show"Range: Show (show), Hide (hide)
TestMenustring

Show/hide Debug menu

stringShows or hides the debug menu in the Tailscale client. On macOS, this system policy will also hide any information displayed when holding down the Option key while clicking on the Tailscale menubar item.Default: "show"Range: Show (show), Hide (hide)

Show/hide "Update Available" menu item

stringShows or hides the "Update Available" menu item which appears when a newer version of Tailscale is available.Default: "show"Range: Show (show), Hide (hide)

Hide categories of network devices

arrayCan be used to hide one or more categories of network devices normally displayed in the Tailscale client. Administrators can choose to hide: devices owned by the current user; devices owned by other users; tagged devices. If all three options are chosen, the "Network Devices" menu item disappears entirely and users aren’t able to see any device on the tailnet.Default: —Range: —
string
string—Default: —Range: Devices belonging to the current user (current-user), Devices belonging to other users (other-users), Tagged devices (tagged-devices)

Suppress IP Address Copied notifications

booleanWhen you use the Tailscale menu bar item to copy to the Clipboard the IP address of a device, a notification displaying the IP address is presented. Use this to suppress this Copied IP address to clipboard notification.Default: falseRange: —

Suppress the app window intro flow

booleanSet to true to suppress the "Welcome to the Tailscale app" modal window introduction that appears when you log in to Tailscale on a device for the first time.Default: falseRange: —

Hide the macOS dock icon after all windows close

booleanThe Tailscale dock icon on macOS appears whenever an application window exists. By default, Tailscale leaves an icon in the dock to support quickly reopening the main application window. Set this to true to hide the dock icon after all windows close.Default: falseRange: —

Hide the CLI integration installer

stringWhen set to hide, the user will not be able to install the CLI helper, and will instead be told to contact their administrator.Default: "hide"Range: Show (show), Hide (hide)

Show/hide the first launch onboarding flow

stringShows or hides the client onboarding flow that appears the first time Tailscale starts on a device. Hide it if end-users are already familiar with the product. On macOS, typically deploy a VPN configuration profile when hiding the onboarding flow.Default: "show"Range: Show (show), Hide (hide)

Suppress the first launch onboarding flow

booleanWhen you start Tailscale on your Mac for the first time, an onboarding flow is presented. It explains the Tailscale privacy policy, and guides the user in setting up the VPN configuration on their Mac. You might want to disable this onboarding flow if you are going to automatically set up the VPN configuration on the system by using a configuration profile. In order to do so, this boolean suppresses the onboarding flow when Tailscale launches for the first time and the value is set to true.Default: falseRange: —

Hide the VPN On Demand menu item

stringThe VPNOnDemandSettings policy can be used to show or hide the VPN On Demand menu item. You might want to use this setting if you're deploying your own VPN configuration profile for Tailscale, and you don't want your users to interact with the on-demand VPN configuration you set up for them.Default: "show"Range: Show (show), Hide (hide)

VPN On Demand is user-configured

booleanInstructs Tailscale not to modify the VPN On Demand configuration, so that MDM-deployed OnDemandRules remain in effect. Deploy this together with VPNOnDemandSettings set to hide when providing your own VPN On Demand rules.Default: falseRange: —