Pairwit

Open a project. Ask. Keep moving.

A calm terminal desk — chat, files, editor, and schedule in one place. One install, Plan when you want to think, Build when you’re ready. Approvals stay optional.

pip install pairwit && pairwit
View source

Shipping now

/schedule — time on the desk

Queue later agent work in a full-height Schedule pane — same desk pattern as Files and Editor. Create a brief, set a due time, run now, or let Pairwit auto-fire while the TUI is open. No background daemon required.

Schedule in the user guide →

What Pairwit is — and isn’t

Identity is clearer when you name the edges.

Is

  • A desk-native coding agent for the terminal
  • Plan / Build modes so analysis doesn’t mutate by accident
  • Approvals for bash, write, and edit — Once, Session, or Always
  • An in-app editor, file tree, diffs, and session resume
  • /schedule — later jobs that fire while Pairwit is open
  • Multi-provider by design (Moonshot, OpenAI, Anthropic, Ollama, …)

Isn’t

  • Not a full IDE replacement or monorepo platform
  • Not an always-on cloud agent watching your machine
  • Not a 75-provider OAuth supermarket on day one
  • Not “Pi, but Python” — batteries and consent, not an extension mall
  • Not silent about side effects — mutators ask first

How to use

Interactive desk scenes styled from the real Pairwit TUI (chat cards + Files/Editor layout).

Files · Editor · Schedule Pairwit — kimi-k2.6 · moonshot 17:30:03

$ pip install pairwit && pairwit

Successfully installed pairwit

Launching desk…

The coding agent is online.

> Ask Pairwit anything… (Ctrl+O to attach)

One liner from your project root: pip install pairwit && pairwit

Full user guide — panes, editor, schedule, approvals, shortcuts →

Use cases

Where Pairwit earns its keep.

The journey

Astro → Greywit → Torso → Pairwit. Same agent, sharper name.

  1. Astro

    Early prototype name while the Textual desk agent took shape.

  2. Greywit

    Grey + wit — kimicode-aligned, briefly the public brand candidate.

  3. Torso

    Where Plan mode, consent gates, editor, and sessions really landed.

  4. Pairwit

    Locked brand. pairwit.dev, PyPI, and GitHub under one name — pair + wit.

Design philosophy

Opinions you can feel in the product.

Consent when you want it. Approvals are optional — turn them on when a leash helps; keep moving when it doesn’t.

Desk-native, not dashboard-native. A calm light TUI — cream canvas, clear hierarchy, cost and session stats without visual noise.

Batteries included. Editor, tree, diffs, Plan/Build, sessions, /schedule — not a blank harness that expects a plugin ecosystem on day one.

Extensible without rewriting the loop. Layers for AI, agent, tools, domain, and TUI so new surfaces can subscribe later instead of forking the core.