gt-issue-create(1)

gt-issue-create1

Create an issue

Usage

gt issue create [flags]

Overview

Create an issue in a repository. Without flags on a terminal, a form asks for the title and body, then optionally for assignees, a milestone, labels and a due date.

Gitea sets labels, a milestone, assignees and a due date only for people who can write to the issues of the repository, and creates the issue without them for others: gt then names the flags or form fields it left out and fails, and warns about left-out labels of a template. Adding the issue to a project needs write access too; when that fails, the issue stays created and the error names the command that adds it later.

--template starts from a repository issue template: its title, body, labels and ref. --title, --label, --body, --body-file and --ref replace them; labels the repository lacks are left out. A form (YAML) template starts with an empty body. On a terminal the form opens with the title and body, and a template picked in the form applies its labels too. The title of a template is a prefix to complete, so without the form --template requires --title. --web opens the new-issue page with the whole template applied.

Json fields

assignees, author, body, comments, created_at, due_date, id, kind, labels,
milestone, number, ref, state, title, updated_at, url

Options

-a, --assignee=[]
Assign people by their login; @me for yourself

--attachment=[]
File to attach after creation (repeatable)

-b, --body=""
Issue body

-F, --body-file=""
Read 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

-e, --editor[=false]
Compose the issue body in the configured editor

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

-l, --label=[]
Add labels by name; prefix repo: or org: to disambiguate

-m, --milestone=""
Add the issue to a milestone by title or ID, a number being an ID first

-p, --project=[]
Add the issue to the repository's or its owner's project with this ID or title, a number being an ID first (repeatable)

--ref=""
Branch or tag the issue refers to

-T, --template=""
Start from the repository issue template with this name

-t, --title=""
Issue title

-w, --web[=false]
Continue in the browser with the new-issue page

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 issue create
$ gt issue create --title "Crash on start" --body "Steps to reproduce…" --label bug --milestone v1.0
$ gt issue create --template "Bug report"

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