tailscale/tailscale · error
Not implemented
Error message
Not implemented
What it means
This file is the GOOS=js (WebAssembly) build variant of the ssh helpers: when the tailscale CLI is compiled for the browser/WASM environment, there is no local ssh binary to find or exec, so findSSH and execSSH are stubs that always return 'Not implemented'. Hitting it means the ssh subcommand was invoked in a build where spawning ssh is structurally impossible.
Source
Thrown at cmd/tailscale/cli/ssh_exec_js.go:11
// Copyright (c) Tailscale Inc & contributors
// SPDX-License-Identifier: BSD-3-Clause
package cli
import (
"errors"
)
func findSSH() (string, error) {
return "", errors.New("Not implemented")
}
func execSSH(ssh string, argv []string) error {
return errors.New("Not implemented")
}
View on GitHub (pinned to cfe32b8be6)
Solutions
- Build/run the CLI for the host platform instead (GOOS unset, e.g. linux/darwin) — the real findSSH/execSSH live in the non-js files
- In WASM embeddings, hide or disable the ssh subcommand rather than invoking it
- Use a regular ssh client from the user's machine against the MagicDNS name
Example fix
// before $ GOOS=js GOARCH=wasm go build ./cmd/tailscale # then run 'tailscale ssh ...' Not implemented // after $ go build ./cmd/tailscale # native build $ ./tailscale ssh admin@server
Defensive patterns
Strategy: fallback
Validate before calling
if runtime.GOOS == "js" {
return errors.New("ssh subcommand unsupported in WASM builds")
} Try / catch
if _, err := findSSH(); err != nil {
if err.Error() == "Not implemented" {
// js/wasm build: fall back to a remote/web terminal or native binary
return errUnsupportedPlatform
}
return err
} Prevention
- Hide the ssh subcommand in WASM builds instead of exposing a stub that always fails
- Build natively (GOOS/GOARCH for the host) when ssh functionality is required
When it happens
Trigger: Compiling cmd/tailscale with GOOS=js GOARCH=wasm (e.g. the tailscale.com/wasm playground) and running the ssh subcommand — findSSH() is called during ssh setup and returns this stub error.
Common situations: Browser-based Tailscale demos/playgrounds; embedding the CLI in a WASM shell and calling the ssh entry point; accidental cross-compilation to js/wasm for a tool that was meant to run natively.
Related errors
- The 'tailscale ssh' subcommand is not available on macOS bui
- Path serving is not supported on macOS due to sandbox restri
- usage: tailscale ssh [user@]<host>
- Auto-updates are not supported on this platform.
- Tailscale SSH server administratively disabled
AI-assisted analysis of tailscale/tailscale@cfe32b8be6 (2026-08-15).
Data as JSON: /api/errors/992ad42d670fc9b8.
Report an issue: GitHub.