Skip to content

Reports wallet name, GitHub login, and GitHub URL for the current authenticated user, the first bit of the token, and the associated scopes.


gh_whoami(.token = NULL, .api_url = NULL, .send_headers = NULL)



Authentication token. Defaults to GITHUB_PAT or GITHUB_TOKEN environment variables, in this order if any is set. See gh_token() if you need more flexibility, e.g. different tokens for different GitHub Enterprise deployments.


Github API url (default: Used if endpoint just contains a path. Defaults to GITHUB_API_URL environment variable if set.


Named character vector of header field values (except Authorization, which is handled via .token). This can be used to override or augment the default User-Agent header: "".


A gh_response object, which is also a list.


Get a personal access token for the GitHub API from and select the scopes necessary for your planned tasks. The repo scope, for example, is one many are likely to need.

On macOS and Windows it is best to store the token in the git credential store, where most GitHub clients, including gh, can access it. You can use the gitcreds package to add your token to the credential store:


See and for more about managing GitHub (and generic git) credentials.

On other systems, including Linux, the git credential store is typically not as convenient, and you might want to store your token in the GITHUB_PAT environment variable, which you can set in your .Renviron file.


#> Error in gh(endpoint = "/user", .token = .token, .api_url = .api_url,     .send_headers = .send_headers): GitHub API error (403): Resource not accessible by integration
#> 
#>   <>
if (FALSE) {
## explicit token + use with GitHub Enterprise
  .token = "8c70fd8419398999c9ac5bacf3192882193cadf2",
  .api_url = ""