Commands for installing GitHub CLI without prompts, removing it again and detecting it from deployment tools. A command is shown only when it is certain: from the manifest or the installer technology’s documented default.
Related guide: Silent install switches: MSI, NSIS, Inno Setup · Uninstall a program with the registry or PowerShell
With winget
PowerShell
winget install --id GitHub.cli -e --silent --accept-package-agreements --accept-source-agreementswinget upgrade --id GitHub.cli -e --silentwinget uninstall --id GitHub.cli -e --silentBy installer
64-bit · MSI · All users
Silent install
msiexec /i gh_2.103.2_windows_amd64.msi /qn /norestartWrite a log
msiexec /i gh_2.103.2_windows_amd64.msi /qn /norestart /l*v "%TEMP%\github-cli-install.log"Uninstall
msiexec /x {D975E108-BE08-4E86-AC59-293A2D5800E5} /qn /norestart- MSI product code
- {D975E108-BE08-4E86-AC59-293A2D5800E5}
- Uninstall registry key
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{D975E108-BE08-4E86-AC59-293A2D5800E5}
- UpgradeCode
- {8CFB9531-B959-4E1B-AA2E-4AF0FFCC4AF4}
- Install folder
- %ProgramFiles%\GitHub CLI
64-bit · ZIP
No installation needed (portable)
ARM64 · MSI · All users
Silent install
msiexec /i gh_2.103.2_windows_arm64.msi /qn /norestartWrite a log
msiexec /i gh_2.103.2_windows_arm64.msi /qn /norestart /l*v "%TEMP%\github-cli-install.log"Uninstall
msiexec /x {E830763F-431F-44B4-BAC7-03333CBC26A0} /qn /norestart- MSI product code
- {E830763F-431F-44B4-BAC7-03333CBC26A0}
- Uninstall registry key
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{E830763F-431F-44B4-BAC7-03333CBC26A0}
- UpgradeCode
- {5D15E95C-F979-41B0-826C-C33C8CB5A7EB}
- Install folder
- %ProgramFiles%\GitHub CLI
ARM64 · ZIP
No installation needed (portable)
32-bit · MSI · All users
Silent install
msiexec /i gh_2.103.2_windows_386.msi /qn /norestartWrite a log
msiexec /i gh_2.103.2_windows_386.msi /qn /norestart /l*v "%TEMP%\github-cli-install.log"Uninstall
msiexec /x {0A7937FD-4837-4BFF-8DB2-0FD357CC547F} /qn /norestart- MSI product code
- {0A7937FD-4837-4BFF-8DB2-0FD357CC547F}
- Uninstall registry key
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{0A7937FD-4837-4BFF-8DB2-0FD357CC547F}
- UpgradeCode
- {767EC5D2-C8F0-4912-9901-45E21F59A284}
- Install folder
- %ProgramFiles(x86)%\GitHub CLI
32-bit · ZIP
No installation needed (portable)
PowerShell: download, verify, install
Downloads the official file, checks its SHA256 and installs it silently.
install-github-cli.ps1
$url = 'https://github.com/cli/cli/releases/download/v2.103.2/gh_2.103.2_windows_amd64.msi'
$sha256 = '7560D893608D4244BF57E06AF03F742AE3ABED3B88169304EEC77B77C0DC7598'
$file = Join-Path $env:TEMP 'gh_2.103.2_windows_amd64.msi'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process msiexec.exe -ArgumentList '/i', ('"{0}"' -f $file), '/qn', '/norestart' -Wait install-github-cli.ps1
$url = 'https://github.com/cli/cli/releases/download/v2.103.2/gh_2.103.2_windows_arm64.msi'
$sha256 = '53C0D6618DEEE657849F024C70835F4B2874160AB3F5B6FF8D29C390A9F90CB8'
$file = Join-Path $env:TEMP 'gh_2.103.2_windows_arm64.msi'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process msiexec.exe -ArgumentList '/i', ('"{0}"' -f $file), '/qn', '/norestart' -Wait install-github-cli.ps1
$url = 'https://github.com/cli/cli/releases/download/v2.103.2/gh_2.103.2_windows_386.msi'
$sha256 = '1D0DDD86F26F4C94BB6AC4C401B8898A579C5A5B1DED6824D98592EBC959B4B1'
$file = Join-Path $env:TEMP 'gh_2.103.2_windows_386.msi'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process msiexec.exe -ArgumentList '/i', ('"{0}"' -f $file), '/qn', '/norestart' -Wait