# linear > Manage Linear issues via GraphQL API. List, filter, update, prioritize, comment, and search issues. Use when the user asks about Linear, issues, project management, or backlog. - Author: Cameron - Repository: jamesdanielwhitford/lettabot - Version: 20260208230732 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-09 - Source: https://github.com/jamesdanielwhitford/lettabot - Web: https://mule.run/skillshub/@@jamesdanielwhitford/lettabot~linear:20260208230732 --- --- name: linear description: Manage Linear issues via GraphQL API. List, filter, update, prioritize, comment, and search issues. Use when the user asks about Linear, issues, project management, or backlog. --- # Linear Interact with Linear's GraphQL API to manage issues. ## When to Use - User asks about Linear issues, tickets, or project management - Need to triage, prioritize, or update issue status - Want to search or comment on issues - Managing a backlog or sprint ## Setup Requires `LINEAR_API_KEY` environment variable. Get one from Linear Settings > API > Personal API keys. ## Quick Operations ### List issues by status ```bash npx tsx scripts/linear.ts list --state "Triage" npx tsx scripts/linear.ts list --state "In Progress" npx tsx scripts/linear.ts list --state "Backlog" ``` ### List issues assigned to someone ```bash npx tsx scripts/linear.ts list --assignee "cameron" ``` ### Get issue details ```bash npx tsx scripts/linear.ts get ``` ### Update issue priority (0=none, 1=urgent, 2=high, 3=medium, 4=low) ```bash npx tsx scripts/linear.ts update --priority 2 ``` ### Update issue state ```bash npx tsx scripts/linear.ts update --state "In Progress" ``` ### Add comment ```bash npx tsx scripts/linear.ts comment "Your comment here" ``` ### Search issues ```bash npx tsx scripts/linear.ts search "search query" ``` ## Triage Workflow 1. List triage issues: `list --state "Triage"` 2. Review each issue, decide priority 3. Update priority and move to appropriate state 4. Add comments for context if needed ## Output Format All commands output JSON for easy parsing. Use `jq` for filtering if needed. ## Battle-Tested Insights ### GraphQL Query Patterns - Linear uses GraphQL with nested filtering. State filters need the exact format: `state: { name: { eq: "State Name" } }` - Assignee filters are case-insensitive with `containsIgnoreCase` - When updating state, you need to fetch the state ID first - state names alone won't work in mutations ### Common Pitfalls - Issue IDs vs Identifiers: The API accepts both UUID-style IDs and human-readable identifiers (e.g., "ENG-123"), but some endpoints prefer one over the other - Priority is numeric (0-4), not a string - Rate limits are generous but exist - batch operations if doing bulk updates