From 24a5f095add94b4230500bdef588de88ad458436 Mon Sep 17 00:00:00 2001 From: Justin Date: Wed, 19 Aug 2026 14:19:24 -0400 Subject: [PATCH 1/2] fix(runpodctl): correct the windows install command wget in PowerShell is an alias for Invoke-WebRequest, which has no -O parameter, and -O is an ambiguous prefix of -OutFile, -OutVariable, -OutBuffer and -OperationTimeoutSeconds. The documented command failed instead of downloading. Also installs to %LOCALAPPDATA%\runpodctl and adds it to PATH, so Windows users get a working runpodctl like the macOS and Linux tabs already do, and adds the arm64 variant. Matches the runpodctl README and skill install guide. Upstream: https://github.com/runpod/runpodctl/issues/311 --- runpodctl/overview.mdx | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/runpodctl/overview.mdx b/runpodctl/overview.mdx index a7bb931f9..2e07f511c 100644 --- a/runpodctl/overview.mdx +++ b/runpodctl/overview.mdx @@ -99,9 +99,32 @@ export PATH="$HOME/.local/bin:$PATH" -```bash -wget https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-windows-amd64.exe -O runpodctl.exe -``` + +In PowerShell, `wget` is an alias for `Invoke-WebRequest`, so use `Invoke-WebRequest` directly. This installs runpodctl to `%LOCALAPPDATA%\runpodctl` and adds it to your `PATH`, so you can run `runpodctl` from any terminal. + +**AMD64 (x86_64):** +```powershell +$dest = "$env:LOCALAPPDATA\runpodctl" +Invoke-WebRequest -UseBasicParsing -Uri https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-windows-amd64.zip -OutFile "$env:TEMP\runpodctl.zip" +Expand-Archive -Force -Path "$env:TEMP\runpodctl.zip" -DestinationPath $dest +$userPath = [Environment]::GetEnvironmentVariable('Path', 'User') +if ($userPath -notlike "*$dest*") { + [Environment]::SetEnvironmentVariable('Path', "$userPath;$dest", 'User') +} +``` + +**ARM64:** +```powershell +$dest = "$env:LOCALAPPDATA\runpodctl" +Invoke-WebRequest -UseBasicParsing -Uri https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-windows-arm64.zip -OutFile "$env:TEMP\runpodctl.zip" +Expand-Archive -Force -Path "$env:TEMP\runpodctl.zip" -DestinationPath $dest +$userPath = [Environment]::GetEnvironmentVariable('Path', 'User') +if ($userPath -notlike "*$dest*") { + [Environment]::SetEnvironmentVariable('Path', "$userPath;$dest", 'User') +} +``` + +Open a new terminal so the `PATH` change takes effect, then verify with `runpodctl version`. From a696e9ad0faec8eac831c1f9ff8990acb770662b Mon Sep 17 00:00:00 2001 From: Justin Date: Thu, 20 Aug 2026 13:40:43 -0400 Subject: [PATCH 2/2] fix(runpodctl): compare whole PATH entries in the Windows install snippets --- runpodctl/overview.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/runpodctl/overview.mdx b/runpodctl/overview.mdx index 2e07f511c..9fdcf671d 100644 --- a/runpodctl/overview.mdx +++ b/runpodctl/overview.mdx @@ -108,8 +108,9 @@ $dest = "$env:LOCALAPPDATA\runpodctl" Invoke-WebRequest -UseBasicParsing -Uri https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-windows-amd64.zip -OutFile "$env:TEMP\runpodctl.zip" Expand-Archive -Force -Path "$env:TEMP\runpodctl.zip" -DestinationPath $dest $userPath = [Environment]::GetEnvironmentVariable('Path', 'User') -if ($userPath -notlike "*$dest*") { - [Environment]::SetEnvironmentVariable('Path', "$userPath;$dest", 'User') +$pathEntries = @($userPath -split ';' | Where-Object { $_ }) +if ($pathEntries -notcontains $dest) { + [Environment]::SetEnvironmentVariable('Path', (($pathEntries + $dest) -join ';'), 'User') } ``` @@ -119,8 +120,9 @@ $dest = "$env:LOCALAPPDATA\runpodctl" Invoke-WebRequest -UseBasicParsing -Uri https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-windows-arm64.zip -OutFile "$env:TEMP\runpodctl.zip" Expand-Archive -Force -Path "$env:TEMP\runpodctl.zip" -DestinationPath $dest $userPath = [Environment]::GetEnvironmentVariable('Path', 'User') -if ($userPath -notlike "*$dest*") { - [Environment]::SetEnvironmentVariable('Path', "$userPath;$dest", 'User') +$pathEntries = @($userPath -split ';' | Where-Object { $_ }) +if ($pathEntries -notcontains $dest) { + [Environment]::SetEnvironmentVariable('Path', (($pathEntries + $dest) -join ';'), 'User') } ```