Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
glab(1) 								 glab(1)

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

SYNOPSIS
     glab auth login [flags]

DESCRIPTION
     Authenticates with a GitLab instance.

     By default, glab stores your credentials in your operating system's keyring
     (macOS  Keychain,	Windows  Credential  Manager,  or  the Secret Service on
     Linux) when one is available. If no keyring is available, or  if  you  pass
     --insecure-storage,  glab stores them in the global configuration file (de-
     fault ~/.config/glab-cli/config.yml) as plaintext instead. After  authenti-
     cation, all glab commands use the stored credentials.

     If you previously signed in and your credentials are stored as plaintext in
     the  configuration  file,	run  glab auth login again to move them into the
     keyring.

     In CI (when GITLAB_CI or CI is set), glab stores credentials in the config-
     uration file rather than the keyring. Credentials in CI  are  usually  sup-
     plied through environment variables, and an OS keyring is often unavailable
     there.

     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  manu-
     ally.

OPTIONS
     -a,  --api-host=""       Hostname	for  the API endpoint, if different from
     --hostname. Accepts a hostname or hostname:port. Use only when the  API  is
     served from a different host than the Git remote.

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

     --container-registry-domains=""	   Container  registry	and image depen-
     dency proxy domains, comma-separated.

     --device[=false]	   Use the OAuth 2.0 device authorization  flow.  Useful
     for  headless environments where a local browser is not available. Requires
     GitLab 17.9 or later.

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

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

     --insecure-storage[=false]      Store the token as plaintext in the config-
     uration file instead of the operating system's keyring.

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

     --ssh-hostname=""	    SSH hostname for instances with a different SSH end-
     point. A port is not required; Git uses the port from the remote URL.

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

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

     --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 detects and suggests 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 the 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"

     # OAuth device authorization flow for headless environments without a local browser.
     # glab displays a one-time code and verification URL; you authorize on any
     # other device with a browser. Requires GitLab 17.9 or later.
     glab auth login --hostname gitlab.com --device

     # CI/CD setup: for most cases, prefer auto-login over manual login
     GLAB_ENABLE_CI_AUTOLOGIN=true glab release list -R $CI_PROJECT_PATH

     # CI/CD setup with manual login: use when the command does not support CI job tokens, or you need a personal access token
     glab auth login --hostname $CI_SERVER_FQDN --job-token $CI_JOB_TOKEN --api-protocol $CI_SERVER_PROTOCOL

SEE ALSO
     glab-auth(1)

Auto generated by spf13/cobra	    Aug 2026				 glab(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=glab-auth-login&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help