Pi is a minimal, extensible terminal coding agent. It ships powerful defaults but omits sub-agents, plan mode, and permission popups by design - you build or install those as TypeScript extensions.
What Pi is
Pi is a minimal, aggressively extensible agent harness. The core stays tiny and leaves features like MCP, sub-agents, permission popups, and background bash out of the box. You build what you need through extensions, skills, and community packages.
Key features
-
Four runtime styles - full TUI, one-off JSON output, RPC over stdin/stdout, or embeddable SDK.
-
15+ providers, hundreds of models - switch mid-session.
-
Branching session trees - sessions can be exported or shared.
-
Context shaping - project instructions, system prompt overrides, compaction rules, skill packs, and dynamic context extensions.
-
Real-time steering - steer or queue follow-ups while a task is running.
Install
curl -fsSL https://pi.dev/install.sh | sh
Or via npm/pnpm/bun:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
Use case
Pi is best for developers who want a small, composable agent runtime and are willing to assemble their own tooling. It is not a batteries-included product like Claude Code or Codex.
License
MIT.
Honest caveat
Pi’s minimalism is deliberate but can feel underpowered out of the box. Expect to install or write extensions for anything beyond basic chat-and-edit workflows.