juanfont/headscale · error · ErrUnsupportedPolicyMode
%w: %s
Error message
%w: %s
What it means
Error "%w: %s" thrown in juanfont/headscale.
Source
Thrown at hscontrol/state/debug.go:213
// DebugPolicy returns the current policy data as a string.
func (s *State) DebugPolicy() (string, error) {
switch s.cfg.Policy.Mode {
case types.PolicyModeDB:
p, err := s.GetPolicy()
if err != nil {
return "", err
}
return p.Data, nil
case types.PolicyModeFile:
pol, err := hsdb.PolicyBytes(s.db.DB, s.cfg)
if err != nil {
return "", err
}
return string(pol), nil
default:
return "", fmt.Errorf("%w: %s", ErrUnsupportedPolicyMode, s.cfg.Policy.Mode)
}
}
// DebugFilter returns the current filter rules and matchers.
func (s *State) DebugFilter() ([]tailcfg.FilterRule, error) {
filter, _ := s.Filter()
return filter, nil
}
// DebugRoutes returns the current primary routes information as a
// structured object built from the [NodeStore] snapshot.
func (s *State) DebugRoutes() types.DebugRoutes {
debug := types.DebugRoutes{
AvailableRoutes: make(map[types.NodeID][]netip.Prefix),
PrimaryRoutes: make(map[string]types.NodeID),
}
for _, nv := range s.nodeStore.ListNodes().All() {View on GitHub (pinned to 565fd254d0)
Solutions
- Inspect the wrapped error for the underlying cause and correct the failing condition (); retry the operation after fixing the input, configuration, or environment.
Example fix
Inspect the wrapped error for the underlying cause and correct the failing condition (); retry the operation after fixing the input, configuration, or environment.
When it happens
Trigger: Thrown at hscontrol/state/debug.go:213 when the library encounters an invalid state.
Common situations: A debug endpoint operation failed with the embedded message. Check that the debug handler's prerequisites (valid node, enabled debug access) are met.
AI-assisted analysis of juanfont/headscale@565fd254d0 (2026-08-15).
Data as JSON: /api/errors/20e8d3097d33c18f.
Report an issue: GitHub.