From 4a12a1090d9e2b469439d8b70c0f73d59b9365ff Mon Sep 17 00:00:00 2001 From: William Oldham Date: Fri, 24 Apr 2026 13:40:23 +0000 Subject: [PATCH 1/2] fix: windows url was broken for URLs with & - use rundll32 --- cmd/kubectl_token_oauth.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/kubectl_token_oauth.go b/cmd/kubectl_token_oauth.go index 6c5e6d05d..2e8c8395f 100644 --- a/cmd/kubectl_token_oauth.go +++ b/cmd/kubectl_token_oauth.go @@ -199,8 +199,10 @@ func openBrowser(openURL string) error { cmd = "xdg-open" args = []string{openURL} case "windows": - cmd = "cmd" - args = []string{"/c", "start", "", openURL} + // rundll32 handles the URL as a single argument; avoids cmd.exe + // interpreting `&` in query strings as a command separator. + cmd = "rundll32" + args = []string{"url.dll,FileProtocolHandler", openURL} default: return fmt.Errorf("unsupported platform: %s", runtime.GOOS) } From 2084294e158910e7f1346f1a9bc5afe09b7e9d34 Mon Sep 17 00:00:00 2001 From: William Oldham Date: Fri, 24 Apr 2026 13:40:45 +0000 Subject: [PATCH 2/2] feat: use a fixed default port so callback urls are predictable --- cmd/kubectl_token_oauth.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/kubectl_token_oauth.go b/cmd/kubectl_token_oauth.go index 2e8c8395f..329e12f78 100644 --- a/cmd/kubectl_token_oauth.go +++ b/cmd/kubectl_token_oauth.go @@ -52,7 +52,7 @@ func oauthAuth(client *http.Client, input *LoginInput, provider TypedProvider, u func getCallbackPort() (int, error) { env := os.Getenv("CATTLE_OAUTH_CALLBACK_PORT") if env == "" { - return 0, nil // Use random port + return 8888, nil // Default port } port, err := strconv.Atoi(env)