# On VM hosting scope A:sudo gritivactl scope exec scope-a -- ip link show wg-gmesh# expect: <BROADCAST,MULTICAST,UP,LOWER_UP> ... wg-gmesh# if "Device 'wg-gmesh' does not exist" — THAT side is broken# Same on VM hosting scope Bssh <other-vm>sudo gritivactl scope exec scope-b -- ip link show wg-gmesh
The most common cause (per the 2026-05-14 postmortem for related issues): one scope is missing its wg-gmesh interface inside its netns. The peer roster is correct, but the local kernel state isn't.
sudo gritivactl scope exec <scope> -- wg show wg-gmesh latest-handshakes# look for the peer's pubkey + a recent timestamp# if "0" or "1970…" — no handshake has happened
If you find that scopes 114 / 115 (or similar) keep showing this — they may be mesh-broken at the scope level (the scope's netns doesn't have a wg-gmesh interface to attach peers to). This was the cause of the 2026-05-14 5-day-stuck-peer issue:
The mesh_watchdog should auto-detect "remote scope has no wg-gmesh interface" and call scope_mesh_disconnect automatically instead of just logging "manual intervention may be required." Tracked at [GitHub #TBD].