.nh .TH "GT-PR-LIST" "1" "Nov 2026" "gitea-cli" "gitea-cli Manual" .SH NAME gt-pr-list - List pull requests .SH SYNOPSIS \fBgt pr list [flags]\fP .SH DESCRIPTION List the pull requests of a repository, newest first. .PP 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. .PP 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. .PP --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. .SS JSON FIELDS .EX 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 .EE .SH OPTIONS \fB-a\fP, \fB--assignee\fP="" Filter by assignee; @me for yourself .PP \fB-A\fP, \fB--author\fP="" Filter by author; @me for yourself .PP \fB-B\fP, \fB--base\fP="" Filter by base branch .PP \fB-d\fP, \fB--draft\fP[=false] Show only drafts .PP \fB-H\fP, \fB--head\fP="" Filter by head branch, or OWNER:BRANCH for a fork .PP \fB-h\fP, \fB--help\fP[=false] help for list .PP \fB-l\fP, \fB--label\fP=[] Filter by label \fBnames\fR; a pull request must have all of them; prefix repo: or org: to disambiguate .PP \fB-L\fP, \fB--limit\fP=30 Maximum number of results (1..1000) .PP \fB--local\fP[=false] List the local branches with their pull requests .PP \fB-m\fP, \fB--milestone\fP="" Filter by milestone title or ID .PP \fB--no-assignee\fP[=false] Only pull requests without an assignee .PP \fB--page\fP=1 Result page .PP \fB-S\fP, \fB--search\fP="" Filter by text in the title or body .PP \fB--sort\fP="" Order {oldest|recentupdate|recentclose|leastupdate|mostcomment|leastcomment|priority} .PP \fB-s\fP, \fB--state\fP="open" Filter by state {open|closed|merged|all} .PP \fB-w\fP, \fB--web\fP[=false] Open the pull request list in the browser .SH OPTIONS INHERITED FROM PARENT COMMANDS \fB--csv\fP[=""] Output CSV with the specified comma-separated \fBfields\fR, or all fields .PP \fB--cwd\fP="" Working \fBdirectory\fR for repository discovery .PP \fB--debug\fP[=false] Log the method, URL, status, and duration of each HTTP request to stderr .PP \fB--host\fP="" Gitea instance \fBURL\fR, including any base path .PP \fB--interactive\fP[=false] Allow prompts with machine output .PP \fB-q\fP, \fB--jq\fP="" Filter JSON output using a jq \fBexpression\fR; implies --json .PP \fB--json\fP[=""] Output JSON with the specified comma-separated \fBfields\fR, or all fields .PP \fB--no-input\fP[=false] Disable prompts and implicit editor/browser interactions .PP \fB--remote\fP="" Git \fBremote\fR used for repository discovery .PP \fB-R\fP, \fB--repo\fP="" Select a repository as \fBOWNER/REPO\fR or URL .PP \fB--sudo\fP="" Perform API requests as this \fBuser\fR (requires an administrator account) .PP \fB--user\fP="" Account \fBname\fR on the selected instance .SH EXAMPLE .EX $ 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")' .EE .SH SEE ALSO \fBgt-pr(1)\fP