| title | `glab auth login` |
|---|---|
| stage | Create |
| group | Code Review |
| info | To determine the technical writer assigned to the Stage/Group associated with this page, see <https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments> |
Authenticate with a GitLab instance.
Authenticates with a GitLab instance.
Stores your credentials in the global configuration file
(default ~/.config/glab-cli/config.yml).
To store your token in your operating system's keyring instead, use --use-keyring.
After authentication, all glab commands use the stored credentials.
If GITLAB_TOKEN, GITLAB_ACCESS_TOKEN, or OAUTH_TOKEN are set,
they take precedence over the stored credentials.
When CI auto-login is enabled, these variables also override CI_JOB_TOKEN.
To pass a token on standard input, use --stdin.
In interactive mode, glab detects GitLab instances from your Git remotes
and lists them as options, so you do not have to type the hostname manually.
glab auth login [flags]
# Start interactive setup
# (If in a Git repository, glab will detect and suggest GitLab instances from remotes)
glab auth login
# Authenticate against `gitlab.com` by reading the token from a file
glab auth login --stdin < myaccesstoken.txt
# Authenticate with GitLab Self-Managed or GitLab Dedicated
glab auth login --hostname salsa.debian.org
# Non-interactive setup
glab auth login --hostname gitlab.example.org --token glpat-xxx --api-host gitlab.example.org:3443 --api-protocol https --git-protocol ssh
# Non-interactive setup reading token from a file
glab auth login --hostname gitlab.example.org --api-host gitlab.example.org:3443 --api-protocol https --git-protocol ssh --stdin < myaccesstoken.txt
# Semi-interactive OAuth login, skipping all prompts except browser auth
glab auth login --hostname gitlab.com --web --git-protocol ssh --container-registry-domains "gitlab.com,gitlab.com:443,registry.gitlab.com" --use-keyring
# Non-interactive CI/CD setup
glab auth login --hostname $CI_SERVER_HOST --job-token $CI_JOB_TOKEN -a, --api-host string API host url.
-p, --api-protocol string API protocol: https, http
--container-registry-domains string Container registry and image dependency proxy domains (comma-separated).
-g, --git-protocol string Git protocol: ssh, https, http
--hostname string The hostname of the GitLab instance to authenticate with.
-j, --job-token string CI job token.
--ssh-hostname string SSH hostname for instances with a different SSH endpoint.
--stdin Read token from standard input.
-t, --token string Your GitLab access token.
--use-keyring Store token in your operating system's keyring.
--web Skip the login type prompt and use web/OAuth login.
-h, --help Show help for this command.