lin
Linear CLI for humans and LLMs
A modern CLI for Linear issue tracking that prioritizes structured JSON output and LLM-optimized interaction. It provides comprehensive access to Linear's project management features as a zero-dependency single binary.
Features
Structured JSON output — all output to stdout, errors to stderr
LLM-optimized docs via lin usage (under 1,000 tokens)
Zero runtime dependencies — single compiled binary
Smart ID handling — accepts issue keys, UUIDs, URL fragments, team names
Full Linear API coverage: issues, projects, documents, cycles, teams, users
Threaded comments with file attachments
Multi-workspace support with named aliases
macOS Keychain integration for API key storage
Install
Homebrew
$ brew install shhac/tap/lin AI Agent Skill
$ npx skills add shhac/lin GitHub Release (macOS)
$ curl -L https://github.com/shhac/lin/releases/latest/download/lin-darwin-arm64.tar.gz | tar xz Build from Source
$ git clone https://github.com/shhac/lin.git && cd lin && bun install && bun run build Getting Started
lin requires a Linear API key to authenticate. Generate a personal key from your Linear workspace settings.
1. Generate an API key
Go to Linear Settings > Account > Security > Personal API Keys and create a new key.
2. Authenticate
$ lin auth login lin_api_... The key is stored in macOS Keychain when available. For CI or agent use, set LINEAR_API_KEY as an environment variable instead.
3. Verify access
$ lin auth status Usage
$ lin issue search "auth bug" $ lin issue list --team ENG --status "In Progress" $ lin issue new "Fix login redirect" --team ENG --priority high $ lin issue comment new ENG-123 "See attached" --file ./screenshot.png