About linear
linear is a Python 3 CLI for managing issues in the Linear issue tracker. It supports issue creation, lookup, updates, comments, and workspace information, with browser OAuth authentication.
Key features
- 01Create issues with configurable fields
- 02List and view issue details
- 03Update issues and add comments
- 04Inspect teams, statuses, and labels
- 05Human-readable or JSON output
Use cases
- 01Create a Linear issue from task details
- 02Review issues by team, status, or priority
- 03Update ownership, due dates, or issue state
MCP support
The CLI authenticates to Linear using MCP Dynamic Client Registration and PKCE. It does not describe exposing an MCP server.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ glebis/ claude-skills --skill linearAfter installing, type/linearin Claude Code to confirm it loaded.
Bundled files.claude-plugin/plugin.jsonscripts/linear
Details
From the project READMELinear CLI
Standalone CLI for the Linear issue tracker. Zero dependencies beyond Python 3.
Setup
On first use, authenticate via browser OAuth (no API keys needed):
linear auth
Opens the browser for Linear authorization. Uses MCP Dynamic Client Registration + PKCE — credentials are stored at ~/.config/linear/ with 0600 permissions.
The CLI script is bundled at scripts/linear within this skill directory. Execute it directly or reference its absolute path.
Commands
Create an issue
linear create "Issue title" \
--team GLE \
--state Todo \
--assignee me \
--due today \
--priority high \
--description "Markdown description" \
--label "Bug"
Priority: urgent, high, medium, low, none (or 0-4).
Due date: YYYY-MM-DD, today, tomorrow.
List issues
linear list --mine --status "In Progress"
linear list --team GLE --status Todo --limit 10
linear list --priority high --json
Show issue details
linear show GLE-123
linear show GLE-123 --json
Update an issue
linear update GLE-123 --state "In Progress"
linear update GLE-123 --priority urgent --due 2026-05-01
linear update GLE-123 --assignee me --title "New title"
Add a comment
linear comment GLE-123 "This is done, merging now"
Workspace info
linear teams
linear me
linear statuses --team GLE
linear labels --team GLE
Conventions
- Use team key (e.g.
GLE), not full team name, in--teamflags. - Default assignee:
meunless specified otherwise. - Default state for new issues:
Todo. - Use
--due todayfor same-day tasks. - The CLI outputs human-readable text by default; pass
--jsonfor machine-readable output. - When creating issues from conversation context, write a concise title and structured markdown description.