GH-EXTENSION-INSTALL(1)
π gh-extension-install(1) β the GitHub CLI manual, but make it make sense β¨
okay bestie, buckle up, because this is the page from the GitHub CLI manual that teaches you how to install a gh extension from a repository, and honestly? it's giving main character energy π«Ά
πΈ NAME πΈ
gh-extension-install β install a gh extension from a repository, no cap π
β¨ SYNOPSIS β¨
gh extension install <repository> [flags]
π¦ DESCRIPTION π¦
So, gh extension install installs a GitHub CLI extension from a GitHub or local repository. iconic behaviour fr fr π
For GitHub repositories, the <repository> argument can be specified in OWNER/REPO format, or as a full repository URL. That URL format is lowkey the move when the repository is not hosted on github.com β iykyk π
For remote repositories, the GitHub CLI first looks for the release artifacts, assuming it's a binary extension β i.e. prebuilt binaries provided as part of the release. If there's no release? Then the repository itself gets cloned, assuming it's a script extension β i.e. a prebuilt executable or script exists on its root. two paths, one slay β¨
The --pin flag may be used to specify a tag or commit for binary and script extensions respectively β and the latest version is used otherwise. periodt π
For local repositories β often used while developing extensions β use . as the value of the <repository> argument. And here's the important bits, so pay attention bestie:
- After installing an extension from a locally cloned repository, the GitHub CLI will manage this extension as a symbolic link (or equivalent mechanism on Windows) pointing to an executable file with the same name as the repository in the repository's root. For example, if the repository is named
gh-foobar, the symbolic link will point togh-foobarin the extension repository's root. - When executing the extension, the GitHub CLI will run the executable file found by following the symbolic link. If no executable file is found, the extension will fail to execute. π
- If the extension is precompiled, the executable file must be built manually and placed in the repository's root.
For the list of available extensions, see https://github.com/topics/gh-extension π
π OPTIONS π
--forceβ force upgrade extension, or ignore if latest already installed π₯--pin <string>β pin extension to a release tag or commit ref π
π EXIT CODES π
0: successful execution β1: error π2: command canceled π4: authentication required π
NOTE: specific commands may have additional exit codes. Refer to the command's help for more information. π«Ά
π EXAMPLE π
# Install an extension from a remote repository hosted on GitHub
$ gh extension install owner/gh-extension
# Install an extension from a remote repository via full URL
$ gh extension install https://my.ghes.com/owner/gh-extension
# Install an extension from a local repository in the current working directory
$ gh extension install .
ate. no notes. π
π§ SEE ALSO π§
gh-extension(1) β go read that one too, bestie π
that's a wrap! stay slay, stay patched, and remember: this page is from GitHub CLI v2.102.0, dated Oct 2026 π π¦ bye bestieeee π
π¦ where this page comes from
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms