GitHub CLI
gh
is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git
and your code.
GitHub CLI is available for repositories hosted on GitHub.com and GitHub Enterprise Server 2.20+, and to install on macOS, Windows, and Linux.
Documentation
See the manual for setup and usage instructions.
Contributing
If anything feels off, or if you feel that some functionality is missing, please check out the contributing page. There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project.
Installation
macOS
gh
is available via Homebrew, MacPorts, and as a downloadable binary from the releases page.
Homebrew
Install: | Upgrade: |
---|---|
brew install gh |
brew upgrade gh |
MacPorts
Install: | Upgrade: |
---|---|
sudo port install gh |
sudo port selfupdate && sudo port upgrade gh |
Linux
gh
is available via Homebrew, and as downloadable binaries from the releases page.
For more information and distro-specific instructions, see the Linux installation docs.
Windows
gh
is available via WinGet, scoop, Chocolatey, and as downloadable MSI.
WinGet
Install: | Upgrade: |
---|---|
winget install gh |
winget install gh |
WinGet does not have a specialized upgrade
command yet, but the install
command should work for upgrading to a newer version of GitHub CLI.
scoop
Install: | Upgrade: |
---|---|
scoop install gh |
scoop update gh |
Chocolatey
Install: | Upgrade: |
---|---|
choco install gh |
choco upgrade gh |
Signed MSI
MSI installers are available for download on the releases page.
Other platforms
Download packaged binaries from the releases page.
Build from source
See here on how to build GitHub CLI from source.
Comparison with hub
For many years, hub was the unofficial GitHub CLI tool. gh
is a new project that helps us explore
what an official GitHub CLI tool can look like with a fundamentally different design. While both
tools bring GitHub to the terminal, hub
behaves as a proxy to git
, and gh
is a standalone
tool. Check out our more detailed explanation to learn more.