| name | managing-linear |
| description | Manages Linear issues via CLI using linearis (czottmann/linearis). Use when the user mentions Linear issue identifiers (e.g., 'ENG-123'), teams, cycles, projects, labels, issue management, or workflow automation. Handles issue CRUD, comments, cycle/project/label/team/user listing, document management, file embeds, search, and GitHub/GitLab PR linking via issue identifiers. |
| allowed-tools | ["Bash"] |
Managing Linear
CLI-based Linear operations using linearis (czottmann/linearis).
Quick Start
Verify authentication before any operation:
npx -y linearis teams list
If this fails, inform the user to set up authentication:
- Get a Personal API key from Linear: Settings > "Security & Access" > "Personal API keys"
- Save the token to
~/.linear_api_token, or export LINEAR_API_TOKEN=<token>
Workflow Patterns
Start Work on Issue
npx -y linearis issues read ENG-123
npx -y linearis issues update ENG-123 --status "In Progress"
Complete Issue
npx -y linearis issues update ENG-123 --status "Done"
npx -y linearis comments create ENG-123 --body "Completed in PR #456"
Daily Standup
npx -y linearis issues search "" --team "Engineering" | jq '[.[] | select(.status.name == "In Progress")]'
npx -y linearis cycles list --team "Engineering" --active
Link PR to Issue
Include the issue identifier (e.g., ENG-123) in your Git branch name, PR title, or PR description. Linear's GitHub/GitLab integration automatically links PRs to issues when it detects the identifier.
Error Handling
if ! npx -y linearis issues read ENG-123 >/dev/null 2>&1; then
echo "Issue not found"
fi
npx -y linearis teams list | jq '.[].name'
npx -y linearis labels list --team "Engineering" | jq '.[].name'
Best Practices
- All output is JSON - pipe to
jq for parsing and filtering
- Use smart ID resolution -
linearis accepts both IDs and human-readable names for teams, projects, and cycles
- Priority scale is inverted - 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low
- Use label management modes -
--label-by adding (default), replacing, or removing to control label behavior
- Scope searches with --team and --project for faster, more relevant results
- Write multi-line content to /tmp first when creating documents or descriptions with complex markdown
References