GT-ISSUE-CREATE(1) gitea-cli Manual GT-ISSUE-CREATE(1)

gt-issue-create - Create an issue

gt issue create [flags]

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.

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

-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

--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

$ 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"

gt-issue(1)

Nov 2026 gitea-cli