tailscale/tailscale · error
winnet.NewNetworkListManager: %v
Error message
winnet.NewNetworkListManager: %v
What it means
setPrivateNetwork failed to instantiate the COM INetworkListManager via winnet.NewNetworkListManager. Usually caused by COM being unavailable in the current process context or the required Windows networking services not running.
Source
Thrown at wgengine/router/osrouter/ifconfig_windows.go:184
// NLM_NETWORK_CATEGORY values.
const (
categoryPublic = 0
categoryPrivate = 1
categoryDomain = 2
)
ifcGUID, err := ifcLUID.GUID()
if err != nil {
return false, fmt.Errorf("ifcLUID.GUID: %v", err)
}
// aaron: DO NOT call Initialize() or Uninitialize() on c!
// We've already handled that process-wide.
var c ole.Connection
m, err := winnet.NewNetworkListManager(&c)
if err != nil {
return false, fmt.Errorf("winnet.NewNetworkListManager: %v", err)
}
defer m.Release()
cl, err := m.GetNetworkConnections()
if err != nil {
return false, fmt.Errorf("m.GetNetworkConnections: %v", err)
}
defer cl.Release()
for _, nco := range cl {
aid, err := nco.GetAdapterId()
if err != nil {
return false, fmt.Errorf("nco.GetAdapterId: %v", err)
}
if aid != ifcGUID.String() {
continue
}
View on GitHub (pinned to 6e0912f979)
Solutions
- Ensure the Network List Service (netprofm) is running
- Retry the COM instantiation — transient COM initialization races can occur
- Skip the private-network category change; it is advisory, not critical
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at wgengine/router/osrouter/ifconfig_windows.go:184 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tailscale/tailscale@6e0912f979 (2026-08-18).
Data as JSON: /api/errors/f4ab654a185b0d0d.
Report an issue: GitHub.