Linctl Plugin
Command-line interface for the Linear API, built with Go and Cobra. Manage issues, projects, teams, users, comments, labels, and execute raw GraphQL queries with comprehensive filtering and multiple output formats.
Commands
Authentication
linctl auth setup — Interactive authentication with Linear API key
linctl auth status — Check authentication status
linctl user me — Show current user profile
Issue Management
linctl issue list — List all issues with optional filtering
linctl issue search <query> — Search issues using Linear's full-text index
linctl issue get <id> — Get detailed information about a specific issue
linctl issue create — Create a new Linear issue
linctl issue update <id> — Update an existing issue
Project Management
linctl project list — List all projects
linctl project get <id> — Get project details by ID
Team & User Management
linctl team list — List all teams
linctl team members <team> — List team members
linctl user list — List all users
linctl user get <email> — Get user details by email
Advanced Features
linctl graphql query — Execute raw GraphQL query against Linear API
linctl comment — Manage issue comments
linctl label — Manage team labels
linctl agent — View delegated/agent session state
Usage Examples
# Initial authentication
linctl auth setup
linctl auth status
# List issues with filters
linctl issue list
linctl issue list --assignee me
linctl issue list --state "In Progress"
linctl issue list --team ENG --cycle current
# Search issues
linctl issue search "login bug" --team ENG
linctl issue search "customer:" --include-completed
# Get issue details
linctl issue get LIN-123
# Create issue
linctl issue create --title "Bug fix" --team ENG
linctl issue create --title "Feature" --team ENG --project "Q1 Platform" --labels urgent
# Update issue
linctl issue update LIN-123 --assignee me --priority 1
linctl issue update LIN-123 --state "In Progress" --due-date "2024-12-31"
# Time-based filtering
linctl issue list --newer-than 2_weeks_ago
linctl issue list --newer-than all_time
# Project management
linctl project list --state started
linctl project get 65a77a62-ec5e-491e-b1d9-84aebee01b33
# Team management
linctl team list
linctl team members ENG
# Raw GraphQL query
linctl graphql 'query { viewer { id name email } }'
# JSON output for agents
linctl issue list --json
linctl issue search "api" --json
Installation
brew tap dorkitude/linctl
brew install linctl
Or from source:
git clone https://github.com/dorkitude/linctl.git
cd linctl
make deps
make build
make install
Important Notes
- Default filters: By default, issue list/search shows items from last 6 months and excludes completed items
- Time filters: Use
--newer-than 1_month_ago, --newer-than all_time for historical data
- JSON output: Agents should use
--json flag on all read operations
- Authentication: Requires Linear API key (personal API key auth)
- Output modes: Supports table, plaintext, and JSON formats
Key Features
- Comprehensive issue management: list, search, get, create, update, assign
- Project lifecycle: create, update, archive, delete projects with milestones
- Team workflow: manage teams, states, members, and workflow configurations
- Rich filtering: by assignee, state, team, cycle, project, time ranges
- Issue relations: blocks, blocked-by, related, duplicate, similar
- Agent integration: inspect agent session state and delegate issues
- Raw GraphQL: execute arbitrary Linear GraphQL as escape hatch
- Dynamic MCP: schema-driven tool discovery and execution
- Multiple output formats: table, plaintext, JSON for different use cases
Common Workflows
Daily issue management
linctl issue list --assignee me --state "In Progress"
linctl issue search "urgent" --team ENG
Project oversight
linctl project list --state started
linctl issue list --project "Q1 Platform"
Team coordination
linctl team members ENG
linctl team state list ENG
Agent collaboration
linctl agent ENG-80
linctl agent mention ENG-80 "Please investigate this failure"
1---2name: linctl3description: Use this skill when the user wants to manage Linear issues, projects, teams, and workflows from the command line using the Linear API.4---56# Linctl Plugin78Command-line interface for the Linear API, built with Go and Cobra. Manage issues, projects, teams, users, comments, labels, and execute raw GraphQL queries with comprehensive filtering and multiple output formats.910## Commands1112### Authentication13- `linctl auth setup` — Interactive authentication with Linear API key14- `linctl auth status` — Check authentication status15- `linctl user me` — Show current user profile1617### Issue Management18- `linctl issue list` — List all issues with optional filtering19- `linctl issue search <query>` — Search issues using Linear's full-text index20- `linctl issue get <id>` — Get detailed information about a specific issue21- `linctl issue create` — Create a new Linear issue22- `linctl issue update <id>` — Update an existing issue2324### Project Management25- `linctl project list` — List all projects26- `linctl project get <id>` — Get project details by ID2728### Team & User Management29- `linctl team list` — List all teams30- `linctl team members <team>` — List team members31- `linctl user list` — List all users32- `linctl user get <email>` — Get user details by email3334### Advanced Features35- `linctl graphql query` — Execute raw GraphQL query against Linear API36- `linctl comment` — Manage issue comments37- `linctl label` — Manage team labels38- `linctl agent` — View delegated/agent session state3940## Usage Examples4142```bash43# Initial authentication44linctl auth setup45linctl auth status4647# List issues with filters48linctl issue list49linctl issue list --assignee me50linctl issue list --state "In Progress"51linctl issue list --team ENG --cycle current5253# Search issues54linctl issue search "login bug" --team ENG55linctl issue search "customer:" --include-completed5657# Get issue details58linctl issue get LIN-1235960# Create issue61linctl issue create --title "Bug fix" --team ENG62linctl issue create --title "Feature" --team ENG --project "Q1 Platform" --labels urgent6364# Update issue65linctl issue update LIN-123 --assignee me --priority 166linctl issue update LIN-123 --state "In Progress" --due-date "2024-12-31"6768# Time-based filtering69linctl issue list --newer-than 2_weeks_ago70linctl issue list --newer-than all_time7172# Project management73linctl project list --state started74linctl project get 65a77a62-ec5e-491e-b1d9-84aebee01b337576# Team management77linctl team list78linctl team members ENG7980# Raw GraphQL query81linctl graphql 'query { viewer { id name email } }'8283# JSON output for agents84linctl issue list --json85linctl issue search "api" --json86```8788## Installation8990```bash91brew tap dorkitude/linctl92brew install linctl93```9495Or from source:96```bash97git clone https://github.com/dorkitude/linctl.git98cd linctl99make deps100make build101make install102```103104## Important Notes105106- **Default filters**: By default, issue list/search shows items from last 6 months and excludes completed items107- **Time filters**: Use `--newer-than 1_month_ago`, `--newer-than all_time` for historical data108- **JSON output**: Agents should use `--json` flag on all read operations109- **Authentication**: Requires Linear API key (personal API key auth)110- **Output modes**: Supports table, plaintext, and JSON formats111112## Key Features113114- **Comprehensive issue management**: list, search, get, create, update, assign115- **Project lifecycle**: create, update, archive, delete projects with milestones116- **Team workflow**: manage teams, states, members, and workflow configurations117- **Rich filtering**: by assignee, state, team, cycle, project, time ranges118- **Issue relations**: blocks, blocked-by, related, duplicate, similar119- **Agent integration**: inspect agent session state and delegate issues120- **Raw GraphQL**: execute arbitrary Linear GraphQL as escape hatch121- **Dynamic MCP**: schema-driven tool discovery and execution122- **Multiple output formats**: table, plaintext, JSON for different use cases123124## Common Workflows125126### Daily issue management127```bash128linctl issue list --assignee me --state "In Progress"129linctl issue search "urgent" --team ENG130```131132### Project oversight133```bash134linctl project list --state started135linctl issue list --project "Q1 Platform"136```137138### Team coordination139```bash140linctl team members ENG141linctl team state list ENG142```143144### Agent collaboration145```bash146linctl agent ENG-80147linctl agent mention ENG-80 "Please investigate this failure"148```