{"record":{"id":"992ad42d670fc9b8","repo":"tailscale/tailscale","slug":"not-implemented","errorCode":null,"errorMessage":"Not implemented","messagePattern":"Not implemented","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/tailscale/cli/ssh_exec_js.go","lineNumber":11,"sourceCode":"// Copyright (c) Tailscale Inc & contributors\n// SPDX-License-Identifier: BSD-3-Clause\n\npackage cli\n\nimport (\n\t\"errors\"\n)\n\nfunc findSSH() (string, error) {\n\treturn \"\", errors.New(\"Not implemented\")\n}\n\nfunc execSSH(ssh string, argv []string) error {\n\treturn errors.New(\"Not implemented\")\n}\n","sourceCodeStart":1,"sourceCodeEnd":17,"githubUrl":"https://github.com/tailscale/tailscale/blob/cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042/cmd/tailscale/cli/ssh_exec_js.go#L1-L17","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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"],"exampleFix":"// before\n$ GOOS=js GOARCH=wasm go build ./cmd/tailscale   # then run 'tailscale ssh ...'\nNot implemented\n\n// after\n$ go build ./cmd/tailscale   # native build\n$ ./tailscale ssh admin@server","handlingStrategy":"fallback","validationCode":"if runtime.GOOS == \"js\" {\n\treturn errors.New(\"ssh subcommand unsupported in WASM builds\")\n}","typeGuard":null,"tryCatchPattern":"if _, err := findSSH(); err != nil {\n\tif err.Error() == \"Not implemented\" {\n\t\t// js/wasm build: fall back to a remote/web terminal or native binary\n\t\treturn errUnsupportedPlatform\n\t}\n\treturn err\n}","preventionTips":["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"],"tags":["tailscale","ssh","wasm","platform-support","not-implemented"],"backgroundTag":null,"analyzedSha":"cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042","analyzedAt":"2026-08-15T19:58:31.583Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}