- Notifications
You must be signed in to change notification settings - Fork6.8k
GitHub’s official command line tool
License
cli/cli
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 withgit
and your code.
GitHub CLI is supported for users on GitHub.com, GitHub Enterprise Cloud, and GitHub Enterprise Server 2.20+ with support for macOS, Windows, and Linux.
Forinstallation options see below, for usage instructionssee the manual.
If anything feels off or if you feel that some functionality is missing, please check out thecontributing 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 ourdoc on internal contributions.
gh
is available viaHomebrew,MacPorts,Conda,Spack,Webi, and as a downloadable binary including Mac OS installer.pkg
from thereleases page.
Note
As of May 29th, Mac OS installer.pkg
are unsigned with efforts prioritized incli/cli#9139
to support signing them.
Install: | Upgrade: |
---|---|
brew install gh | brew upgrade gh |
Install: | Upgrade: |
---|---|
sudo port install gh | sudo port selfupdate && sudo port upgrade gh |
Install: | Upgrade: |
---|---|
conda install gh --channel conda-forge | conda update gh --channel conda-forge |
Additional Conda installation options available on thegh-feedstock page.
Install: | Upgrade: |
---|---|
spack install gh | spack uninstall gh && spack install gh |
Install: | Upgrade: |
---|---|
curl -sS https://webi.sh/gh | sh | webi gh@stable |
For more information about the Webi installer, seeits homepage.
Install: | Upgrade: |
---|---|
flox install gh | flox upgrade toplevel |
For more information about Flox, seeits homepage
gh
is available via:
- our Debian and RPM repositories;
- community-maintained repositories in various Linux distros;
- OS-agnostic package managers such asHomebrew,Conda,Spack,Webi; and
- ourreleases page as precompiled binaries.
For more information, seeLinux & BSD installation.
gh
is available viaWinGet,scoop,Chocolatey,Conda,Webi, and as downloadable MSI.
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 toopen a new window for the changes to take effect. (Simply opening a new tab willnot be sufficient.)
Install: | Upgrade: |
---|---|
scoop install gh | scoop update gh |
Install: | Upgrade: |
---|---|
choco install gh | choco upgrade gh |
MSI installers are available for download on thereleases page.
To add GitHub CLI to your codespace, add the following to yourdevcontainer file:
"features": {"ghcr.io/devcontainers/features/github-cli:1": {}}
GitHub CLI comes pre-installed in allGitHub-Hosted Runners.
Download packaged binaries from thereleases page.
Since version 2.50.0,gh
has been producingBuild Provenance Attestation, enabling a cryptographically verifiable paper-trail back to the origin GitHub repository, git revision, and build instructions used. The build provenance attestations are signed and rely on Public GoodSigstore for PKI.
There are two common ways to verify a downloaded release, depending on whethergh
is already installed or not. Ifgh
is installed, it's trivial to verify a new release:
Option 1: Using
gh
if already installed:$ gh at verify -R cli/cli gh_2.62.0_macOS_arm64.zipLoaded digest sha256:fdb77f31b8a6dd23c3fd858758d692a45f7fc76383e37d475bdcae038df92afcfor file://gh_2.62.0_macOS_arm64.zipLoaded 1 attestation from GitHub API✓ Verification succeeded!sha256:fdb77f31b8a6dd23c3fd858758d692a45f7fc76383e37d475bdcae038df92afc was attested by:REPO PREDICATE_TYPE WORKFLOWcli/cli https://slsa.dev/provenance/v1 .github/workflows/deployment.yml@refs/heads/trunk
Option 2: Using Sigstore
cosign
:To perform this, download theattestation for the downloaded release and use cosign to verify the authenticity of the downloaded release:
$ cosign verify-blob-attestation --bundle cli-cli-attestation-3120304.sigstore.json \ --new-bundle-format \ --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \ --certificate-identity="https://github.com/cli/cli/.github/workflows/deployment.yml@refs/heads/trunk" \ gh_2.62.0_macOS_arm64.zipVerified OK
See here on how tobuild GitHub CLI from source.
For many years,hub was the unofficial GitHub CLI tool.gh
is a new project that helps us explorewhat an official GitHub CLI tool can look like with a fundamentally different design. While bothtools bring GitHub to the terminal,hub
behaves as a proxy togit
, andgh
is a standalonetool. Check out ourmore detailed explanation to learn more.
About
GitHub’s official command line tool
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.