Skip to main content

linear-term

CI Python 3.10+ License: PolyForm Noncommercial Buy Me A Coffee

A terminal user interface for Linear project management. Manage issues, triage your inbox, and track projects without leaving the terminal.

Features

  • 3-panel TUI: Navigate projects/cycles in the sidebar, browse issues in the list, and view details in the right panel
  • Kanban board: Visual board view grouped by workflow state
  • Triage workflow: Dedicated mode for processing untriaged issues with quick actions
  • CLI commands: Scriptable interface for listing, viewing, creating, and searching issues
  • Offline-ready: SQLite cache for instant startup and offline browsing
  • Themeable: 9 built-in color schemes

Installation

pip install -e .

Configuration

API Key

Set your Linear API key via environment variable:

export LINEAR_API_KEY=lin_api_xxxxx

Or create a config file at ~/.config/linear-term/config.yaml:

api_key: lin_api_xxxxx

Full Configuration Example

api_key: $LINEAR_API_KEY  # Uses env var

appearance:
  theme: material-dark  # See themes below

layout:
  sidebar_width: 28
  detail_panel_width: 40
  show_detail_panel: true
  show_sidebar: true

defaults:
  view: my-issues       # Starting view
  sort_by: priority     # priority, status, updated, created
  sort_order: asc

columns:                # Issue list columns
  - identifier
  - title
  - status
  - priority
  - assignee

kanban:
  columns:              # Custom column order (empty = all states)
    - Backlog
    - Todo
    - In Progress
    - In Review
    - Done
  hide_done: false      # Hide completed/canceled

cache:
  ttl_minutes: 30

editor:
  command: vim          # For editing descriptions (defaults to $EDITOR)

Available Themes

material-dark (default), gruvbox-dark, linear, dracula, nord, solarized-dark, catppuccin-mocha, one-dark, tokyo-night

Usage

Interactive TUI

Launch the full terminal interface:

linear-term

The TUI provides three main views:

  • List view: Traditional issue list with sortable columns
  • Kanban view: Board layout grouped by status (press b to toggle)
  • Triage view: Process untriaged issues from your inbox

CLI Commands

Use standalone commands for quick operations or scripting:

# List issues
linear-term list                    # All issues (20 max)
linear-term list --mine             # Only issues assigned to you
linear-term list --limit 50         # Specify max results
linear-term list --json             # Output as JSON

# View issue details
linear-term view ENG-123            # By identifier
linear-term view ENG-123 --json     # JSON output

# Create issues
linear-term create "Fix login bug"
linear-term create "Add feature" --description "Details here"
linear-term create "Task" --team Engineering --priority high

# Search
linear-term search "auth bug"
linear-term search "payment" --limit 10 --json

Command Reference

Command Aliases Description
list ls List issues
view show View issue details
create new Create a new issue
search — Search issues

Common Options

Option Commands Description
--json all Output as JSON for scripting
--limit N list, search Maximum results (default: 20)
--mine list Only your assigned issues
--team NAME create Target team name or key
--priority LEVEL create urgent, high, medium, low, none
--description TEXT create Issue description

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Lint
ruff check src/

# Format check
ruff format --check src/

License

PolyForm Noncommercial 1.0.0

Metadata

Release files for linear-term 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for linear-term 0.1.0
File Size Uploaded Provenance
linear_term-0.1.0.tar.gz 76.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for linear-term 0.1.0
File Interpreter ABI Platform
linear_term-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 152.1 kB

Release files / linear_term-0.1.0.tar.gz

Download URL linear_term-0.1.0.tar.gz
Size 76.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3cac9067f62a536c6f4d2e9c507f3e8b58c6f178016696dc71d1905a4a2ded03
BLAKE2b-256 checksum
How to use checksums
2d89072736b1bca7e837e520245527f10603dedddb70cc933a8a81f193e59574
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / linear_term-0.1.0-py3-none-any.whl

Download URL linear_term-0.1.0-py3-none-any.whl
Size 75.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
721fd2b655ceeaad8d748f7f8dd55f5b9b49c14c5016dc4d57b5a383ccb0c76e
BLAKE2b-256 checksum
How to use checksums
70ce7f79d20bc4d06667c8ae527e640bc5ad25527f2d366b20608abc5107e639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Security for linear-term 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page