1
0
mirror of synced 2025-12-31 15:04:15 -05:00
Files
docs/content/github-cli/github-cli/using-github-cli-extensions.md
Laura Coursen 8f964ea2cb GHEC version (#20947)
Co-authored-by: Matt Pollard <mattpollard@users.noreply.github.com>
Co-authored-by: Grace Park <gracepark@github.com>
Co-authored-by: Steve Guntrip <12534592+stevecat@users.noreply.github.com>
Co-authored-by: Robert Sese <sese@github.com>
Co-authored-by: Peter Bengtsson <peterbe@github.com>
Co-authored-by: Rachael Sewell <rachmari@github.com>
2021-10-15 15:41:33 -05:00

72 lines
3.2 KiB
Markdown

---
title: Using GitHub CLI extensions
intro: 'Learn how to use custom extensions written by other {% data variables.product.prodname_cli %} users.'
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
topics:
- CLI
---
## About {% data variables.product.prodname_cli %} extensions
{% note %}
**Note:** Extensions outside of {% data variables.product.product_name %} and {% data variables.product.prodname_cli %} are not certified by {% data variables.product.product_name %} and are governed by separate terms of service, privacy policy, and support documentation. To mitigate risk when using third-party extensions, audit the source code of the extension before installing or updating the extension.
{% endnote %}
{% data reusables.cli.cli-extensions %} For more information about how to create {% data variables.product.prodname_cli %} extensions, see "[Creating {% data variables.product.prodname_cli %} extensions](/github-cli/github-cli/creating-github-cli-extensions)."
Extensions are locally installed and are scoped to the user. Therefore, if you access {% data variables.product.prodname_cli %} from a different machine or another user accesses {% data variables.product.prodname_cli %} from the same machine, the extension will not be available.
## Finding extensions
You can find extensions by browsing [repositories with the `gh-extension` topic](https://github.com/topics/gh-extension).
## Installing extensions
To install an extension, use the `extensions install` subcommand. Replace the `repo` parameter with the repository of the extension. You can use the full URL, such as `https://github.com/octocat/gh-whoami`, or just the owner and repository, such as `octocat/gh-whoami`.
If the owner and repository are used, `gh` will install the extension using the hostname to which `gh` is currently authenticated. The full URL format is useful when installing extensions from a different host. For example, users on {% data variables.product.prodname_ghe_server %} should use the full repository URL to install extensions from {% data variables.product.prodname_dotcom_the_website %} or any other host.
To install an extension in development from the current directory, use `.` as the value for the `repo` parameter.
```shell
gh extension install <em>repo</em>
```
If you already have an extension by the same name installed, the command will fail. For example, if you have installed `octocat/gh-whoami`, you must uninstall it before installing `hubot/gh-whoami`.
## Viewing installed extensions
To view all installed extensions, use the `extensions list` subcommand. The output will also tell you which extensions have updates available.
```shell
gh extension list
```
## Updating extensions
To update an extension, use the `extensions upgrade` subcommand. Replace the `extension` parameter with the name of the extension.
```shell
gh extension upgrade <em>extension</em>
```
To update all installed extensions, use the `--all` flag.
```shell
gh extension upgrade --all
```
## Uninstalling extensions
To uninstall an extension, use the `extensions remove` subcommand. Replace the `extension` parameter with the name of the extension.
```shell
gh extension remove <em>extension</em>
```