| name | glab-config |
| description | Manage glab CLI configuration settings including defaults, preferences, and per-host settings. Use when configuring glab behavior, setting defaults, or viewing current configuration. Triggers on config, configuration, settings, glab settings, set default. |
glab config
Overview
Manage key/value strings.
Current respected settings:
- browser: If unset, uses the default browser. Override with environment variable $BROWSER.
- check_update: If true, notifies of new versions of glab. Defaults to true. Override with environment variable
$GLAB_CHECK_UPDATE.
- display_hyperlinks: If true, and using a TTY, outputs hyperlinks for issues and merge request lists. Defaults to
false.
- editor: If unset, uses the default editor. Override with environment variable $EDITOR.
- glab_pager: Your desired pager command to use, such as 'less -R'.
- glamour_style: Your desired Markdown renderer style. Options are dark, light, notty. Custom styles are available
using [glamour](https://github.com/charmbracelet/glamour#styles).
- host: If unset, defaults to `https://gitlab.com`.
- token: Your GitLab access token. Defaults to environment variables.
- visual: Takes precedence over 'editor'. If unset, uses the default editor. Override with environment variable
$VISUAL.
USAGE
glab config [command] [--flags]
COMMANDS
edit [--flags] Opens the glab configuration file.
get <key> [--flags] Prints the value of a given configuration key.
set <key> <value> [--flags] Updates configuration with the value of a given key.
FLAGS
-g --global Use global config file.
-h --help Show help for this command.
Quick start
glab config --help
Per-host HTTPS proxy configuration
You can configure an HTTPS proxy on a per-host basis. This is useful when different GitLab instances (for example gitlab.com vs a self-hosted instance) require different proxy settings.
glab config set https_proxy "http://proxy.example.com:8080" --host gitlab.mycompany.com
glab config set https_proxy "http://proxy.example.com:8080" --global
glab config get https_proxy --host gitlab.mycompany.com
Precedence: Per-host config overrides global config. Global config overrides the HTTPS_PROXY / https_proxy environment variables.
Env-first agent pattern
For agentic setups, prefer per-agent env files over one shared shell profile. Example:
GITLAB_TOKEN=glpat-...
GITLAB_HOST=gitlab.com
Keep these env files outside version control, restrict their permissions (for example chmod 600), be mindful of backup exposure, and use least-privilege bot/service-account tokens.
Load plain KEY=value env files like this so the variables are exported to glab:
set -a
source ~/.config/openclaw/env/gitlab-<agent>.env
set +a
A plain source ~/.config/openclaw/env/gitlab-<agent>.env updates the current shell but may leave the values unexported. In that case glab can miss the env overrides and silently reuse stored auth from ~/.config/glab-cli/config.yml.
Use distinct GitLab bot/service accounts when agents need distinct visible identities. Multiple PATs on one GitLab user still act as that same user.
Non-interactive prompts and config validation
Use GLAB_NO_PROMPT=1 for non-interactive automation that must fail instead of prompting. Upstream docs now prefer the GLAB_-prefixed name; older NO_PROMPT is deprecated and should not be used in new scripts.
GLAB_NO_PROMPT=1 glab repo prune --dry-run
glab config set validates keys against the canonical config schema. If a set operation fails, check the spelling and whether the setting is host-scoped (--host) or global (--global) rather than forcing an unknown key into the config file.
Common Settings
glab config get --global
glab config set editor vim --global
glab config set glab_pager "less -R" --global
glab config set check_update false --global
glab config set host https://gitlab.mycompany.com --global
Subcommands
See references/commands.md for full --help output.