---
name: tracker/linear-cli:issue-close
description: Transition a Linear issue to Done or Cancelled using the linear CLI
version: "0.4.0"
---

# Issue Close

Transition a Linear issue to its terminal workflow state (Done by default, or Cancelled when specified).

## Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| id | string | Yes | Issue identifier (e.g., `ENG-123`) or internal UUID |
| reason | string | No | Close reason: `done` (default) or `cancelled` |

## Implementation

```bash
linear issue close {id} \
  {reason === "cancelled" ? "--cancelled" : ""}
```

## Output

| Field | Type | Description |
|-------|------|-------------|
| identifier | string | Human-readable issue ID (e.g., `ENG-123`) |
| state | string | New workflow state name (e.g., `Done` or `Cancelled`) |
| url | string | Direct URL to the closed issue |

## Errors

| Code | Cause | Recovery |
|------|-------|----------|
| AUTH_FAILED | API key is missing or invalid | Run `linear auth` to authenticate |
| NOT_FOUND | No issue matches the provided identifier | Verify the ID with `linear issue list` |
| VALIDATION_ERROR | Issue is already in a terminal state | No action needed; issue is already closed |

## Used By

- deploy-tracker (close resolved issues at end of deployment)
