Skip to main content

Pairwit mechanical cat mascot

Pairwit

The coding agent that asks before it acts.

A calm terminal desk — Plan when you think, Build when you’re ready.
Writes and bash pause for Once · Session · Always · Deny.

pairwit.dev · Guide · PyPI · GitHub

PyPI version Python versions License


Install

macOS / Linux

pip install -U pairwit && pairwit

Windows

py -m pip install -U pairwit && py -m pairwit

Public alpha — APIs and UX may change. Feedback welcome.

On first launch, Pairwit opens a guided setup: provider → API key → model → connection check. Keys are saved to ~/.pairwit/.env.


Why Pairwit

Consent-first Mutating tools ask by default. Remember Once / Session / Always in .pairwit.permissions.
Plan / Build Plan to reason read-only; Tab into Build when you’re ready to change files.
One desk Chat, Files, Editor, and /schedule in a local Textual TUI — not a cloud watcher.
Your models Moonshot (Kimi), OpenAI, Anthropic, OpenRouter, DeepSeek, Ollama, and custom OpenAI-compatible endpoints.

What it is — and isn’t

  • Is: a consent-first coding agent for your terminal
  • Is: Plan/Build, approvals, sessions, /schedule
  • Isn’t: a full IDE or silent autopilot

Quick start

cd your-project
pairwit

Then ask anything. Attach with Ctrl+O, mention a file with @, switch Plan/Build with Tab.

Project rules live in .pairwit.md. Home config: ~/.pairwit/.


From a checkout

pip install -e .
pairwit
# or
python -m pairwit
pairwit/           # Python package
  ai/              # providers / streaming
  agent/           # coding loop + events
  tools/           # builtins + MCP
  domain/          # sessions, permissions, prompts
  tui/             # Textual app + theme + widgets/
  core.py          # attachments / mentions
docs/              # product docs
site/              # pairwit.dev (Cloudflare Pages)

Formerly Torso (and before that Greywit / Astro).


License

MIT — see the repo for details.

Metadata

Release files for pairwit 0.0.12

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

Source distribution (sdist)

Source distribution for pairwit 0.0.12
File Size Uploaded
pairwit-0.0.12.tar.gz 103.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pairwit 0.0.12
File Interpreter ABI Platform
pairwit-0.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 228.9 kB

Release files / pairwit-0.0.12.tar.gz

Download URL pairwit-0.0.12.tar.gz
Size 103.0 kB
Tags Source
SHA-256 checksum
How to use checksums
804235521dd200737de72bb662dfe3b849d49c4b52bd8eb8e7bc21f4435769cc
BLAKE2b-256 checksum
How to use checksums
450d520e37ae7b0a92a917296b3aaa7f87f28c7cbd6d9ae81bc02d8115281671
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / pairwit-0.0.12-py3-none-any.whl

Download URL pairwit-0.0.12-py3-none-any.whl
Size 125.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9310fb88fa1f16ae4b2fd6c0bd6b08eca36ae4ebf91b548f6817b84bd98a2196
BLAKE2b-256 checksum
How to use checksums
19d1948fe8922f435ce32f91b1316ff19ae0485f0e79df8fd3b2cfa552ac58a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

0.0.14

2 release files

0.0.13

2 release files

This release

0.0.12 This release

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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