gt-pr-list(1)

gt-pr-list1

List pull requests

Usage

gt pr list [flags]

Overview

List the pull requests of a repository, newest first.

The reviewers, reviewer_teams, reviews and review_decision JSON fields come from the reviews of each pull request, and merged_by from reading each pull request again. gt only makes these requests when --json names the fields, or selects every field and a --jq expression names them (see gt help formatting). --limit bounds how many requests it makes.

review_decision is changes_requested, approved, review_required or empty. When the base branch's protection requires approvals, the decision counts official approvals as Gitea does for merging: fewer than required give review_required.

--local lists the local branches of the clone instead, each with the pull request it belongs to: the one pr checkout recorded for it, else one whose head branch is the branch's upstream or has its name, preferring open pull requests. A merged or closed one tells that gt pr clean can delete the branch. gt reads every open pull request, and closed ones back to the oldest last commit of a branch without an open one.

Json fields

assignees, author, base, body, comments, created_at, draft, due_date, head,
head_remote_deleted, head_repo, head_sha, id, labels, merge_commit_sha,
mergeable, merged, merged_at, merged_by, milestone, number, review_decision,
reviewer_teams, reviewers, reviews, state, title, updated_at, url
With --local:
branch, commit, current, head_sha, number, state, title, url

Options

-a, --assignee=""
Filter by assignee; @me for yourself

-A, --author=""
Filter by author; @me for yourself

-B, --base=""
Filter by base branch

-d, --draft[=false]
Show only drafts

-H, --head=""
Filter by head branch, or OWNER:BRANCH for a fork

-h, --help[=false]
help for list

-l, --label=[]
Filter by label names; a pull request must have all of them; prefix repo: or org: to disambiguate

-L, --limit=30
Maximum number of results (1..1000)

--local[=false]
List the local branches with their pull requests

-m, --milestone=""
Filter by milestone title or ID

--no-assignee[=false]
Only pull requests without an assignee

--page=1
Result page

-S, --search=""
Filter by text in the title or body

--sort=""
Order {oldest|recentupdate|recentclose|leastupdate|mostcomment|leastcomment|priority}

-s, --state="open"
Filter by state {open|closed|merged|all}

-w, --web[=false]
Open the pull request list in the browser

Options inherited from parent commands

--csv[=""]
Output CSV with the specified comma-separated fields, or all fields

--cwd=""
Working directory for repository discovery

--debug[=false]
Log the method, URL, status, and duration of each HTTP request to stderr

--host=""
Gitea instance URL, including any base path

--interactive[=false]
Allow prompts with machine output

-q, --jq=""
Filter JSON output using a jq expression; implies --json

--json[=""]
Output JSON with the specified comma-separated fields, or all fields

--no-input[=false]
Disable prompts and implicit editor/browser interactions

--remote=""
Git remote used for repository discovery

-R, --repo=""
Select a repository as OWNER/REPO or URL

--sudo=""
Perform API requests as this user (requires an administrator account)

--user=""
Account name on the selected instance

Examples

$ gt pr list
$ gt pr list --author @me --state all
# Show the pull request of each local branch, such as which are merged
$ gt pr list --local
$ gt pr list --json number,title,head --jq '.[] | select(.head == "feature/login")'

From gitea-cli 1.0.0-1 in Arch Linux 2026-11-07. Parsed by carta from the page's man source.