GitHub CLI GitHub, Inc.
winget install --id=GitHub.cli -e
GitHub CLI (gh) is a command-line tool that brings pull requests, issues, GitHub Actions, and other GitHub features to your terminal, so you can do all your work in one place.
GitHub CLI (gh) is a command-line tool designed to bring GitHub functionality directly into your terminal. It enables developers to work seamlessly with pull requests, issues, and other GitHub features without leaving their workflow or switching between tools.
Key Features:
- Works seamlessly in the terminal alongside git for a unified experience.
- Integrates core GitHub concepts like pull requests, issues, and team discussions.
- Supports managing repositories, teams, and organizations directly from the command line.
- Streamlines collaboration by allowing code reviews, issue tracking, and workflows to be handled in real time.
- Provides extensibility through plugins for additional functionality.
Audience & Benefit:
Ideal for developers, DevOps engineers, and teams collaborating on GitHub. It streamlines workflow by reducing context switching between tools, enabling seamless integration of GitHub operations into everyday coding tasks.
README
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 supported for users on GitHub.com and GitHub Enterprise Server 2.20+ with support for macOS, Windows, and Linux.
Documentation
For installation options see below, for usage instructions see the manual.
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.
If you are a hubber and are interested in shipping new commands for the CLI, check out our doc on internal contributions.
Installation
macOS
gh
is available via Homebrew, MacPorts, Conda, Spack, Webi, and as a downloadable binary including Mac OS installer .pkg
from the releases page.
> [!NOTE]
> As of May 29th, Mac OS installer .pkg
are unsigned with efforts prioritized in cli/cli#9139
to support signing them.
Homebrew
Install: | Upgrade: |
---|---|
brew install gh | brew upgrade gh |
MacPorts
Install: | Upgrade: |
---|---|
sudo port install gh | sudo port selfupdate && sudo port upgrade gh |
Conda
Install: | Upgrade: |
---|---|
conda install gh --channel conda-forge | conda update gh --channel conda-forge |
Additional Conda installation options available on the gh-feedstock page.
Spack
Install: | Upgrade: |
---|---|
spack install gh | spack uninstall gh && spack install gh |
Webi
Install: | Upgrade: |
---|---|
curl -sS https://webi.sh/gh | sh | webi gh@stable |
For more information about the Webi installer see its homepage.
Linux & BSD
gh
is available via:
- our Debian and RPM repositories;
- community-maintained repositories in various Linux distros;
- OS-agnostic package managers such as Homebrew, Conda, Spack, Webi; and
- our releases page as precompiled binaries.
For more information, see Linux & BSD installation.
Windows
gh
is available via WinGet, scoop, Chocolatey, Conda, Webi, and as downloadable MSI.
WinGet
Install: | Upgrade: |
---|---|
winget install --id GitHub.cli | winget upgrade --id GitHub.cli |
> Note
> The Windows installer modifies your PATH. When using Windows Terminal, you will need to open a new window for the changes to take effect. (Simply opening a new tab will not be sufficient.)
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.
Codespaces
To add GitHub CLI to your codespace, add the following to your devcontainer file:
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {}
}
GitHub Actions
GitHub CLI comes pre-installed in all GitHub-Hosted Runners.
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.