What's missing
linear labels lists labels but has no CRUD:
$ linear labels --help
usage: linear labels [-h] [--json]
No way to:
- Create a label (
labels create <name> [--color #hex])
- Delete a label (
labels delete <id-or-name>)
- Rename a label (
labels update <id-or-name> --name "...")
Why it matters
Labels accidentally created from truncated issue titles or one-off campaigns accumulate. Pasting a long title into Linear's quick-create dialog will sometimes turn part of the title into a label — examples from one workspace today:
- `d a QR code landing page`
- `sign-up flow for in-peron events (agents-cli.sh + get`
- `today`
- `qa-alpha.14`
There's no shell-friendly way to clean those up. Same use case as the cycles management proposal: weekly hygiene from the shell or a subagent without dropping to raw GraphQL.
Proposed surface
linear labels # list (already works)
linear labels create <name> [--color "#hex"] [--description "..."]
linear labels update <id-or-name> --name "..." [--color "#hex"]
linear labels delete <id-or-name>
Accept fuzzy match on name.
Linear API reference
- Mutations: `issueLabelCreate`, `issueLabelUpdate`, `issueLabelDelete`
What's missing
linear labelslists labels but has no CRUD:No way to:
labels create <name> [--color #hex])labels delete <id-or-name>)labels update <id-or-name> --name "...")Why it matters
Labels accidentally created from truncated issue titles or one-off campaigns accumulate. Pasting a long title into Linear's quick-create dialog will sometimes turn part of the title into a label — examples from one workspace today:
There's no shell-friendly way to clean those up. Same use case as the cycles management proposal: weekly hygiene from the shell or a subagent without dropping to raw GraphQL.
Proposed surface
Accept fuzzy match on name.
Linear API reference