Linear CLI

linear-cli

A Linear CLI for the terminal: list, start and create issues, PRs from a branch, JSON output and an agent skill, with git and jj support

  • 1,018 ★ on the repository
  • Last commit
  • ISC
CLI

Broad access

Why this level

  • A Linear API key gives read and write access to the workspace: issues, comments, projects, documents
  • The CLI can delete and archive issues, milestones and documents
  • The --public flag publishes an image at a link without authentication, and the skill lets the agent call curl
All reasons and checks

schpet/linear-cli

Install

Works in

Manual install

brew install schpet/tap/linear

For a project you can use npm install -D @schpet/linear-cli (the package ships prebuilt binaries). A shell installer for macOS and Linux and release binaries also exist.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • A Linear API key gives read and write access to the workspace: issues, comments, projects, documents
  • The CLI can delete and archive issues, milestones and documents
  • The --public flag publishes an image at a link without authentication, and the skill lets the agent call curl

This is third-party code. Review the repository files before installing.

What it does

linear is a console client for the Linear tracker written in Rust. It finds the current issue from the ID in the git branch name or from a Linear-issue trailer in jj commits, so `linear issue view`, `update`, `comment` and `pr` work without a number. `linear issue start` creates a branch and marks the issue started, `linear issue pr` opens a PR through gh with a ready title and body, and `linear issue query --json` returns a selection by team, state and text for scripts and agents. Beyond issues the CLI manages teams, projects, milestones, documents and attachments. A `linear-cli` skill comes with it: it lets the agent call `linear` and `curl` and describes direct requests to the Linear GraphQL API for cases the commands do not cover.

Who it is for. For developers who track work in Linear and want to handle it from the terminal, scripts and agents such as Claude Code.

Good fit when

  • You need to pull an issue from the queue and get a properly named branch: `linear issue start ENG-123`
  • An agent has to find issues by filters: `linear issue query --team ENG --state started --json`
  • You want a PR with the title and body taken from the issue: `linear issue pr`
  • Issue status or fields change from a script: `linear issue update ENG-123 -s started`
  • An issue needs a comment or attachment from the terminal: `linear issue comment add`, `linear issue attach`

Not a fit when

  • You want an MCP integration: linear-mcp-server and mcp-linear cover that, while this CLI works through the shell
  • Attachments must stay inside the workspace: avoid --public, which exposes an image without authentication
  • The agent must not be allowed to delete: the CLI has `issue delete`, `issue archive` and deletion of documents and milestones
  • You do not track work in Linear: the CLI is tied to its API

Example request

Find my started issues in team ENG, pick the highest priority one and create a branch for it

Limitations

A personal Linear API key is required, created on the account security settings page, followed by `linear auth login` and `linear config` in a repository. `linear issue pr` needs the GitHub CLI (gh). Commands without an ID work when the branch name contains the issue ID (for example eng-123-my-feature). When upgrading from 2.x read the upgrade section of the CHANGELOG. The sources do not describe availability of Linear from Russia.

How to disable. Remove the binary (after Homebrew that is `brew uninstall linear`) or the @schpet/linear-cli dev dependency, disable the linear-cli plugin in the /plugin menu and revoke the API key in Linear settings.

FAQ

How do I install Linear CLI and connect it to Claude Code?

Install the CLI via Homebrew (brew install schpet/tap/linear), npm (npm install -D @schpet/linear-cli) or the shell script from releases. The skill connects to Claude Code with /plugin marketplace add schpet/linear-cli and /plugin install linear-cli@linear-cli.

How do I authenticate Linear CLI?

Create an API key on the Linear security settings page and run linear auth login, then linear config inside the repository directory. Multiple workspaces have their own guide in docs/authentication.md.

Does Linear CLI work with jj?

Yes. With git the CLI finds the issue from the ID in the branch name, with jj from the Linear-issue trailer in the commit description that linear issue start adds.

How is Linear CLI different from linear-mcp-server?

linear-mcp-server runs as an MCP server, while linear is called from the shell and brings start, pr and ties to git and jj branches. The skill gives the agent instructions for those commands.

Are attachments visible to everyone?

Not by default: uploads are private and readable only by workspace members. The --public flag publishes raster images at a public.linear.app link anyone can open without authentication, and the CLI prints a warning.

Discussion

No questions or reviews yet.

CLI tools

MCP server for Linear: the agent creates and updates issues, searches the tracker and adds comments through the Linear API

MCP serverExtended access347Repository stars

An MCP server for Linear: issues, projects, cycles, milestones, documents and project updates via the GraphQL API

MCP serverBroad access148Repository stars
Russian stack

A CLI and skill for Yandex Tracker and Wiki: short output readable by people and agents alike, instead of raw MCP payloads costing thousands of tokens

CLIBroad access3Repository stars
Russian stack

Command-line client and MCP server for the Kaiten tracker: cards, comments, checklists and files from the terminal or an agent

CLIBroad access5Repository stars
Russian stack

A cross-platform NativeAOT Yandex Tracker CLI with four sign-in modes, a read-only mode, and queue and write-scope restrictions

CLIBroad access2Repository stars
Russian stack

A Yandex Tracker CLI built for LLM agents: issues, comments, worklogs, checklists and bulk operations, with an agent skill

CLIBroad access11Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
Linear CLI (this entry)no1,018
Linear MCP ServernoAPI key347an MCP server through which an agent creates and updates issues, instead of a console client with start and pr commands
MCP LinearnoAPI key148an MCP server for issues, projects, cycles, milestones and documents over the GraphQL API
Basecamp CLIyes294the official Basecamp CLI

README in short

The README opens with commands that show the workflow: setup, listing, starting, viewing, creating a PR and creating issues. It then covers installation (Homebrew, npm, shell script, binaries, build from source), key setup, a command reference for issues, teams, users, projects, milestones and documents, environment variables and the .linear.toml file. The skills section explains how to install the plugin in Claude Code and how to add the skill for other agents through skills.sh.

README badge

Report a problem

Foxx AILinear CLI
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.