Pi is an open-source AI coding agent that runs in the terminal. It was created by Mario Zechner (badlogic), known as the author of libGDX, and is now published by Earendil Works under the MIT license. Its defining trait is a design principle of “primitives, not features.” Rather than baking in trendy capabilities such as sub-agents or plan mode, Pi lets you assemble what you need yourself through TypeScript extensions, skills, and prompt templates. It supports more than 15 LLM providers including Anthropic, OpenAI, and Google, and lets you switch models mid-session. With an SDK and an RPC mode, it works not only as an interactive tool but also as an agent foundation you can embed in your own applications.
Key Features
- Minimal core plus TypeScript extensions: The built-in toolset is limited to read / write / edit / bash plus search utilities (grep, find, ls). Anything missing is added as a TypeScript extension, so you can build in Git integration, permission gates, custom compaction, and more on your own terms
- Support for 15+ LLM providers: Anthropic, OpenAI, Google Gemini / Vertex, Azure OpenAI, Amazon Bedrock, Mistral, Groq, xAI, DeepSeek, OpenRouter and others, plus local llama.cpp. Beyond API keys, it also supports logging in through Claude, ChatGPT, or GitHub Copilot subscriptions, and you can switch models mid-session with the
/modelcommand or Ctrl+P - Tree-structured session management: Conversation history is saved automatically to
~/.pi/agent/sessions/, and/treelets you branch from any earlier point. Sessions can be forked or cloned, long conversations can be compacted automatically or manually, and sessions can be exported to HTML or a GitHub gist for sharing - Skills and package sharing: Skills that follow the Agent Skills standard can be invoked with
/skill:name. Extensions, skills, and themes you build can be bundled as “Pi packages” and distributed via npm or Git, installed withpi install npm:@user/packageorpi install git:github.com/user/repo - Four operating modes (TUI / print / RPC / SDK): In addition to the interactive TUI, there is a print mode that emits results as JSON, an RPC mode that exchanges JSONL over stdin/stdout (
pi --mode rpc), and an SDK for embedding it directly as a Node.js library. This lets you drive the agent from languages other than Node.js - Comfortable TUI ergonomics: Fuzzy file search with
@, external editor launch with Ctrl+G, shell execution with!command, and image and clipboard handling. You can also queue your next instruction while the model is still working
Pricing
| Plan | Price | Highlights |
|---|---|---|
| Pi itself (OSS) | Free (MIT license) | All features available; source published on GitHub |
| LLM usage | Pay-as-you-go or subscription per provider | API keys for Anthropic, OpenAI, etc., or Claude / ChatGPT / GitHub Copilot subscriptions |
Pricing is current as of August 2026. Pi itself has no billing of its own; costs are incurred on the LLM provider side. Check the official site for the latest information.
You can install it with either of the following:
curl -fsSL https://pi.dev/install.sh | shnpm install -g --ignore-scripts @earendil-works/pi-coding-agentToken usage (input, output, cache reads and writes, hit rate) and estimated cost are shown continuously in the TUI footer, so you can keep an eye on spending as you work.
Pros & Cons
✅ Pros
- The tool itself is MIT-licensed open source, with no cost for the harness
- No vendor lock-in ─ you can move between 15+ providers and local models
- The small core makes its behavior easy to understand and trace
- Extensions, skills, and themes can be distributed via npm or Git, making workflows easy to share within a team
- The SDK and RPC mode make it a usable foundation for embedding agent capabilities into your own tools
- Tree-structured sessions make it easy to go back and retry from a specific branch point
⚠️ Cons
- Sub-agents, plan mode, MCP integration, and permission prompts are not included by default; you have to write an extension or find an existing package
- Writing extensions requires TypeScript knowledge, which puts it out of reach for non-engineers
- LLM usage is billed separately, so it is not free end to end
- It assumes a terminal workflow and is not a fit for people who want a GUI or IDE integration
- As a relatively new project with individual origins, it changes faster than tools from large vendors
Comparison with Similar Services
| Criteria | Pi | Claude Code | OpenCode | Aider |
|---|---|---|---|---|
| Provider | Earendil Works (Mario Zechner) | Anthropic | SST | Community (created by Paul Gauthier) |
| License | MIT (OSS) | Proprietary | OSS | OSS |
| Model support | 15+ providers plus local | Mainly Claude | Multiple providers | Multiple providers |
| Design approach | Minimal core, assembled with extensions | Integrated features included by default | TUI-focused, multi-model | Git-centric, editing-focused |
| Sub-agents / plan mode | Not built in (implement via extensions) | Built in | Partially supported | Not available |
| Embedding | SDK and RPC mode available | Mainly via CLI | Server mode available | Mainly script integration |
Who Is It For
- Developers who find the fixed workflow of existing coding agents restrictive and want to reshape it around their own process
- People who want to compare multiple LLM providers side by side, or combine cloud models with local ones
- Engineers who want to embed agent capabilities into their own tools or services using the SDK or RPC mode
- People who prefer not to rely on a black box and value being able to read the source
- Anyone who wants to keep branches of trial and error as sessions and revisit alternative routes later
On the other hand, if you want something that works well out of the box with no configuration, a tool with richer built-in features such as Claude Code is the more natural fit.
Summary
Pi is aimed at people who want room to build on top of an AI coding agent. Keeping the core small and delegating even sub-agents and plan mode to extensions is a deliberate trade of convenience for control. If you can write TypeScript, the freedom to encode your own development workflow into the agent is considerable. A reasonable way in is to install the MIT-licensed core, try it at a small scale with API keys or subscriptions you already have, and then look for extensions or packages once you can see what is missing.