GH-ISSUE-CREATE(1)
π GH-ISSUE-CREATE(1) β like, the GitHub CLI manual, but make it make sense β¨
okay bestie, so this is the gh issue create page from the GitHub CLI manual (v2.102.0, October 2026 energy), and it's genuinely one of the most useful commands ever. It literally creates issues for you. Let's get into it π«Ά
πΈ NAME πΈ
gh-issue-create β create a new issue. That's it, that's the vibe. A whole new issue, born from your terminal, no browser tab chaos required β¨
π¦ SYNOPSIS π¦
gh issue create [flags]
π DESCRIPTION π
Create an issue on GitHub. Iconic behaviour, no notes π
Use --attach to upload an image or video. The attachment is appended to the body. And here's the cute part: if the body already references an attached file, like , that reference gets rewritten to point at the uploaded asset instead. So no broken images, we love to see it. You can attach up to 50 files per command β fifty! main character energy fr fr.
Alt text for an image follows the path after #, as in --attach './login.png#The login error state'. Without it the filename is used. A reference already in the body keeps the alt text written there. Video renders as a player and has no alt text, so it cannot be given any β sorry video girlies, that's just how it is π
If some attachments upload and others fail, the issue is still created with the ones that succeeded. The command then exits with a non-zero status, but the new issue's URL is still printed to stdout. So like, partial slay but you still get your link π
Adding an issue to projects requires authorization with the project scope. To authorize, run gh auth refresh -s project. Don't skip this or you'll be sad.
The --assignee flag supports the following special values:
@me: assign yourself (self-assignment, the ultimate main character move π)@copilot: assign Copilot (not supported on GitHub Enterprise Server β noted, no cap)
β¨ OPTIONS β¨
-a,--assignee <login>β assign people by their login. Use"@me"to self-assign π--attach <file>β attach an image or video file, in'#'format (that's thepath#alt textsituation we talked about π)--blocked-by <numbers>β mark the new issue as blocked by these issue numbers or URLs--blocking <numbers>β mark the new issue as blocking these issue numbers or URLs-b,--body <string>β supply a body. Will prompt for one otherwise.-F,--body-file <file>β read body text from file (use"-"to read from standard input)-e,--editorβ skip prompts and open the text editor to write the title and body in. The first line is the title and the remaining text is the body. Fancy βοΈ-l,--label <name>β add labels by name-m,--milestone <name>β add the issue to a milestone by name--parent <number>β add the new issue as a sub-issue of the specified parent number or URL (baby issue πΌ)-p,--project <title>β add the issue to projects by title--recover <string>β recover input from a failed run of create. Yes bestie, it happens to the best of us π-T,--template <name>β template name to use as starting body text-t,--title <string>β supply a title. Will prompt for one otherwise.--type <name>β set the issue type by name-w,--webβ open the browser to create an issue
π OPTIONS INHERITED FROM PARENT COMMANDS π
-R,--repo <[HOST/]OWNER/REPO>β select another repository using the[HOST/]OWNER/REPOformat
π ALIASES π
gh issue new
Same energy, shorter typing. iykyk π
β EXIT CODES β
0: Successful execution β ate and left no crumbs π₯1: Error β it's giving chaos2: Command canceled β you changed your mind, valid4: Authentication required β go log in bestie π
NOTE: Specific commands may have additional exit codes. Refer to the command's help for more information.
π EXAMPLE π
$ gh issue create --title "I found a bug" --body "Nothing works"
$ gh issue create --attach './login.png#The login error state'
$ gh issue create --attach ./before.png --attach ./after.png
$ gh issue create --label "bug,help wanted"
$ gh issue create --label bug --label "help wanted"
$ gh issue create --assignee monalisa,hubot
$ gh issue create --assignee "@me"
$ gh issue create --assignee "@copilot"
$ gh issue create --project "Roadmap"
$ gh issue create --template "Bug Report"
$ gh issue create --type Bug
$ gh issue create --parent 100
$ gh issue create --parent https://github.com/cli/go-gh/issues/42
$ gh issue create --blocked-by 200,201 --blocking 300
Look at all those combos. Label comma-separated or repeated flags, both work, we love options π
π§ SEE ALSO π§
gh-issue(1) β go read the parent page, it's the whole issue family π
that's the whole page bestie, no cap, every flag and caveat intact π This masterpiece is from the GitHub CLI v2.102.0 manual, dated Oct 2026 β go create some issues, you're gonna slay πβ¨π¦
π¦ where this page comes from
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- opensuse-leap 16.0: gh 2.102.0-bp160.1.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms