Releases: schpet/linear-cli
Release list
2.5.0 - 2026-08-11
Release Notes
Changed
- document create now requires exactly one attachment target and errors clearly when none or several are given (Linear's API no longer allows workspace-level documents); the interactive prompt's broken "workspace document" option was removed
Fixed
- document list --project now accepts a project UUID, slug ID, or name — previously it silently matched slug IDs only and returned an empty list for names
Added
- document create, update, and list now support all six attachment targets: --project, --issue, --initiative, --team, --cycle, and --release (with --team scoping --cycle like the issue commands); document view and list display whichever target a document has
- document update can re-point a document to a different target, including the previously missing --issue
Install linear 2.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v2.5.0/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@2.5.0Download linear 2.5.0
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
2.4.0 - 2026-08-05
Release Notes
Added
issue update --add-labeland--remove-labelto change an issue's labels incrementally: add a label without clobbering the existing set, or detach a label from one issue without deleting it team-wide (#258; thanks @rez0 for the report). Both may be repeated and combined for an atomic swap (--remove-label sprint-42 --add-label sprint-43)
Changed
issue update --labelhelp text now states that it replaces the issue's entire label set (it always did; the docs previously suggested it added labels)
Install linear 2.4.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v2.4.0/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@2.4.0Download linear 2.4.0
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
2.3.1 - 2026-08-04
Release Notes
Fixed
document list --issuenow returns documents instead of failing; it filtered on a nonexistentIssueFilter.identifierfield, so the flag was rejected by the API on every invocation
Install linear 2.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v2.3.1/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@2.3.1Download linear 2.3.1
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
2.3.0 - 2026-07-23
Release Notes
Added
- "Common Tasks" recipes in the agent skill, including how to attach an image so it renders inline in a comment (eval-validated against agent behavior)
Changed
issue attachnow reports that it created a sidebar link attachment and, for images, prints a copy-pasteable hint suggestingissue comment add --attachfor inline displayissue list/issue minenow sort by priority by default (configurable viaissue_sort); an invalid configured sort errors instead of silently defaulting (#253; thanks @friederbluemle)issue minewithout a configured team now explains how to set one up, and suggestslinear configwhen run inside a repo
Install linear 2.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v2.3.0/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@2.3.0Download linear 2.3.0
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
2.2.0 - 2026-07-22
Release Notes
Fixed
issue query --searchno longer silently drops the--cyclefilterteam members --allnow actually includes disabled members (the flag was previously a no-op)- Error suggestions now point at the real
linear configcommand instead of the nonexistentlinear configure
Added
- Cycle information in issue lists and
issue view: a compact CYC column (for teams with cycles enabled) and cycle flags in--jsonoutput - Relative cycle references (
now,next,previous, signed offsets like+1) accepted by--cycleon issue query/mine/create/update andcycle view, plusissue update --clear-cycleto remove an issue from its cycle linear user list(aliasu) to list all workspace members,team members --jsonoutput, and admin/owner/you role markers in member listingsissue update --unassignto clear an issue's assigneedocument update --projectto change which project a document is attached tolinear team statescommand to list a team's workflow states; a wrong--stateonissue create/issue updatenow errors with the list of valid statesconfigureas an alias for theconfigcommand
Install linear 2.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v2.2.0/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@2.2.0Download linear 2.2.0
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
2.1.1 - 2026-07-15
Release Notes
Fixed
- stop treating linux keyring failures as a missing password, and preserve secrets verbatim instead of trimming secret-tool output (#244; thanks @mezuzza)
Install linear 2.1.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v2.1.1/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@2.1.1Download linear 2.1.1
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
2.1.0 - 2026-07-14
Release Notes
Security
- default attachment uploads to private, and add --public to issue attach and issue comment add to opt into a public url for raster images (#234; thanks @tjmgregory)
Fixed
- accept a uuid, slug id, or name for --project and --milestone across issue, milestone, and document commands (#229; thanks @jrschumacher)
- surface truncation in milestone view instead of silently capping the issue list, and add --all to paginate (#228; thanks @jrschumacher)
- allow issue create --project to stay interactive instead of failing with "title is required when not using interactive mode" (#208; thanks @mbuvarp)
Added
- add labels to issue view --json output (#170; thanks @RengarLee)
- add --content and --content-file to project create for project overview markdown, plus priority, label, member, icon, and color fields (#216; thanks @CodeWithBryan)
- add --label to project update to set a project's labels (#226; thanks @KinomotoMio)
- add --description-file to project create and update, and reject descriptions over the 255-character api limit client-side (#227; thanks @jrschumacher)
- add optional project selection to interactive issue create, gated behind the issue_create_ask_project config option (#208; thanks @mbuvarp)
- add issue_create_assign_self config option to control default self-assignment on issue create (#208; thanks @mbuvarp)
- add document comments to document view --json output (#235; thanks @josephyooo)
- show a blocked indicator in issue mine and issue query output, and surface inverseRelations in --json
- download inline images in document view so terminal renderers see local paths, and add --no-download to skip it
Changed
- issue view now orders comment threads chronologically (oldest first), matching Linear's UI
- guard document update against replacing content when active inline comments exist, since the replacement orphans their anchors; pass --force to override (#235; thanks @josephyooo)
Install linear 2.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v2.1.0/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@2.1.0Download linear 2.1.0
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
2.0.0 - 2026-04-03
Release Notes
please note this is a major release in the semver sense of it being a breaking one:
json output shapes changed
my apologies to anyone who might be scripting this thing - i'd probably say api is more stable for that if that's you
issue list is being broken into issue mine and issue query
this project came about as a nicer way for me to find and 'start' issues from a repo, but with the whole LLM thing it gets used differently. so i'm hoping this supports that better. we will see!
and lastly @bendrucker made a nice change to improve security of your keys via keyring support. i'll note neither of us had machines to test it on windows and headed linux, so if it's broken, PRs are extremely welcome!
for anyone using this with agents, i encourage you to add or update the skill.
# claude code
claude plugin marketplace update linear-cli
claude plugin update linear-cli@linear-cli
# other
npx skills update schpet/linear-cliFixed
- alphanumeric team keys (e.g. team keys with numbers) now accepted
- workspace flag collision: removed -w short alias from --workspace to avoid conflict with --web
- auth migrate keyring error message now includes suggestion
Changed
- json output now preserves GraphQL field names and connection shape across all commands
- issue view resolved thread metadata format
Added
issue listsplit intoissue mineandissue query.mineis your personal work queue (unstarted issues assigned to you).queryhandles cross-team filtering, --json output, and full-text search via --search.issue listis aliased tominefor now but should be considered deprecated- agent-session list and view commands (#192; thanks @paymog)
- issue link command to attach URLs to issues (#185; thanks @lucleray)
- keyring storage for API keys on macOS, Linux, and Windows (#136; thanks @bendrucker)
- label filter (--label) for issue list and issue query (#180; thanks @mihai-chiorean)
- project label filter (--project-label) to match issues across all projects with a given label (#178; thanks @AlJohri)
- date filters (--created-after, --updated-after) for issue list and issue query (#191; thanks @jholm117)
- json output (--json) for issue list, issue create, and cycle list (#179; thanks @mihai-chiorean)
- assignee, priority, and state display in issue view (#190; thanks @jholm117)
- issue documents shown in issue view
Install linear 2.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v2.0.0/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@2.0.0Download linear 2.0.0
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
1.11.1 - 2026-03-06
Release Notes
Added
- publish to npm as @schpet/linear-cli, enabling installation via npm/bun as a dev dependency
Install linear 1.11.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v1.11.1/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearInstall prebuilt binaries into your npm project
npm install @schpet/linear-cli@1.11.1Download linear 1.11.1
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
1.11.0 - 2026-03-05
Release Notes
Added
- project update and delete commands, plus --json flag for project commands (#148; thanks @chronosis)
- cycle list and view commands, plus --cycle filter for issue list (#162; thanks @regaw-leinad)
- issue comment delete command (#161; thanks @jholm117)
- cycle support for issue create and update commands (#150; thanks @jholm117)
- milestone support for issue create and update commands (#149; thanks @jholm117)
Fixed
- project update date validation now works correctly when combined with other flags
- issue view no longer sends auth headers to non-Linear image domains (#154; thanks @hmnd)
- project lookup now falls back to slug ID when name match fails (#158; thanks @mipearson)
- success message order corrected for 'blocked-by' issue relations
- git command errors now report more helpful messages
Install linear 1.11.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/schpet/linear-cli/releases/download/v1.11.0/linear-installer.sh | shInstall prebuilt binaries via Homebrew
brew install schpet/tap/linearDownload linear 1.11.0
| File | Platform | Checksum |
|---|---|---|
| linear-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| linear-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| linear-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| linear-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| linear-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |