GH-PROJECT-ITEM-LIST(1)

πŸ‘‘ gh-project-item-list β€” like, the whole manual but make it make sense πŸ’…

Hey bestie, so this is the gh project item-list page from the GitHub CLI manual (that's gh-project-item-list(1) if you're being all formal about it), and I'm gonna walk you through it because honestly? It's giving "secretly very useful" and you deserve to know.


✨ NAME ✨

gh-project-item-list β€” literally just lists the items in a project. That's it. That's the whole job. πŸŽ€


🌸 SYNOPSIS 🌸

gh project item-list [<number>] [flags]

You give it a project number (in brackets, so it's optional-ish, but like… you'll want it), you sprinkle in some flags, and it goes off. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

So the actual deal: you're listing the items in a project. Periodt. πŸ’–

But here's the fun part β€” if the API host supports it, you can use the --query option to do an ✨advanced search✨. The full syntax lives over here if you wanna get into it:

https://docs.github.com/en/issues/planning-and-tracking-with-
projects/customizing-views-in-your-project/filtering-projects

(Yeah the URL wraps like that in the manual. Iconic of it, honestly. Don't come for me, come for the line break. 😭)


πŸ’… OPTIONS πŸ’…

Okay this is the part where I hold your hand through every single flag, no skips, no shortcuts. 🫢

  • --field <stringArray> β€” the name of a field you want shown as an extra column. Cute little bonus column energy. 🌈
  • --field-id <stringArray> β€” same idea but you're passing the ID of the field instead of the name. For the ones who like precision. 🎯
  • --format <string> β€” output format. The option is literally: {json}. That's the value. Slay. πŸ”₯
  • -q, --jq <expression> β€” filter that JSON output using a jq expression. Yes bestie, you can pipe it through jq-style filtering right here. 🧚
  • -L, --limit <int> (default 30) β€” maximum number of items to fetch. Default is 30, so don't act surprised when you get 30. πŸ’€
  • --owner <string> β€” login of the owner. Use "@me" for the current user. Your own stuff, instantly. πŸ‘‘
  • --query <string> β€” filter items using the Projects filter syntax, e.g. "assignee:octocat -status:Done". This is where the main character energy really kicks in. ⭐
  • -t, --template <string> β€” format JSON output using a Go template; see gh help formatting. Fancy formatting, iykyk. πŸŽ€

🚦 EXIT CODES 🚦

Vibe check on how it went:

  1. 0 β€” successful execution. We ate. πŸ“
  2. 1 β€” error. Not the vibe. 😭
  3. 2 β€” command canceled. Someone hit the brakes. πŸ™ˆ
  4. 4 β€” authentication required. You gotta log in first, bestie. πŸ”‘
NOTE: specific commands may have additional exit codes. Refer to the command's help for more information. (So like, don't @ me if you see a number not on this list β€” check the command's own help. πŸ’œ)

🌟 EXAMPLE 🌟

Here are all of them, exactly as written, because I would never do you dirty like that:

# List the items in the current users's project "1"
$ gh project item-list 1 --owner "@me"

# List items assigned to a specific user
$ gh project item-list 1 --owner "@me" --query "assignee:monalisa"

# List open issues assigned to yourself
$ gh project item-list 1 --owner "@me" --query "assignee:@me is:issue is:open"

# List items with the "bug" label that are not done
$ gh project item-list 1 --owner "@me" --query "label:bug -status:Done"

# Show the "Status" and "Priority" field values as extra columns
$ gh project item-list 1 --owner "@me" --field "Status" --field "Priority"

(And yes, users's is literally in the original comment. I'm not fixing it, I'm preserving it. Historical artifact. πŸ›οΈ)


🫢 SEE ALSO 🫢


Okay that's the whole thing!! No cap, every flag and every example made it in. 🌸

Sign-off time: this little masterpiece is from GitHub CLI v2.102.0, dated Oct 2026, and it's the GH-PROJECT-ITEM-LIST(1) page β€” go forth and list those items, bestie. πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from