{"record":{"id":"22dc1295c5f139e2","repo":"juanfont/headscale","slug":"missing-url-parameter","errorCode":null,"errorMessage":"missing URL parameter","messagePattern":"missing URL parameter","errorType":"http","errorClass":null,"httpStatus":null,"severity":"error","filePath":"hscontrol/noise.go","lineNumber":32,"sourceCode":"\t\"github.com/go-chi/chi/v5\"\n\t\"github.com/go-chi/chi/v5/middleware\"\n\t\"github.com/go-chi/metrics\"\n\t\"github.com/juanfont/headscale/hscontrol/capver\"\n\t\"github.com/juanfont/headscale/hscontrol/types\"\n\t\"github.com/rs/zerolog\"\n\t\"github.com/rs/zerolog/log\"\n\t\"golang.org/x/net/http2\"\n\t\"tailscale.com/control/controlbase\"\n\t\"tailscale.com/control/controlhttp/controlhttpserver\"\n\t\"tailscale.com/tailcfg\"\n\t\"tailscale.com/types/key\"\n)\n\n// ErrUnsupportedClientVersion is returned when a client connects with an unsupported protocol version.\nvar ErrUnsupportedClientVersion = errors.New(\"unsupported client version\")\n\n// ErrMissingURLParameter is returned when a required URL parameter is not provided.\nvar ErrMissingURLParameter = errors.New(\"missing URL parameter\")\n\n// ErrNoAuthSession is returned when an auth_id does not match any active auth session.\nvar ErrNoAuthSession = errors.New(\"no auth session found\")\n\n// ErrSSHDstNodeNotFound is returned when the dst node id on a Noise SSH\n// action request does not match any registered node.\nvar ErrSSHDstNodeNotFound = errors.New(\"ssh action: unknown dst node id\")\n\n// ErrSSHMachineKeyMismatch is returned when the Noise session's machine\n// key does not match the dst node referenced in the SSH action URL.\nvar ErrSSHMachineKeyMismatch = errors.New(\n\t\"ssh action: noise session machine key does not match dst node\",\n)\n\n// ErrSSHAuthSessionNotBound is returned when an SSH action follow-up\n// references an auth session that is not bound to an SSH check pair.\nvar ErrSSHAuthSessionNotBound = errors.New(\n\t\"ssh action: cached auth session is not an SSH-check binding\",","sourceCodeStart":14,"sourceCodeEnd":50,"githubUrl":"https://github.com/juanfont/headscale/blob/565fd254d06c4c7f9a8cad1714a43445c79ba420/hscontrol/noise.go#L14-L50","documentation":"Error \"missing URL parameter\" thrown in juanfont/headscale.","triggerScenarios":"Thrown at hscontrol/noise.go:32 when the library encounters an invalid state.","commonSituations":"A required URL query parameter was absent from the request. This indicates a broken or outdated client; ensure the client builds requests per the Tailscale control protocol.","solutions":["Inspect the wrapped error for the underlying cause and correct the failing condition (missing URL parameter); retry the operation after fixing the input, configuration, or environment."],"exampleFix":"Inspect the wrapped error for the underlying cause and correct the failing condition (missing URL parameter); retry the operation after fixing the input, configuration, or environment.","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"565fd254d06c4c7f9a8cad1714a43445c79ba420","analyzedAt":"2026-08-15T13:12:30.133Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}