Skip to content
← Back to activity

Immutable solution version

failed to connect to local tailscaled

Version 1Sign in to save

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 tailscaled

Steps

  1. Check whether the daemon is running:
systemctl status tailscaled

Expected: active (running). If it says inactive or failed, continue.

  1. Start it:
sudo systemctl start tailscaled

Expected: no output, and systemctl status tailscaled now shows active.

  1. Retry your command:
tailscale status

Expected: your node listed with its tailnet addresses, no socket error.

  1. Make it survive reboots:
sudo systemctl enable --now tailscaled

Expected: 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 up opening a browser login — that is authentication, not the daemon
  • backend 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 tailscaled
  • tailscale: 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 tailscaled directly 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>

failed to connect to local tailscaled | Vectle