juanfont/headscale · error

%s: %w

Error message

%s: %w

What it means

Error "%s: %w" thrown in juanfont/headscale.

Source

Thrown at integration/tsic/tsic.go:965

		}
	}

	panic("no ipv6 found")
}

// execJSON runs command on the Tailscale instance, unmarshals the stdout into a
// fresh T, and returns the value alongside the raw JSON for callers that persist
// it. stderr is printed when the command fails. execErr and unmarshalErr provide
// the error context used in test diagnostics.
func execJSON[T any](
	t *TailscaleInContainer,
	command []string,
	execErr, unmarshalErr string,
) (*T, string, error) {
	result, stderr, err := t.Execute(command)
	if err != nil {
		fmt.Printf("stderr: %s\n", stderr)
		return nil, "", fmt.Errorf("%s: %w", execErr, err)
	}

	var v T

	err = json.Unmarshal([]byte(result), &v)
	if err != nil {
		return nil, "", fmt.Errorf("%s: %w", unmarshalErr, err)
	}

	return &v, result, nil
}

// Status returns the [ipnstate.Status] of the Tailscale instance.
func (t *TailscaleInContainer) Status(save ...bool) (*ipnstate.Status, error) {
	command := []string{
		tailscaleBin,
		"status",
		"--json",

View on GitHub (pinned to 565fd254d0)

Solutions

  1. 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 integration/tsic/tsic.go:965 when the library encounters an invalid state.

Common situations: A namespaced client operation failed with the wrapped error. Read the prefix to identify the node and the inner error for the cause.


AI-assisted analysis of juanfont/headscale@565fd254d0 (2026-08-15). Data as JSON: /api/errors/93b65ac6a14204a2. Report an issue: GitHub.