Skip to main content

lazyplan (lpui) — v0.30.1

Release PyPI License: MIT

Plan work with your coding agent, in the terminal.

lazyplan is one shared plan for you and your agent. You get a fast keyboard screen. Your agent gets a simple command line. Plans, milestones, and tasks stay in one place instead of disappearing into chat. Read-only git and PR provenance shows where each one landed.

See it in action →

Install

pipx install lazyplan-tui
lpui --help

On Windows, use the pip backend:

pipx install --backend pip lazyplan-tui
lpui --version

The shared home is %LOCALAPPDATA%\lazyplan\ and the default --actor is %USERNAME%. Plan text is read as UTF-8 or UTF-16 and written as UTF-8, so PowerShell 5 exports round-trip.

Prefer a system package or the one-line installer? See install options.

Start

cd ~/my-plan
lpui                     # first run detects agents and creates the plan store
lpui plan add --title "my-plan" --why "reason" --what "scope"
lpui

Working with a team? lpui setup --placement repo keeps the plan in the repo.

Want demo data first? Run lpui seed.

Why it feels different

  • One source of truth. The plan you see is the plan your agent reads. No copy-pasting context between chats.
  • Made for focus. Plans stay as one-line summaries until you open them. Detail is there when you need it.
  • Yours to keep. Local-first by default. Export or import any time. No account, no cloud, no lock-in.

New in 0.30

  • Three themes, one key. t cycles Catppuccin Mocha, an OLED-black void, and Latte. LAZYPLAN_THEME picks one at launch, and every screen and chart follows it.
  • A real GIT pane. Under the preview, the selected row shows its linked checkouts, branch and dirty state, ahead/behind counts, newest commits, and pull-request state.
  • A preview that stays put. The status, title, and breadcrumb stay fixed while the reason, scope, next tasks, acceptance, and notes scroll beneath.
  • One icon language and a calmer timeline. Plans, milestones, tasks, checkouts, commits, and pull requests share single-cell icons. The timeline card names the scoped plan, keeps every swimlane visible, and emphasizes the row under the cursor.

What you get

  • A plan tree with progress at a glance, plus milestones and tasks underneath.
  • A sticky preview of the reason, the next tasks, and what done means.
  • A GIT pane with the checkout, commit, and pull-request context for the row.
  • A read-only detail page for careful reading, with quick keys to edit and move work.
  • Claim, blocked, gate, and attention state on the rows that need it.
  • One place your agent can update while you keep the big picture.

Built to scale

The benchmark fixture holds 88 plans, 275 milestones, and 789 tasks. Query counts are deterministic and gated on Linux and macOS per change, with the same suite running on Windows nightly:

Path Before After
Tree load 909 queries / 120 ms 12 / 48 ms
list --json 7,853 / 560 ms 18 / 62 ms
export --format json 18,612 / 1,222 ms 26 / 27 ms
TUI refresh 5,148 / 557 ms 139 / 112 ms

Linux timings from the final sweep. See performance for the method, budgets, and per-platform ceilings.

How it works

  • Plans start as one-line summaries with progress. Open one to reveal milestones, then tasks.
  • The side column previews the selected row: why, what, next tasks, and acceptance progress, with a GIT card for the linked checkout and commits.
  • The timeline card at the bottom shows project, milestone, and task spans, with the scoped plan in its border.
  • The bottom line shows the keys that work right now. ? opens help; c opens the command palette; t cycles themes.
  • Your agent writes through the same command line. The screen updates as it works.

Everyday commands

lpui list                         # plans and progress
lpui plan show --id 1             # why, what, criteria, milestones
lpui task move --id 1 --to doing  # move work forward
lpui criterion tick --id 1        # tick the next acceptance item
lpui feed                         # recent activity

For your agent

The command line reads and writes the same plan, with porcelain rows, JSON, and clear exit codes:

lpui --actor helper --porcelain next
lpui --actor helper --porcelain note add --kind task --id 3 --text "Decision"
lpui --actor helper --porcelain list --tree
lpui --actor helper list --json

Use --porcelain in an active loop: writes answer with one tab-separated row and reads stay glyph-free. Use --json when you need full fidelity.

  • Coordinate. next claims the first eligible task with a renewable lease, so two agents do not take the same work. Renew or release the claim, note handoffs, and block parked work with a reason.
  • Prove. Relate each plan criterion to a proving task; lpui trace --plan 1 shows the evidence and lpui lint --plan 1 --strict gates the gaps.
  • Collaborate. Comments and mentions live on plans, milestones, and tasks. lpui share --plan 1 produces a read-only HTML or JSON snapshot; lpui sync merges plans by stable UID without overwriting conflicts.
  • Gate completion. task finish --require-pr --require-checks reads cached PR and CI evidence before done; --override REASON records an exception. A branch already recorded on another open task is rejected.
  • Import work. lpui issue import brings GitHub issues (live) or Linear exports in as plans or tasks with source refs. Imports are one-way and re-import only refreshes source metadata.
  • Use MCP. Hosts that support the Model Context Protocol can call lpui mcp for typed tools and resources; --read-only is available for reviewers.
  • Watch flow. lpui stats --since 7.days shows WIP, cycle time, aging, stale work, and reopened rows. The TUI Attention filter surfaces the same risks, and / searches titles, descriptions, notes, comments, claims, blocked reasons, and issue refs.

In the screen, space marks rows for bulk move/block/release with one undo. After each commit, link it and move the task. lpui audit --since 7.days --strict turns the three accuracy metrics into a CI gate. lpui setup installs read-only lifecycle hooks for detected agents; lpui setup --no-hooks removes them.

The first run installs the agent skill. lpui setup --placement repo generates the full contract in the repo. See the usage guide for every command and limit.

Your data

Plans live in one local database: shared in your home by default, or inside a repo with lpui setup --placement repo. Back up with lpui export --format json; restore with lpui import --file. See data and backup.

Learn more

MIT licensed. This repo plans itself: run lpui list.

Metadata

Release files for lazyplan-tui 0.30.1

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

Source distribution (sdist)

Source distribution for lazyplan-tui 0.30.1
File Size Uploaded Provenance Actions
lazyplan_tui-0.30.1.tar.gz 243.6 kB With provenance Details for lazyplan_tui-0.30.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lazyplan-tui 0.30.1
File Interpreter ABI Platform Actions
lazyplan_tui-0.30.1-py3-none-any.whl Python 3 none any Details for lazyplan_tui-0.30.1-py3-none-any.whl

Total release size: 544.8 kB

Release files / lazyplan_tui-0.30.1.tar.gz

Download URL lazyplan_tui-0.30.1.tar.gz
Size 243.6 kB
Tags Source
SHA-256 checksum
How to use checksums
77d520a93337373775b21e97462f70b6316b895db5b6d9885d026308b5955304
BLAKE2b-256 checksum
How to use checksums
9bedd4e6f63f62d85ceb09465090ea3bd80690086c15e9c1eb132291eca61654
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / lazyplan_tui-0.30.1-py3-none-any.whl

Download URL lazyplan_tui-0.30.1-py3-none-any.whl
Size 301.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8216c7ca5af99ab4e9a791411d63103b98e19707f83f659c1e5da1fe4c3f7a84
BLAKE2b-256 checksum
How to use checksums
e007d30823fde418027d9e78eeb904e6c9ef93b6f6b440c044a757a01d26a4fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Security for lazyplan-tui 0.30.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for lazyplan_tui-0.30.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.30.1 This release

2 release files Full 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