Key highlights:
• Radical minimalism — four built-in tools, no sub-agents, no plan mode, no bundled MCP. If you want more, you extend it.
• TypeScript extensions — add custom tools, sub-agents, plan mode, permission gates, git checkpointing, MCP, or even Doom, as first-class code you write or install.
• 30+ providers — Anthropic, OpenAI/Codex, Gemini, GitHub Copilot, DeepSeek, Groq, Cerebras, xAI, OpenRouter, local `llama.cpp`, and more, behind one unified API.
• Session tree with branching — sessions are JSONL trees; `/tree`, `/fork`, and `/clone` let you rewind and explore alternate paths without losing history.
• Four run modes — interactive TUI, print/JSON headless, RPC for process integration, and an SDK for embedding in your own apps.
What Pi Is (and Isn't)
Most coding agents compete on features. Claude Code has sub-agents, plan mode, hooks, and MCP baked in. Cursor bundles an editor. Codex ships an opinionated workflow. Pi goes the other way: it is a minimal harness. By default the model gets four tools — read, write, edit, and bash — and that's it.
The philosophy is stated plainly in the docs: adapt Pi to your workflow, not the other way around, without forking Pi internals. If you want something Pi doesn't do, you either ask Pi to build it for you, or you install a third-party Pi Package that adds it. Sub-agents, plan mode, custom compaction, permission gates, git auto-commit — none of it is core, all of it is available as extensions.
That sounds like it would make Pi harder to use than a batteries-included tool. In practice it makes the core small enough to understand completely, which is the whole point. You can read the agent loop, know exactly what the model can and can't do, and add capabilities as reviewed TypeScript code instead of opaque config flags.
Installation
Pi installs as a global npm package or via a one-line script:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
Authenticate with an API key or an existing subscription:
The Extension Model
The heart of Pi is its extension API. Extensions are TypeScript modules that hook into the agent at runtime:
// e.g. gate dangerous commands, log, checkpoint git
From that single API, the community has built the things other agents hard-code:
Read the Full Deep Dive
This is a condensed version. The full article includes architecture diagrams, code examples, comparison tables, and practical use cases.
👉 Read the complete analysis on andrew.ooo
Topics: pi, pi-coding-agent, coding-agent, cli, terminal

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.