← Guides

How to see which Tailscale devices are offline (and get alerted) from your Mac

October 10, 2026 · 6 min read

Tailscale makes it easy to forget your devices exist, which is the point, right up until the home server you SSH into from work has been offline since Tuesday. Here are the ways to see what's actually connected, from quickest to most automated.

1. The admin console

The Machines page of the Tailscale admin console lists every device with a Last seen column; online devices show "Connected". You can filter by status and sort by last seen. It's the most complete view, but you have to remember to go and look, and it's a web page you keep reopening.

2. The tailscale CLI

On any device that's on the tailnet:

tailscale status
100.101.102.103  macbook       you@  macOS   -
100.88.10.4      nas           you@  linux   offline
100.88.10.9      pi-garage     you@  linux   idle, tx 1240 rx 980

Offline peers are marked offline. Two caveats: you only see peers your device is allowed to see under your ACLs, and the command only works from a machine that is itself connected. For a script, tailscale status --json gives you each peer's Online flag and LastSeen time.

3. The Tailscale API

For the whole tailnet regardless of ACLs, use the API with an access key from the Keys page of the admin console:

curl -s -u "tskey-api-…:" \
  "https://api.tailscale.com/api/v2/tailnet/-/devices?fields=all" \
  | jq -r '.devices[] | select(.connectedToControl == false) | "\(.name)  last seen \(.lastSeen)"'

connectedToControl tells you whether the device is currently connected, and lastSeen when it was last online. The same response includes expires and keyExpiryDisabled, which matter because a device whose node key expires drops off the tailnet until someone signs in on it again.

Getting alerted instead of checking

Tailscale's webhooks cover events such as a new device joining, a device needing approval and node keys about to expire, but there's no "device went offline" event. To be told when a machine drops, something has to poll the device list and compare it with the previous result: a cron job around the API call above that sends you a message when connectedToControl flips to false, or a monitoring tool that does it for you.

A few things worth alerting on besides offline devices:

  • Keys expiring within a week, so a laptop doesn't fall off the tailnet mid-trip.
  • New devices joining, especially if device approval is off.
  • Subnet routers and exit nodes owned by a person rather than a tag; they disappear if that user leaves.

Or keep it in your menu bar

Meshbar does the polling for you on a Mac: it checks your tailnet every minute, keeps the online count in the menu bar, and sends a macOS notification when a device goes offline, a new one joins, or a node key is a week from expiring. Click the icon for every device with its status, OS, Tailscale IP and last-seen time, plus warnings like untagged routers. It uses an API key you create and talks to Tailscale directly; nothing passes through us.

Tailscale is a trademark of Tailscale Inc. Meshbar is an independent app and isn't affiliated with or endorsed by Tailscale. See also Tailscale's API documentation.