wavetermdev/waveterm · error

GetDistro not implemented on this system

Error message

GetDistro not implemented on this system

What it means

Stub error: GetDistro has no implementation on Unix systems. Distro enumeration is Windows-only; on other platforms the function returns this not-implemented error.

Source

Thrown at pkg/wsl/wsl-unix.go:78

func (c *WslCmd) SetStdin(stdin io.Reader) {
	c.Stdin = stdin
}

func (c *WslCmd) SetStdout(stdout io.Writer) {
	c.Stdout = stdout
}

func (c *WslCmd) SetStderr(stderr io.Writer) {
	c.Stderr = stderr
}

func GetDistroCmd(ctx context.Context, wslDistroName string, cmd string) (*WslCmd, error) {
	return nil, fmt.Errorf("GetDistroCmd not implemented on this system")
}

func GetDistro(ctx context.Context, wslDistroName WslName) (*Distro, error) {
	return nil, fmt.Errorf("GetDistro not implemented on this system")
}

View on GitHub (pinned to a4447c1563)

Solutions

  1. Guard WSL connection setup with a runtime.GOOS == "windows" check
  2. Remove or migrate WSL connections when running on Unix hosts
  3. Use SSH-based remote connections for cross-platform remotes

Example fix

// before
d, err := wsl.GetDistro(ctx, name)
// after
if runtime.GOOS != "windows" {
    return errors.New("WSL connections are only supported on Windows")
}
d, err := wsl.GetDistro(ctx, name)
Defensive patterns

Strategy: fallback

Validate before calling

if runtime.GOOS != "windows" {
    return errors.New("WSL distro lookup requires Windows")
}

Try / catch

distro, err := wsl.GetDistro(ctx, wslName)
if err != nil {
    return fmt.Errorf("cannot connect: WSL only supported on Windows: %w", err)
}

Prevention

When it happens

Trigger: Calling wsl.GetDistro (e.g. from connectInternal when establishing a WSL connection) on a Linux or macOS build.

Common situations: Connection attempts to WSL remote connections from Unix machines; shared connection code not platform-gated.

Related errors


AI-assisted analysis of wavetermdev/waveterm@a4447c1563 (2026-09-01). Data as JSON: /api/errors/8a7fefcde98e3369. Report an issue: GitHub.