linLinear CLI
Commands

lin issue

Create, inspect and manage issues

Create, inspect and manage issues

lin issue add-label

add-label one label on an issue without touching the rest of the set

lin issue add-label <id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--labelstring-label name or UUID

lin issue add-to-release

Link an issue to a release

lin issue add-to-release <id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--releasestring-release UUID

lin issue archive

Archive an issue

lin issue archive <id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing

lin issue batch-create

Create several issues in one call (raw --json only)

lin issue batch-create

Example

lin issue batch-create --json '{"issues":[{"teamId":"...","title":"A"},{"teamId":"...","title":"B"}]}'
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--jsonstring-raw GraphQL input payload as JSON ('-' reads stdin); exclusive with per-field flags

lin issue batch-update

Apply one update to several issues (UUIDs + raw --json)

lin issue batch-update

Example

lin issue batch-update --ids uuid1,uuid2 --json '{"stateId":"..."}'
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--idsstringSlice[]issue UUIDs (comma list)
--jsonstring-raw GraphQL input payload as JSON ('-' reads stdin); exclusive with per-field flags

lin issue create

Create an issue

lin issue create

Examples

lin issue create --team ENG --title "Fix login" --labels bug --assignee me
lin issue create --json '{"teamId":"...","title":"Fix login"}'
FlagTypeDefaultDescription
--assigneestring-assignee: email, UUID or "me"
--body-filestring-read the text from a file ('-' reads stdin)
--cyclestring-cycle: number (requires --team) or UUID
--descriptionstring-issue description (markdown)
--dry-run, -nboolfalseprint the intended operation and variables without executing
--due-datestring-due date (YYYY-MM-DD)
--estimateint0issue estimate points
--jsonstring-raw GraphQL input payload as JSON ('-' reads stdin); exclusive with per-field flags
--labelsstringSlice[]labels (names or UUIDs, comma list)
--milestonestring-project milestone: name (requires --project) or UUID
--parentstring-parent issue: identifier or UUID
--prioritystring-priority: none, urgent, high, medium, low or 0-4
--projectstring-project: name or UUID
--statestring-workflow state: name or UUID
--team, -tstring-team key or UUID
--titlestring-issue title

lin issue delete

Move an issue to trash (requires --confirm=<id>)

lin issue delete <id>
FlagTypeDefaultDescription
--confirmstring-confirm the destructive action by repeating the resource id
--dry-run, -nboolfalseprint the intended operation and variables without executing

lin issue get

Show one issue (identifier like ENG-123 or UUID)

lin issue get <id>

Example

lin issue get ENG-123 --fields identifier,title,state

lin issue list

List issues with filters

lin issue list

Examples

lin issue list --team ENG --state "In Progress" --fields identifier,title
lin issue list --assignee me --output ndjson --all
FlagTypeDefaultDescription
--all, -aboolfalsefollow cursors until exhaustion
--assigneestring-filter by assignee: email, UUID or "me"
--creatorstring-filter by creator: email, UUID or "me"
--cursorstring-resume from a previous next_cursor
--cyclestring-filter by cycle UUID
--include-archivedboolfalseinclude archived issues
--labelstringSlice[]filter by label name(s), all must match
--limit, -lint50page size
--parentstring-filter by parent issue identifier or UUID
--prioritystring-filter by priority: none, urgent, high, medium, low or 0-4
--projectstring-filter by project name or UUID
--querystring-full-text filter on title and description
--statestring-filter by state name or UUID
--team, -tstring-filter by team key or UUID

lin issue relate

Create a relation between two issues

lin issue relate <id> <other-id>

Example

lin issue relate ENG-1 ENG-2 --type blocks
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--typestringrelatedrelation type: blocks, related, duplicate or similar

lin issue remind

Set a reminder on an issue

lin issue remind <id>
FlagTypeDefaultDescription
--atstring-reminder timestamp (RFC3339)
--dry-run, -nboolfalseprint the intended operation and variables without executing

lin issue remove-from-release

Unlink an issue from a release

lin issue remove-from-release <id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--releasestring-release UUID

lin issue remove-label

remove-label one label on an issue without touching the rest of the set

lin issue remove-label <id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--labelstring-label name or UUID

lin issue subscribe

subscribe the viewer (or --user) to notifications on an issue

lin issue subscribe <id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--userstring-user email, UUID or "me" (default: the viewer)

lin issue unarchive

Unarchive an issue

lin issue unarchive <id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing

lin issue unrelate

Delete the relation between two issues

lin issue unrelate <id> <other-id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing

lin issue unsubscribe

unsubscribe the viewer (or --user) to notifications on an issue

lin issue unsubscribe <id>
FlagTypeDefaultDescription
--dry-run, -nboolfalseprint the intended operation and variables without executing
--userstring-user email, UUID or "me" (default: the viewer)

lin issue update

Update an issue. --labels REPLACES the whole label set; use --add-labels and --remove-labels for incremental changes.

lin issue update <id>

Examples

lin issue update ENG-123 --state Done
lin issue update ENG-123 --add-labels regression --priority high
FlagTypeDefaultDescription
--add-labelsstringSlice[]labels to add (names or UUIDs)
--assigneestring-assignee: email, UUID or "me"
--body-filestring-read the text from a file ('-' reads stdin)
--cyclestring-cycle: number (requires --team) or UUID
--descriptionstring-issue description (markdown)
--dry-run, -nboolfalseprint the intended operation and variables without executing
--due-datestring-due date (YYYY-MM-DD)
--estimateint0issue estimate points
--jsonstring-raw GraphQL input payload as JSON ('-' reads stdin); exclusive with per-field flags
--labelsstringSlice[]labels (names or UUIDs, comma list)
--milestonestring-project milestone: name (requires --project) or UUID
--parentstring-parent issue: identifier or UUID
--prioritystring-priority: none, urgent, high, medium, low or 0-4
--projectstring-project: name or UUID
--remove-labelsstringSlice[]labels to remove (names or UUIDs)
--statestring-workflow state: name or UUID
--team, -tstring-team key or UUID
--titlestring-issue title

On this page