---
name: "gt-pr-list"
section: "1"
platform: "linux"
package: "gitea-cli"
version: "1.0.0-1"
release: "Arch Linux 2026-11-07"
platforms: ["linux"]
url: "https://carta.tech/man/gt-pr-list"
---

# gt-pr-list(1)

List pull requests

## NAME

gt-pr-list - List pull requests

## SYNOPSIS

**gt pr list \[flags\]**

## DESCRIPTION

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

## EXAMPLE

```
$ 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")'
```

## SEE ALSO

**[gt-pr(1)](/man/gt-pr/1.md)**
