Skip to main content
The GitLab shell plugin allows you to use 1Password to securely authenticate the GitLab CLI with your fingerprint, Apple Watch, or system authentication, rather than storing your credentials in plaintext. Follow the instructions to configure your default credentials and source the plugins.sh file, then you’ll be prompted to authenticate the GitLab CLI with biometrics.

Requirements

  1. Sign up for 1Password.
  2. Install and sign in to 1Password for Mac or Linux.
  3. Install 1Password CLI 2.9.0 or later.
  4. Integrate 1Password CLI with the 1Password app.
  5. Install the GitLab CLI.
The following shells are supported:
  • Bash
  • Zsh
  • fish

Step 1: Configure your default credentials

Optional: If you use a self-hosted instance, set the host

If you use a self-hosted GitLab instance, you’ll need to add your host URL to the GitLab item you configured in the previous step. Save the URL in a custom text field titled Host to make it available to the shell plugin.
To add the field using 1Password CLI:

Step 2: Source the plugins.sh file

To make the plugin available, source your plugins.sh file. For example:

source ~/.config/op/plugins.sh

The file path for your op folder may vary depending on your configuration directory. op plugin init will output a source command with the correct file path.

If this is your first time installing a shell plugin, you’ll also need to add the source command to your RC file or shell profile to persist the plugin beyond the current terminal session. For example:

Step 3: Use the CLI

Step 4: Remove imported credentials from disk

After saving your credentials in 1Password, you can remove all local copies you previously had stored on disk.

Next steps

1Password Shell Plugins support more than 60 third-party CLIs. To see a list of supported CLIs:

op plugin list

To choose another plugin to get started with:

op plugin init

To use shell plugins for seamless context switching, learn how to configure a plugin in multiple environments or with multiple accounts.

Get help

Reference

1Password authenticates with by injecting environment variables with the credentials required by the plugin commands directly from your 1Password account.

If you saved your credentials in 1Password manually rather than using op plugin to import a new item, make sure that your field names match the table below.

If the item doesn’t contain a field with the required name, you’ll be prompted to rename one of the existing fields.

1Password field namesEnvironment variables
TokenGITLAB_TOKEN
Host (optional; required for self-hosted instances)GITLAB_HOST
API Host (optional)GITLAB_API_HOST

Learn more