glab(1)

πŸ’… glab(1) β€” the glab manual, bestie edition

okay so you're looking at the glab manual page, and specifically the glab-issue-update one, and honestly? you came to the right place. grab a boba, we're updating some issues. πŸ“


✨ NAME ✨

glab-issue-update β€” Update issue. that's it, that's the whole vibe. updating an issue. slay.


πŸ¦‹ SYNOPSIS πŸ¦‹

glab issue update  [flags]

(yes bestie, the double space is real, don't come for me, I don't make the rules πŸ’…)


🌸 DESCRIPTION 🌸

So what are we even doing here? We're changing an issue's labels, assignees, milestone, title, or description. glow-up city.

Use --label and --unlabel to add or remove labels. that's the whole system, no cap. πŸŽ€

You can also track time on the issue with --estimate and --spend β€” literally the same thing as the /estimate and /spend quick actions, just from your terminal like the main character you are. Durations use the GitLab time tracking format, for example 1mo 2w 3d 4h 5m. So yes, you can be that specific. --spend adds to the time already spent (it doesn't overwrite, it stacks, we love an additive queen). And --remove-estimate and --remove-time-spent reset the estimate and the time spent respectively. reset era. 🧚

Now, --attach uploads a file and references it at the end of the description. Repeat the flag for more than one file, or pass - to read the file from standard input (very demure, very mindful 🫢). And here's the cute part: without --description, the references are added to the description the issue already has β€” so nothing gets replaced, it just gets appended to. we stan a non-destructive flag.

⚠️ important warning bestie ⚠️ The --attach flag is an experiment. It might be unstable or removed at any time, and is not ready for production use. Don't build your whole workflow on it, okay? For more information, see https://docs.gitlab.com/policy/development_stages_support/ β€” read it, it's giving responsible adult energy.

πŸ‘‘ OPTIONS πŸ‘‘

  • -a, --assignee=[] β€” Assign users by username. Prefix with ! or - to remove from existing assignees, or + to add new. Otherwise, replace existing assignees with these users. Multiple usernames can be comma-separated or specified by repeating the flag. (the !/-/+ thing is genuinely giving cheat codes, iykyk πŸ”₯)
  • --attach=[] β€” (EXPERIMENTAL) Upload a file and reference it at the end of the description. Use - to read the file from standard input. Repeat the flag to attach multiple files.
  • -c, --confidential[=false] β€” Make issue confidential. 🀫
  • -d, --description="" β€” Issue description. Set to - to open an editor.
  • --description-file="" β€” Read the issue description from a file. Use - to read from standard input.
  • --due-date="" β€” A date in YYYY-MM-DD format. don't do MM/DD/YYYY, that's not the vibe.
  • --estimate="" β€” Set the time estimate for the issue, for example 2d or 3h30m.
  • -l, --label=[] β€” Add labels. 🏷️
  • --lock-discussion[=false] β€” Lock discussion on issue. πŸ”’ end of conversation, literally.
  • -m, --milestone="" β€” Title of the milestone to assign Set to "" or 0 to unassign.
  • -p, --public[=false] β€” Make issue public. 🌈 everybody's watching.
  • --remove-estimate[=false] β€” Remove the time estimate from the issue.
  • --remove-time-spent[=false] β€” Remove all time spent from the issue.
  • --spend="" β€” Add time spent on the issue, for example 1h30m.
  • -t, --title="" β€” Title of issue. ✨
  • --unassign[=false] β€” Unassign all users. everybody out. πŸ’€
  • -u, --unlabel=[] β€” Remove labels.
  • --unlock-discussion[=false] β€” Unlock discussion on issue. πŸ”“
  • -w, --weight=0 β€” Set weight of the issue.

🧬 OPTIONS INHERITED FROM PARENT COMMANDS 🧬

these ones are the family heirlooms, passed down from the parent commands πŸ’œ

  • -h, --help[=false] β€” Show help for this command.
  • -R, --repo="" β€” Select another repository. You can use either OWNER/REPO or GROUP/NAMESPACE/REPO. The full URL or Git URL is also accepted.

🌟 EXAMPLE 🌟

okay here's the actual receipts, copy-paste approved:

glab issue update 42 --label ui,ux
glab issue update 42 --unlabel working
# Read the description from a file
glab issue update 42 --description-file description.md
# Read the description from standard input
cat description.md | glab issue update 42 --description-file -
# Add a screenshot to the existing description
glab issue update 42 --attach ./screenshot.png
# Set a time estimate and log time spent
glab issue update 42 --estimate 2d --spend 1h30m
# Reset the time estimate and the time spent
glab issue update 42 --remove-estimate --remove-time-spent

πŸŽ€ SEE ALSO πŸŽ€

  • glab-issue(1) β€” the parent, the icon, the moment. go say hi. 🫢

and that's the whole page bestie, you ate that. this doc was auto generated by spf13/cobra, dated Nov 2026, and comes to you from the glab(1) manual β€” so like, the whole family. mwah. πŸ’–βœ¨

πŸ“¦ where this page comes from