Linear CLI

v1.0.1

Manage Linear issues, projects, teams, and documents from the command line using the linear CLI. Create, update, list, and track issues; manage projects and milestones; interact with the Linear GraphQL API.

0· 1.1k·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for cipher-shad0w/openclaw-linear.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Linear CLI" (cipher-shad0w/openclaw-linear) from ClawHub.
Skill page: https://clawhub.ai/cipher-shad0w/openclaw-linear
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: linear
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install openclaw-linear

ClawHub CLI

Package manager switcher

npx clawhub@latest install openclaw-linear
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the requested artifacts: the skill is instruction-only and invokes the 'linear' CLI. Requiring the linear binary and providing Homebrew install is appropriate. Minor note: the docs mention integration with git/jj and using the 'gh' CLI for creating PRs, but those binaries are not declared in the skill's required binaries list — this is a documentation omission rather than evidence of malicious behavior.
Instruction Scope
SKILL.md tells the agent to run 'linear' commands and operate on repo-local config (.linear.toml, temp files) and to obtain a Linear API key via linear auth login. It also suggests using linear auth token in curl. The instructions do not direct reading unrelated system files or exfiltrating data to unexpected endpoints; operations that access local files (e.g., --content-file, schema output) are reasonable for the CLI's purpose.
Install Mechanism
Install uses a Homebrew formula (schpet/tap/linear). Homebrew is a normal install mechanism; however the tap is a third-party tap (schpet/tap) rather than an official core formula. This increases the need to verify the formula/release source but is not inherently malicious. No arbitrary archive downloads or extracts are specified in the skill metadata.
Credentials
The skill declares no required environment variables; the documentation lists optional LINEAR_* env vars used for config and instructs obtaining a Linear API key via the official Linear account settings and 'linear auth login'. Requested credentials are proportional to the task and limited to Linear API auth (no unrelated secrets are requested).
Persistence & Privilege
always:false and normal autonomous invocation settings are used. The skill does not request permanent platform-wide presence or modification of other skills' configs. It may create git branches and write per-repo config files via the CLI, which is expected for this tool.
Assessment
This skill appears to be what it claims (a wrapper around the 'linear' CLI). Before installing, verify the Homebrew tap/formula source (schpet/tap/linear) and the upstream project (e.g., the GitHub releases URL referenced) so you trust the binary you will install. Be aware: the CLI will use your Linear API token (you must create and provide it via 'linear auth login'), can create/switch git branches and (per docs) may invoke the 'gh' CLI when creating PRs — ensure you only run those features when you expect them and that 'gh' and git are present and trusted. The CLI can upload document content and attached files to Linear when you run document/attach commands, so avoid passing sensitive local files unless you intend to upload them. If you want higher assurance, inspect the Homebrew formula and the project's GitHub repo/release artifacts before installation.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🖇️ Clawdis
OSmacOS · Linux · Windows
Binslinear

Install

Install linear CLI (brew)
Bins: linear
brew install schpet/tap/linear
latestvk977fmwqyachjtn3pz3cgmhcjh80wbzz
1.1kdownloads
0stars
2versions
Updated 1mo ago
v1.0.1
MIT-0
macOS, Linux, Windows

Linear

A CLI to manage Linear issues from the command line, with git and jj integration.

Prerequisites

The linear command must be available on PATH. To check:

linear --version

If not installed:

Setup

  1. Create an API key at https://linear.app/settings/account/security
  2. Authenticate: linear auth login
  3. Configure your project: cd my-project-repo && linear config

Available Commands

linear auth               # Manage Linear authentication
linear issue              # Manage Linear issues
linear team               # Manage Linear teams
linear project            # Manage Linear projects
linear project-update     # Manage project status updates
linear milestone          # Manage Linear project milestones
linear initiative         # Manage Linear initiatives
linear initiative-update  # Manage initiative status updates
linear label              # Manage Linear issue labels
linear document           # Manage Linear documents
linear config             # Interactively generate .linear.toml configuration
linear schema             # Print the GraphQL schema to stdout
linear api                # Make a raw GraphQL API request

