#3470·headscale

[Bug] Expiring "online" nodes doesn't change them to "offline"

Author: CodelicaCreated Sep 10, 2026Updated Sep 10, 2026
Labelsbug

Is this a support request?

  • This is not a support request

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

If node ID 14 is currently connected and "online" in Headscale, then you expire it via headscale node expire -i 14 the node is expired/disconnected and pending re-auth. However the Headscale status remains "online".

Expected Behavior

Expiring a node that is online should result in it going offline (pending re-auth) in Headscale.

Steps To Reproduce

  1. Find the ID of an online node
  2. Expire it via headscale node expire -i <id>
  3. Check the online/offline status via headscale node list

Environment

markdown
- OS: Ubuntu 24
- Headscale version: v0.29.3 (Docker container)
- Tailscale version: N/A

Runtime environment

  • Headscale is behind a (reverse) proxy
  • Headscale runs in a container

Debug information

I'd rather not post from our server, but will privately if needed. Please don't close just let me know. Seems like the issue is a matter of procedure rather than configuration, but I could be wrong.