原始内容
name: linear-cli description: > Interact with Linear issue tracker via CLI. Create, list, update, and close issues; add comments; manage cycles and teams. Use when the user wants to work with Linear issues, check their backlog, create tickets, or automate Linear workflows from the terminal.
Linear CLI
CLI for Linear issue tracking. Manage issues, cycles, and teams from the terminal.
Installation
brew install duailibe/tap/linear-cli
Or with Go:
go install github.com/duailibe/linear-cli/cmd/linear@latest
Authentication
Set API key via environment (preferred):
export LINEAR_API_KEY=lin_api_...
Or store locally:
linear auth login
Check auth status:
linear auth status
linear whoami
Commands
Issues
# List issues
linear issue list --team ENG
linear issue list --team ENG --cycle current
linear issue list --team ENG --assignee me
linear issue list --team ENG --state "In Progress"
linear issue list --team ENG --label bug
linear issue list --team ENG --priority 1
# View issue details
linear issue view ENG-123
linear issue view ENG-123 --comments
# Create issue
linear issue create --team ENG --title "Bug in auth"
linear issue create --team ENG --title "Feature" --description "Details here"
linear issue create --team ENG --title "Task" --priority 2 --assignee me
linear issue create --team ENG --title "Blocked" --blocked-by ENG-100 --blocks ENG-200
# Read description from stdin
cat spec.md | linear issue create --team ENG --title "New feature" --description -
# Update issue
linear issue update ENG-123 --state "In Progress"
linear issue update ENG-123 --assignee me
linear issue update ENG-123 --priority 1
linear issue update ENG-123 --cycle current
# Close/reopen
linear issue close ENG-123
linear issue reopen ENG-123
# Add comment
linear issue comment ENG-123 --body "Working on this"
echo "Status update" | linear issue comment ENG-123 --body -
# Download uploads
# Includes uploads from the issue description and comments (uploads.linear.app only).
linear issue uploads ENG-123 --dir ./downloads
Cycles
# List cycles
linear cycle list --team ENG
linear cycle list --team ENG --current
# View cycle
linear cycle view <cycle-id>
Teams
linear team list
Output
Human-readable tables by default. Use --json for machine output:
linear issue list --team ENG --json
linear issue list --team ENG --json | jq '.nodes[].identifier'
Global Flags
--json Output JSON instead of tables
--quiet, -q Suppress non-essential output
--verbose, -v Enable verbose diagnostics
--no-color Disable colored output
--no-input Disable interactive prompts
--yes, -y Auto-confirm prompts
--timeout API request timeout (default 10s)
--api-key API key (overrides env/stored auth)
Common Patterns
Get my issues in current sprint
linear issue list --team ENG --cycle current --assignee me
Create issue from a file
cat << 'EOF' | linear issue create --team ENG --title "Implement auth" --description -
## Overview
Add OAuth2 support.
## Requirements
- Google login
- GitHub login
EOF
Batch operations with jq
# Get all issue IDs in a cycle
linear issue list --team ENG --cycle current --json | jq -r '.nodes[].identifier'
# Close all issues matching a label
for id in $(linear issue list --team ENG --label done --json | jq -r '.nodes[].identifier'); do
linear issue close "$id"
done
Check issue before updating
linear issue view ENG-123 --json | jq '{state, assignee, priority}'
linear issue update ENG-123 --state "Done"