Using the GitHub CLI across GitHub platforms
Learn how to run commands when you are authenticated to accounts on different GitHub platforms.
In this article
If you have accounts on multiple GitHub platforms, such as a personal account on GitHub.com and a managed user account on GHE.com, you can authenticate withgh auth login
for each account.
You'll need to authenticate to runany commands in a given environment. For example, even if you're running a command that only requires read access to a public repository on GitHub.com, you won't be able to use this command if you're only authenticated to an account on GHE.com. You should therefore authenticate to all accounts you want to use with the GitHub CLI.
How do I run commands for each account?
Once you've authenticated with multiple accounts, when you run a command, the GitHub CLI can sometimes automatically detect which platform you're trying to access. In other cases, you'll need to provide more information in your command.
The GitHub CLIautomatically detects your intended account when you're in the context of a specific repository. For example, if youcd
into yourmy-repo
directory and rungh repo view
, the command will target the correct platform for that repository.
The GitHub CLIcan't automatically detect your intended account when it doesn't have this context. For example, if you rungh repo list
to list repositories for your account, the GitHub CLI won't know which account you want to access. In cases like this:
- The GitHub CLI will default to GitHub.com.
- You can set the
GH_HOST
environment variable to change the default target for these kinds of requests. Seegh environment in the GitHub CLI manual. - Some commands allow you allow you to specify your target environment with the
--hostname
option, such asgh api
, or pass the full URL for a repository, such asgh pr view
.
Can I use multiple accounts on the same platform?
You can also authenticate with multiple accounts on the same platform. To switch between these accounts, you can use thegh auth switch
command. Seegh auth switch in the GitHub CLI manual.