All apps/GitLab CLI

GitLab CLI

glab

A command line tool bringing GitLab to your terminal.

Runs as glab|macOS, Linux, Windows|gitlab.com

Command form

ai-draft · 4 tasks · 28 fields

Work with GitLab from the terminal. Pick a subcommand: create a merge request, create an issue, or check pipeline status. Other subcommands are left out.

Opens the form; the finished command lands at your prompt, unrun
otty gui glab

glab mr create

Create a merge request

Create a merge request from the current branch (or another source branch). Templates, attachments and recovery are left out.

Create a merge requestExample values, fixed in this page — nothing here reaches a terminal
Basic
Fill from commits*
--fill
Draft
--draft
Skip confirmation
--yes
Advanced
Labels
string
TasksEach one presets the form for one job
Create from commits
filldraftlabelyes
Create with title
titledescriptiontarget_branchassignee
ParametersOnly these flags are editable in the form
Title
string
--title-t
Description
string
--description-d
Fill from commits
boolean
--fill-f
Draft
boolean
--draft
Target branch
string
--target-branch-b
Source branch
string
--source-branch-s
Assignees
Comma-separated usernames.
string
--assignee-a
Reviewers
Comma-separated usernames.
string
--reviewer
Labels
Comma-separated label names.
string
--label-l
Milestone
string
--milestone-m
Remove source branch on merge
boolean
--remove-source-branch
Continue in browser
boolean
--web-w
Skip confirmation
boolean
--yes-y

glab issue create

Create an issue

Create an issue in the current project. Templates, attachments, linking and time tracking are left out.

Create an issueExample values, fixed in this page — nothing here reaches a terminal
Basic
Title*
string
Description
string
Labels
string
Skip confirmation
--yes
TasksEach one presets the form for one job
Create issue
titledescriptionlabelyes
ParametersOnly these flags are editable in the form
Title
string
--title-t
Description
string
--description-d
Labels
Comma-separated label names.
string
--label-l
Assignees
Comma-separated usernames.
string
--assignee-a
Milestone
string
--milestone-m
Confidential
boolean
--confidential-c
Due date
YYYY-MM-DD.
string
--due-date
Weight
integer
--weight-w
Continue in browser
boolean
--web
Skip confirmation
boolean
--yes-y

glab ci status

Pipeline status

View the status of the pipeline for a branch.

Pipeline statusExample values, fixed in this page — nothing here reaches a terminal
Basic
Branch
string
Live updates*
--live
TasksEach one presets the form for one job
Watch live
branchlive
ParametersOnly these flags are editable in the form
Branch
string
--branch-b
Live updates
boolean
--live-l
Wait for pipeline to finish
boolean
--wait-w
Compact view
boolean
--compact-c
Output format
enum
--output-Ftextjson
SourcesEvery flag above is checked against these
docs
glab mr create [flags] -a, --assignee usernames Assign merge request to people by their usernames. -d, --description string Supply a description for the merge request. Set to "-" to open an editor. --draft Mark merge request as a draft. -f, --fill Do not prompt for title or description, and j…
manualmain 2026-10-27

docs.gitlab.com

docs
glab issue create [flags] -a, --assignee usernames Assign issue to people by their usernames. -c, --confidential Set an issue to be confidential. -d, --description string Issue description. Set to "-" to open an editor. --due-date string A date in 'YYYY-MM-DD' format. -l, --label strings Add labe…
manualmain 2026-10-27

docs.gitlab.com

docs
glab ci status [flags] -b, --branch string Check pipeline status for a branch. Defaults to the current branch. -c, --compact Show status in compact format. -l, --live Show status in real time until the pipeline ends. -F, --output string Format output as: text, json. -w, --wait Wait to return until the pipeline is f…
manualmain 2026-10-27

docs.gitlab.com

Before it fills your prompt, Otty checks the installed glab against its version. A form that does not match your version is not offered.