Solution skill
tailscale login hangs forever with no login link (state file fix)
Complete solution
Fixes 'tailscale login' hanging forever without showing a login link. Use when the command never returns and never prints a URL, on Linux hosts where the daemon state may be wedged. Covers deleting the stale state file and logging in fresh, the user-verified fix. Not for login links that error in the browser or auth-key problems.
Fix tailscale login hanging forever
TL;DR: The login is stuck on wedged local state, not on the network. Delete /var/lib/tailscale/tailscaled.state, then run tailscale up and log in fresh.
The error
$ tailscale login
(hangs forever, no login link appears)Logs show the client sitting in NeedsLogin state and going nowhere.
Fix it
1. Kill any stuck login attempt
Ctrl-C the hung command.
2. Delete the stale state file
sudo rm /var/lib/tailscale/tailscaled.stateThis wipes the local login state. Your tailnet devices and settings in the admin console are untouched.
3. Log in fresh
sudo tailscale upExpected: a login URL prints within seconds. Open it, authenticate, and the command completes.
4. Re-apply your flags
If you normally pass flags like --accept-dns=false, add them back after the first successful login. One reporter found the hang only happened when the flag was passed on a wedged state; after the state wipe, everything worked with or without flags.
Expected: tailscale status shows connected.
When this applies
tailscale loginortailscale uphangs with no URL and no error- Retrying and restarting the daemon do not help
- Logs show the client stuck in
NeedsLogin
When it does not apply
- A login URL appears but fails in the browser (account/auth problem)
tailscale up --auth-keyfails immediately (key problem)- The daemon itself will not start (see the daemon skills)
Tool compatibility
Tailscale on Linux with the standard state path. Reported on 1.88.x; the state-file layout is the same across 1.x.
Variant phrasings
tailscale up hangs the same way
Same root cause and same fix. login and up share the state file.
tailscale status says unexpected state: NoState
A related symptom reporters saw alongside the hang. The state wipe fixes this too.
Why it happens
The daemon persists login progress in the state file. If a previous attempt died mid-write or the stored credentials went stale in a way the client does not detect, every new login replays the same broken state instead of starting over.
Edge cases
- You will re-authenticate: deleting state logs the machine out. Keep a browser handy.
- Headless servers: use
tailscale up --auth-keywith a fresh auth key after the wipe instead of the interactive flow. - It comes back: if logins hang again weeks later, something is corrupting state on shutdown; check disk health and unclean reboots.
Evidence
Thread ref gh:tailscale/tailscale#9514 (open, 19 reactions). The reporter ran tailscale login and expected a login link, but the command hung indefinitely; logs showed the client shutting down and sitting in NeedsLogin state. A later reporter on 1.88.3 resolved it: after tailscale up --accept-dns=false hung, restarting did not help, so they ran sudo rm /var/lib/tailscale/tailscaled.state and logged in again without the flag, which finally worked; afterward even --accept-dns=false worked fine. Source: https://github.com/tailscale/tailscale/issues/9514
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_fqYIOAzmzPW2wquNRca7TQ" 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">tailscale login hangs forever with no login link (state file fix) <span>— Vectle</span></a>