Linear, minus the context switch

Issues move
at terminal speed.

Create, find, update, and ship Linear work from the place you are already working. Interactive when you want it. Scriptable when you do not.

lnr · zsh

lnr quick "Ship the docs"

ISSUE CREATEDPLT-842 · Ship the docs
BRANCHplt-842-ship-the-docs

CREATE SEARCH UPDATE DELETE CHECKOUT JSON

Tracking work should take less work.

lnr turns a title into a Linear issue and a ready-to-use branch name. No browser archaeology. No ceremony. No giant SDK in your script.

01 / HUMAN

A polished TUI.

Pick teams, projects, labels, estimates, and status with keyboard-first forms and paginated search.

lnr issue create
02 / FAST

One line in, one branch out.

Saved defaults make the common path tiny. Create the issue and immediately check out its branch.

lnr quick -c "Fix it"
03 / MACHINE

Built for automation.

Explicit flags and stable JSON let shell scripts and coding agents use the same workflow without prompts.

lnr issue search --json "docs"

From thought
to tracked.

Search remotely as you type. Update the issue when the plan changes. Clear a project deliberately. Delete with confirmation.

Explore every command ↗
01lnr quick "Add OAuth"create
02lnr is "OAuth"find
03lnr issue update PLT-42 --status Donechange
04lnr issue delete PLT-42remove

Good output is an interface.

Print a branch name for your shell, structured data for an agent, or create and check out the branch in one move.

lnr issue create \
+  --title "Ship the docs" \
+  --project "CLI"
# plt-842-ship-the-docs

Less tracking.
More shipping.

Install the latest release with mise.

mise use -g github:dkarter/lnr