Skip to main content

Usage

Description

Update one or more issues. If no ID is provided, updates the last touched issue. The --claim flag provides atomic compare-and-swap semantics for claiming work.

Parameters

string[]
Issue IDs to update. If omitted, uses the last touched issue from recent create/update/show/close.

Field Updates

string
Update issue title
string
Update status: open, in_progress, blocked, deferred, closed, pinned, hooked
string
Update priority: 0-4 or P0-P4
string
Update issue type: bug, feature, task, epic, chore, decision
string
Update assignee. Use empty string to unassign.
string
Update description. Use - to read from stdin.
string
Update design notes
string
Update acceptance criteria
string
Replace notes field
string
Append to notes field (cannot be used with --notes)
integer
Update time estimate in minutes

Labels

string[]
Add labels (repeatable). Preserves existing labels.
string[]
Remove labels (repeatable)
string[]
Replace all labels (repeatable)

Scheduling

string
Update due date. Use empty string to clear. Formats: +6h, tomorrow, 2025-01-15
string
Update defer_until. Use empty string to clear. Same formats as --due

Metadata

string
Replace entire metadata (JSON string or @file.json)
string[]
Set individual metadata fields (format: key=value, repeatable)
string[]
Remove metadata fields (repeatable)

Atomic Operations

boolean
Atomically claim the issue (sets assignee to you, status to in_progress). Fails if already claimed.
string
Reparent the issue. Use empty string to remove parent.
boolean
Mark issue as ephemeral (wisp)
boolean
Mark issue as persistent (promote wisp to regular issue)

Output

boolean
Output JSON for agent use

Examples

Basic Updates

Atomic Claim

Label Management

Metadata Operations

Time Management

Append Notes

Reparenting

Bulk Updates

JSON Output

With --json flag:

Atomic Claim Semantics

The --claim flag uses compare-and-swap to prevent race conditions:
This ensures only one agent can work on an issue at a time.

Validation

Status Validation

Only valid statuses are accepted:

Priority Validation

Priority must be 0-4 or P0-P4:

Metadata Key Validation

Metadata keys must be alphanumeric with underscores:

Best Practices

For Agents

  1. Use --claim to atomically take ownership
  2. Always use --json for parsing
  3. Update status to reflect progress (in_progress → closed)
  4. Append notes to document investigation findings

For Humans

  1. Use incremental label operations (--add-label) to avoid data loss
  2. Set due dates for time-sensitive work
  3. Update priority as urgency changes
  4. Add context via --append-notes for future reference