Common Workflows

List and view issues

# List your unstarted issues
linear issue list

# List issues in a specific state
linear issue list -s started
linear issue list -s completed

# List all assignees' issues
linear issue list -A

# View the current branch's issue
linear issue view

# View a specific issue
linear issue view ABC-123

Create and manage issues

# Create an issue interactively
linear issue create

# Create non-interactively
linear issue create -t "Fix login bug" -d "Users can't log in with SSO" -s "In Progress" -a self --priority 1

# Update an issue
linear issue update ABC-123 -s "Done" -t "Updated title"

# Add a comment
linear issue comment add ABC-123 -b "This is fixed in the latest build"

# Delete an issue
linear issue delete ABC-123 -y

Start working on an issue

# Pick an issue interactively, creates a git branch and marks it as started
linear issue start

# Start a specific issue
linear issue start ABC-123

# Create a PR with issue details pre-filled
linear issue pr

Projects and milestones

# List projects
linear project list

# Create a project
linear project create -n "Q1 Launch" -t ENG -s started --target-date 2026-03-31

# List milestones for a project
linear milestone list --project <projectId>

Documents

# List documents
linear document list

# Create a document from a file
linear document create --title "Design Spec" --content-file ./spec.md --project <projectId>

# View a document
linear document view <slug>

Teams

# List teams
linear team list

# List team members
linear team members

Discovering Options

Run --help on any command for flags and options:

linear --help
linear issue --help
linear issue list --help
linear issue create --help

Using the Linear GraphQL API Directly

Prefer the CLI for all supported operations. The api command is a fallback for queries not covered by the CLI.

Check the schema

linear schema -o "${TMPDIR:-/tmp}/linear-schema.graphql"
grep -i "cycle" "${TMPDIR:-/tmp}/linear-schema.graphql"
grep -A 30 "^type Issue " "${TMPDIR:-/tmp}/linear-schema.graphql"

Make a GraphQL request

# Simple query
linear api '{ viewer { id name email } }'

# With variables
linear api 'query($teamId: String!) { team(id: $teamId) { name } }' --variable teamId=abc123

# Complex filter via JSON
linear api 'query($filter: IssueFilter!) { issues(filter: $filter) { nodes { title } } }' \
  --variables-json '{"filter": {"state": {"name": {"eq": "In Progress"}}}}'

# Pipe to jq
linear api '{ issues(first: 5) { nodes { identifier title } } }' | jq '.data.issues.nodes[].title'

Using curl directly

curl -s -X POST https://api.linear.app/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: $(linear auth token)" \
  -d '{"query": "{ viewer { id } }"}'

Reference Documentation

For detailed subcommand documentation with all flags and options:

  • issue - Manage Linear issues (list, create, update, start, view, comment, PR, delete)
  • team - Manage Linear teams (list, create, delete, members, autolinks)
  • project - Manage Linear projects (list, view, create)
  • document - Manage Linear documents (list, view, create, update, delete)
  • api - Make raw GraphQL API requests

Configuration

The CLI supports environment variables or a .linear.toml config file:

OptionEnv VarTOML KeyExample
Team IDLINEAR_TEAM_IDteam_id"ENG"
WorkspaceLINEAR_WORKSPACEworkspace"mycompany"
Issue sortLINEAR_ISSUE_SORTissue_sort"priority" or "manual"
VCSLINEAR_VCSvcs"git" or "jj"

Config file locations (checked in order):

  1. ./linear.toml or ./.linear.toml (current directory)
  2. <repo-root>/linear.toml or <repo-root>/.linear.toml
  3. <repo-root>/.config/linear.toml
  4. ~/.config/linear/linear.toml

Comments

Loading comments...