GT-PR-CREATE(1) gitea-cli Manual GT-PR-CREATE(1) NAME gt-pr-create - Create a pull request SYNOPSIS gt pr create [flags] DESCRIPTION Create a pull request from the current branch, or from --head. On a terminal without flags, gt asks for the title and body, then what to do next: submit, submit as a draft, add metadata or change the branches. Any flag of this command, such as --fill, --head or --base (but not global flags such as --repo), skips the questions: the title is then --title, else the commit message of a single-commit branch, else the branch name. A branch that is not on the remote yet is pushed first, with its upstream set, after a confirmation; without a terminal, pass --yes to push it. A branch that does not track a branch of the same name yet goes to the fork when origin is a fork of the repository, or, when origin is not the repository itself or you cannot push to it, to the only remote of your own fork; otherwise it goes to the repository's remote. Without push access and a fork remote, gt offers on a terminal to fork the repository and adds the fork as the remote "fork", or one named after your login when "fork" points elsewhere; elsewhere, run gt repo fork --add-remote first. A missing base branch fails before the push. After a push to a fork, gt pr commands on the branch keep selecting the repository rather than the fork. With --agit, only the author of an AGit pull request can push to it, so on a branch of someone else's, such as from gt pr checkout, pass --topic to open your own. 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 OPTIONS --agit[=false] Create the pull request through AGit push (refs/for) --allow-maintainer-edits[=true] Allow maintainers to push to the head branch -a, --assignee=[] Assign users by username; @me for yourself --attachment=[] Attach a file to the pull request (repeatable) -B, --base="" Base branch (default: the repository's default branch) -b, --body="" Pull request body -F, --body-file="" Read the body from file, or - for stdin --deadline="" Due date: YYYY-MM-DD, RFC3339 or Unix timestamp; only the date counts, as the end of that day in UTC -d, --draft[=false] Create a draft pull request -e, --editor[=false] Write the body in your editor, starting from the repository's template -f, --fill[=false] Skip the questions and take the title and body from the commits -H, --head="" Head branch, or OWNER:BRANCH for a fork (default: the current branch) -h, --help[=false] help for create -l, --label=[] Apply labels by name; repo: or org: picks between same-named labels -m, --milestone="" Milestone title or ID -p, --project=[] Add the pull request to the repository's or its owner's project with this ID or title, a number being an ID first (repeatable) -r, --reviewer=[] Request reviews from users --reviewer-team=[] Request reviews from teams within the repository's organization -t, --title="" Pull request title (default: the commit message of a single-commit branch, or the branch name) --topic="" AGit topic name (default: head branch); requires --agit -w, --web[=false] Open the comparison of --head and --base in the browser to create the pull request there 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 -y, --yes[=false] Accept confirmations without prompting EXAMPLE # Create a pull request for the current branch interactively $ gt pr create # Take the title and body from the commits, without questions $ gt pr create --fill # In a script, also push the branch without asking $ gt pr create --fill --yes $ gt pr create -t "Add login" -b "Closes #1" -B develop -r carol -l enhancement SEE ALSO gt-pr(1) gitea-cli Nov 2026 GT-PR-CREATE(1)