---
name: "glab-issue-update"
section: "1"
platform: "linux"
package: "glab"
version: "1.126.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/glab-issue-update"
---

# glab-issue-update(1)

Update issue.

## NAME

glab-issue-update - Update issue.

## SYNOPSIS

**glab issue update  \[flags\]**

## DESCRIPTION

Change an issue's labels, assignees, milestone, title, or description. Use **--label** and **--unlabel** to add or remove labels.

Use **--estimate** and **--spend** to track time on the issue, the same as the **/estimate** and **/spend** quick actions. Durations use the GitLab time tracking format, for example **1mo 2w 3d 4h 5m**. **--spend** adds to the time already spent. **--remove-estimate** and **--remove-time-spent** reset the estimate and the time spent.

**--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. Without **--description** the references are added to the description the issue already has, instead of replacing it.

The **--attach** flag is an experiment. It might be unstable or removed at any time, and is not ready for production use. For more information, see https://docs.gitlab.com/policy/development\_stages\_support/.

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

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

**--estimate**=""\
 	Set the time estimate for the issue, for example '2d' or '3h30m'.

**-l**, **--label**=\[\]\
 	Add labels.

**--lock-discussion**\[=false\]\
 	Lock discussion on issue.

**-m**, **--milestone**=""\
 	Title of the milestone to assign Set to "" or 0 to unassign.

**-p**, **--public**\[=false\]\
 	Make issue public.

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

**-u**, **--unlabel**=\[\]\
 	Remove labels.

**--unlock-discussion**\[=false\]\
 	Unlock discussion on issue.

**-w**, **--weight**=0\
 	Set weight of the issue.

## OPTIONS INHERITED FROM 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

```
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)](/glab-issue/1.md)**
