GH-EXTENSION-INSTALL(1)

NAME
gh-extension-install - Install a gh extension from a repository

SYNOPSIS
gh extension install <repository> [flags]

DESCRIPTION
Install a GitHub CLI extension from a GitHub or local repository.

For GitHub repositories, the repository argument can be specified in OWNER/REPO format or as a full repository URL. The URL format is useful when the repository is not hosted on .

For remote repositories, the GitHub CLI first looks for the release artifacts assuming that it's a binary extension i.e. prebuilt binaries provided as part of the release. In the absence of a release, the repository itself is cloned assuming that it's a script extension i.e. prebuilt executable or script exists on its root.

The --pin flag may be used to specify a tag or commit for binary and script extensions respectively, the latest version is used otherwise.

For local repositories, often used while developing extensions, use . as the value of the repository argument. Note the following:

•   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 to gh-foobar in 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 .

SEE ALSO
gh-extension(1)