GitLab CLI - glab

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

glab is an open source GitLab CLI tool. It brings GitLab to your terminal: next to where you are already working with Git and your code, without switching between windows and browser tabs.

  • Work with issues.
  • Work with merge requests.
  • Watch running pipelines directly from your CLI.

command example

The GitLab CLI uses commands structured like glab <command> <subcommand> [flags] to perform many of the actions you usually do from the GitLab user interface:

# Sign in
glab auth login --stdin < token.txt

# View a list of issues
glab issue list

# Create merge request for issue 123
glab mr for 123

# Check out the branch for merge request 243
glab mr checkout 243

# Watch the pipeline in progress
glab pipeline ci view

# View, approve, and merge the merge request
glab mr view
glab mr approve
glab mr merge

Core commands

GitLab Duo for the CLI

Tier: Ultimate with GitLab Duo Enterprise - Start a trial Offering: GitLab.com, Self-managed, GitLab Dedicated
History
  • Changed to require GitLab Duo add-on in GitLab 17.6 and later.

The GitLab CLI includes features powered by GitLab Duo. These include:

To ask questions about git commands while you work, type:

The glab duo ask command can help you remember a git command you forgot, or provide suggestions on how to run git commands to perform other tasks.

Install the CLI

Installation instructions are available in the glab README.

Authenticate with GitLab

To authenticate with your GitLab account, run glab auth login. glab respects tokens set using GITLAB_TOKEN.

glab also integrates with the 1Password shell plugin for secure authentication.

Report issues

Open an issue in the gitlab-org/cli repository to send us feedback.

Troubleshooting

glab completion commands fail when using the 1Password shell plugin

The 1Password shell plugin adds the alias glab='op plugin run -- glab', which can interfere with the glab completion command. If your glab completion commands fail, configure your shell to prevent expanding aliases before performing completions:

  • For Zsh, edit your ~/.zshrc file and add this line:

    setopt completealiases
    
  • For Bash, edit your ~/.bashrc file and add this line:

    complete -F _functionname glab
    

For more information, see issue 122 for the 1Password shell plugin.