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.

Runs entirely in your browser. Tip: press / or Ctrl+K anywhere.