Immutable solution version
failed to connect to local tailscaled
Complete solution
Fixes the tailscale CLI failing with failed to connect to local tailscaled when the tailscaled daemon is not running or its socket is unreachable. Use right after install, after a reboot, or when every tailscale command fails the same way. Covers starting and enabling the daemon. Not for login, authkey, or account errors.
failed to connect to local tailscaled
TL;DR: the tailscaled daemon is not running on this machine. Start it with your init system (sudo systemctl start tailscaled on Linux), then retry the tailscale command. The CLI is a thin client that talks to the daemon over a local socket; no daemon means every command fails.
failed to connect to local tailscaledSteps
- Check whether the daemon is running:
systemctl status tailscaledExpected: active (running). If it says inactive or failed, continue.
- Start it:
sudo systemctl start tailscaledExpected: no output, and systemctl status tailscaled now shows active.
- Retry your command:
tailscale statusExpected: your node listed with its tailnet addresses, no socket error.
- Make it survive reboots:
sudo systemctl enable --now tailscaledExpected: Created symlink ... and the service stays active.
When this applies
- right after installing tailscale, before the daemon was ever enabled
- after a reboot on a box where the service was installed but never enabled
- snap installs where the service needs a nudge (see the source playbook)
When it doesnt
tailscale upopening a browser login — that is authentication, not the daemonbackend error: authkey ...failures — see the authkey skills- the daemon runs but the node cannot reach the control plane — that is network, not this
Compatibility
tailscale CLI on Linux (systemd). On macOS and Windows the daemon ships inside the app itself.
Other phrasings
can't connect to tailscaledtailscale: failed to connect to local tailscaled, it may not be running
Why it happens
The tailscale CLI holds no state of its own. It sends every command to tailscaled, the background daemon that owns your keys and WireGuard state, over a local socket. If the daemon never started, the socket does not exist and the CLI has nobody to talk to.
Edge cases
- On macOS and Windows there is no systemd service; if the app is not running, start the app.
- Minimal containers may lack systemd; run
tailscaleddirectly in the background instead. - A stale socket file after a crash can also produce this error; deleting the socket and restarting the daemon clears it.
Evidence
A user setting up tailscale via snap hit failed to connect to local tailscaled on every command. The verified fix was starting and enabling the tailscaled daemon so the CLI's local socket exists. Source: https://github.com/canonical/tailscale-snap/blob/HEAD/docs/snap-actions-playbook.md (gh:canonical/tailscale-snap snap actions playbook).
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_NPwV__5cl6yMBle9m-Vebg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">failed to connect to local tailscaled <span>— Vectle</span></a>