Installing GitHub CLI on Windows: WinGet and the Manual Installer
GitHub CLI (gh) brings GitHub to the terminal: pull requests, issues, releases, and repository management without leaving the command line. On Windows there are two straightforward ways to install it, depending on what’s already set up on your machine.
Method 1: Install via WinGet
If your system has WinGet (Windows 10 1709+ or Windows 11), this is the fastest route:
winget install --id GitHub.cli
WinGet resolves the latest release automatically and registers gh on your PATH. Close and reopen your terminal afterward so the PATH update takes effect.
To update later:
winget upgrade --id GitHub.cli
If WinGet itself fails, hangs, or isn’t recognized, see Fixing WinGet on Windows for a separate troubleshooting guide, then come back and retry the command above. Alternatively, skip straight to the manual installer below.
Method 2: Manual installer
For machines without WinGet, or as a direct fallback, download the installer straight from the GitHub CLI releases page:
- 64-bit Windows (most common):
gh_2.103.3_windows_amd64.msi - ARM64 Windows:
gh_2.103.3_windows_arm64.msi
Run the downloaded .msi and follow the installer steps; it adds gh to your PATH automatically. A .zip build is also published for each platform if you’d rather extract gh.exe manually and place it somewhere on your PATH yourself.
As with WinGet, restart your terminal after installing so it picks up the updated PATH.
Verify the installation
Regardless of which method you used, confirm it worked:
gh --version
gh version 2.103.3 (2026-xx-xx)
https://github.com/cli/cli/releases/tag/v2.103.3
Authenticate with GitHub
Before using gh against your repositories, log in:
gh auth login
Choose GitHub.com, pick HTTPS or SSH, and follow the browser-based device flow to authorize. Check the result with:
gh auth status
From there, gh repo clone, gh pr create, and gh issue list are ready to use.
Everyday gh commands
A quick reference for the commands you’ll reach for most once gh is installed and authenticated.
Repositories
gh repo clone owner/repo # clone a repository
gh repo create my-project # create a new repository, interactively
gh repo view --web # open the current repo in the browser
gh repo fork owner/repo # fork a repository
Pull requests
gh pr create # open a PR for the current branch, interactively
gh pr create --fill # open a PR using the branch's commits for title/body
gh pr list # list open PRs in the current repo
gh pr view 123 --web # open PR #123 in the browser
gh pr checkout 123 # check out PR #123 locally
gh pr status # PRs you've opened, reviewed, or are assigned
gh pr merge 123 --squash # squash-merge PR #123
Issues
gh issue list # list open issues
gh issue create # create a new issue, interactively
gh issue view 42 # view issue #42
gh issue close 42 # close issue #42
Releases and workflows
gh release list # list releases
gh release create v1.0.0 # create a new release, interactively
gh run list # recent GitHub Actions runs
gh run watch # follow the current run live
Append --help to any command (for example gh pr create --help) to see its full flag list, and gh <noun> --help (gh pr --help) for everything available under that noun.