glab(1)

NAME
glab-auth-login - Authenticate with a GitLab instance.

SYNOPSIS
glab auth login [flags]

DESCRIPTION
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.

OPTIONS
-a, --api-host=""
    API host url.

-p, --api-protocol=""
    API protocol: https, http

--container-registry-domains=""
    Container registry and image dependency proxy domains (comma-separated).

-g, --git-protocol=""
    Git protocol: ssh, https, http

--hostname=""
    The hostname of the GitLab instance to authenticate with.

-j, --job-token=""
    CI job token.

--ssh-hostname=""
    SSH hostname for instances with a different SSH endpoint.

--stdin[=false]
    Read token from standard input.

-t, --token=""
    Your GitLab access token.

--use-keyring[=false]
    Store token in your operating system's keyring.

--web[=false]
    Skip the login type prompt and use web/OAuth login.

OPTIONS INHERITED FROM PARENT COMMANDS
-h, --help[=false]
    Show help for this command.

EXAMPLE
    # 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

SEE ALSO
glab-auth(1)