Skip to content
OpenPlanr Docs
GitHub (opens in a new tab)

openplanr linear

Linear.app integration: init, push, sync, status mapping, task checklists

Usage
openplanr linear [options] [command]

Commands

  • init

    Validate a Linear PAT, choose teams, and save a default team

  • sync

    Pull workflow status (features & stories) from Linear, then sync task checklists bidirectionally

  • status

    Show local OpenPlanr id ↔ Linear id/url mapping from frontmatter (no Linear API calls)

  • push

    Create or update Linear project/issues for any planning artifact (EPIC/FEAT/US/TASK)

  • tasklist-sync

    Bidirectionally sync task checkbox state between local TASK files and Linear TaskList issues

Notes

Subcommands:
  init              Store PAT, choose allowed teams, save a default team
  sync              Pull workflow status (features/stories) + bidirectional task checkboxes
  push <artifact>   Create/update Linear entities at any granularity:
                      EPIC-XXX  → project + features + stories + tasklists
                      FEAT-XXX  → feature + its stories + its tasklist
                      US-XXX    → one story sub-issue
                      TASK-XXX  → one tasklist sub-issue
  status            Show local OpenPlanr ↔ Linear mapping (no API calls)
  tasklist-sync     Sync TASK checkbox lines with Linear task-list issues

Common flags:
  --dry-run         Show planned work without writes (push: no API; sync: read-only to Linear, no local writes)
  --update-only     push: only update existing linked entities, never create
  --push-parents    push: if a parent is not yet in Linear, push it first without prompting
  --team <id|key>   push: target any team selected during linear init

Examples:
  openplanr linear sync
  openplanr linear sync --dry-run
  openplanr linear push EPIC-001 --dry-run
  openplanr linear push FEAT-XXX --dry-run
  openplanr linear push US-054
  openplanr linear push TASK-015 --push-parents
  openplanr linear status --scope EPIC-001

openplanr linear init

Validate a Linear PAT, choose teams, and save a default team

Usage
openplanr linear init [options]

openplanr linear sync

Pull workflow status (features & stories) from Linear, then sync task checklists bidirectionally

Usage
openplanr linear sync [options]
Options for openplanr linear sync
OptionDescription
--dry-run

Read from Linear to compare, but do not write local files or update Linear issue bodies

Default: false

--update-only

Same as default for this command (only artifacts with Linear links are considered); reserved for future use

Default: false

--on-conflict <mode>

Status + task-checkbox conflicts: prompt | local | linear (default: prompt; non-interactive runs default to linear)

Default: "prompt"

openplanr linear status

Show local OpenPlanr id ↔ Linear id/url mapping from frontmatter (no Linear API calls)

Usage
openplanr linear status [options]
Options for openplanr linear status
OptionDescription
--scope <epicId>

Limit rows to an epic and its features, stories, and tasks in that scope

openplanr linear push

Create or update Linear project/issues for any planning artifact (EPIC/FEAT/US/TASK)

Usage
openplanr linear push [options] <artifactId>
Arguments for openplanr linear push
ArgumentDescription
artifactIdRequired

Artifact id: accepts EPIC-XXX (epic + subtree), FEAT-XXX (feature + stories + tasklist), US-XXX (one story), or TASK-XXX (one tasklist)

Options for openplanr linear push
OptionDescription
--dry-run

Show what would be created/updated without calling the Linear API

Default: false

--update-only

Only update entities that already have Linear ids in frontmatter; never create new project/issues

Default: false

--push-parents

If a parent in the chain is not yet pushed to Linear, push it first (upward attachment only: does NOT push the parent's siblings)

Default: false

--no-cascade

Push only the target artifact (and minimum parent chain when --push-parents is set). EPIC/FEAT pushes skip their descendants.

--team <id-or-key>

Target a team selected during openplanr linear init

--as <strategy>

Epic-only: mapping strategy. One of: project | milestone-of:<projectId> | label-on:<projectId>

openplanr linear tasklist-sync

Bidirectionally sync task checkbox state between local TASK files and Linear TaskList issues

Usage
openplanr linear tasklist-sync [options]
Options for openplanr linear tasklist-sync
OptionDescription
--on-conflict <mode>

When local and Linear differ: prompt, local, or linear (default: prompt; in CI, linear is used when not set)

Default: "prompt"

--dry-run

Show what would change without writing local files or mutating Linear issue bodies

Default: false