Pi Coding Agent
Also known as: pi.dev
Minimal, open source coding agent from Earendil for the terminal. It starts with four tools (read, bash, edit and write), and everything else comes from TypeScript extensions, skills and packages, with more than 5,000 community packages in its gallery. It supports models from 38 provider entries, built in MCP, a Codemode sandbox, session trees you can branch, and print, JSON, RPC and SDK modes. Free under the MIT license.
Pi is a minimal coding agent for the terminal from Earendil Inc., a public benefit corporation that also makes Lefos. Mario Zechner introduced it on his blog in November 2025 as an opinionated, minimal harness, and it is now developed under the earendil-works organization on GitHub, where the monorepo shows about 118,000 stars. The coding agent sits beside its building blocks: pi-ai, one API across many model providers, pi-agent-core, the agent loop, and pi-tui, a terminal UI library. Pi is MIT licensed, installs with one command or through npm, pnpm or bun, and runs on macOS, Linux, Windows and Android through Termux.
Given a goal and a working folder, Pi inspects files, runs commands and edits content over as many turns as the task needs. Four tools are on by default, read, bash, edit and write, with grep, find and ls available, and a Codemode tool lets the model write a short JavaScript script in a QuickJS sandbox that calls other tools in parallel and returns only the result. MCP servers connect over stdio or streamable HTTP with OAuth, and their tools can be exposed directly, loaded on demand or kept behind Codemode. Context comes from AGENTS.md and other context files, skills that load on demand and prompt templates.
Sessions are saved as trees, so a developer can rewind to an earlier message, branch, fork or clone a session, and export or share it, and long sessions compact with a summary while keeping the original entries. Steering messages redirect the agent mid run, and follow ups queue behind it. Pi leaves out subagents, approval prompts, plan mode, to do lists and background shell jobs on purpose and suggests tmux, containers or a TODO.md instead. Extensions written in TypeScript can add any of them, and Pi can write those extensions itself and reload them.
Pi is free, with no paid tier. It works with 38 provider entries, including Anthropic, OpenAI, Google Gemini and Vertex AI, GitHub Copilot, Mistral, Groq, OpenRouter, Azure OpenAI, Amazon Bedrock and Cloudflare, signed in by OAuth or an API key, plus local models through llama.cpp, custom providers and virtual models that route between them.
Print, JSON event stream and RPC modes and a TypeScript SDK let scripts and apps drive it. Pi runs with the permissions of the user who starts it and does not sandbox tool calls or ask before running a command. A tool allowlist and a project trust prompt limit what it can use and load, and the docs recommend a container or VM for untrusted work. There are no accounts, roles or security attestation.
It fits developers who want a small agent they can read and reshape, who switch models often, or who want to build their own agent on its SDK and packages. It fits less well for teams that want approvals, subagents and plan mode out of the box, a managed product with admin controls, or a security attestation.
Vendor details
Canonical URL
https://pi.dev
Category
Coding agent
Subcategory
Minimal open source terminal coding agent with TypeScript extensions, a community package gallery, built in MCP, Codemode, session trees, and SDK and RPC modes
Funding status
Independent. Developed by Earendil Inc., a public benefit corporation that also makes Lefos and Radius, under the earendil-works organization on GitHub, where the monorepo shows about 118,000 stars. Mario Zechner introduced Pi on his blog in November 2025. Funding is not stated on Earendil's own pages.
Company status
independent
Use cases & customers
Primary use cases
Target customers
Deployment options
Integrations
Pi connects to MCP servers over stdio or streamable HTTP with OAuth sign in, configured per user or per project, and exposes their tools directly, on demand or through Codemode. Models come from 38 provider entries, including Anthropic, OpenAI, Google, GitHub Copilot, OpenRouter, Mistral, Groq, Azure OpenAI, Amazon Bedrock and Cloudflare, plus local servers and custom providers in models.json. Extensions register tools, commands, providers and terminal UI, and the package gallery at pi.dev/packages lists more than 5,000 community packages, such as subagents, permission systems, browser tools, web search and to do lists. Sessions share to a private GitHub gist or a Radius link.
In practice
A developer wants an agent that does only what they set up. Pi starts with four tools, and when a plan mode or a review step is needed, the developer asks Pi to write the extension and reloads it.
A team wants a read only reviewer in CI. A pipeline runs Pi in print mode with only the read, grep, find and ls tools and posts the summary it writes to standard output.
A builder wants an agent inside a Node.js app. The SDK creates a session, streams events to the app's interface, and limits the agent to the custom tools the app registers.
Sources & related URLs
Related / legacy domains
Research sources
Agentic Index coverage score
9.0 / 14 capabilities · 64%
| Integrations & Tool Calling | Full |
|---|---|
|
Work happens through tools on the developer's machine. Read, bash, edit and write are on by default, grep, find and ls can be added, and PowerShell runs on Windows. MCP is built in and connects to servers over stdio or streamable HTTP with OAuth sign in, from a user file or a project file that loads after trust is granted. Extensions written in TypeScript register custom tools, and Codemode lets the model call tools and models such as classifiers and image generators from one script. Sourcepi.dev/docs/latest/cliread 2026-11-07 |
|
| Workflow Orchestration | Partial |
|
One agent works through a task turn by turn. Each turn sends the active branch, tools and skills to the model, runs every tool call it returns, and starts another turn while results or queued messages need one. Codemode can run several tool calls in parallel from one JavaScript script in a QuickJS sandbox, with at most two scripts running at a time in a process. Pi ships no subagents, workflow runtime or parallel agents by design, and community packages add them as extensions. Sourcepi.dev/docs/latest/how-pi-worksread 2026-11-07 |
|
| Knowledge Grounding & RAG | Partial |
|
Context is assembled for each request from Pi's base instructions, discovered context files such as AGENTS.md and CLAUDE.md, the active branch of the session, tool definitions and skill descriptions, with full skill instructions loaded only when needed. Prompt templates expand typed input, @ references bring in files, images, pasted text and shell output, and grep and find search the working folder. Pi keeps no index or embedding store over a codebase or a document collection. Sourcepi.dev/docs/latest/how-pi-worksread 2026-11-07 |
|
| Human Oversight & Guardrails | Partial |
|
There is no approval step before a command runs, by design, and the agent works with the permissions of the user who started it. The developer limits what it can do instead. A tool allowlist, excluded tools or no tools at all can be set for each run or app, a project trust prompt decides whether a folder's own settings, extensions and skills load, and steering messages and abort redirect or stop a run. Approval gates and permission systems are available as community extensions. Sourcepi.dev/docs/latest/securityread 2026-11-07 |
|
| Security, Identity & Governance | Not documented |
|
There are no accounts, organization roles, SSO or audit log, and no SOC 2, ISO 27001 or other attestation is named. The agent runs as a local program with the user's own permissions, does not sandbox tool calls, and leaves prompt injection from untrusted content outside its security boundary. The guidance is to give it only the files and services a task needs, keep credentials short lived and out of its environment, and run it in a container or VM for untrusted repositories. A security policy covers how to report issues. Sourcepi.dev/docs/latest/securityread 2026-11-07 |
|
| Observability & Auditability | Full |
|
Every session file records the prompts, responses, tool arguments, command output, file contents and extension messages of each turn in a published format, and /session shows the message count, token usage and cost. Sessions export as HTML or JSONL and share through a private GitHub gist or a Radius link, and JSON mode streams the events of a run to another program. The monorepo includes a telemetry package with vendor neutral contracts and a reference adapter. There is no log across an organization. Sourcepi.dev/docs/latest/sessionsread 2026-11-07 |
|
| Memory & State Persistence | Partial |
|
Every conversation is saved as a session file, grouped by working directory and stored as a tree. /tree moves between branches and lets a developer edit an earlier message and resubmit it, /fork and /clone copy history into a new session, and resume picks up where work stopped, with a summary attached when a branch is left. Compaction adds a summary and keeps recent messages without deleting the original entries. Nothing learned in one session carries into the next unless the developer forks or clones it. Sourcepi.dev/docs/latest/sessionsread 2026-11-07 |
|
| Deployment & Data Residency | Full |
|
Everything runs on the developer's own machine, on macOS, Linux, Windows or Android through Termux, and the agent can run fully inside a container, VM or sandbox, which the security guide calls usually the strongest practical option. Local models through llama.cpp, with a guide for NVIDIA RTX cards, keep inference on the user's hardware, and custom providers point at any compatible endpoint. There is no hosted service, so code and prompts go only to the model provider the user picks. Sourcepi.dev/docs/latest/securityread 2026-11-07 |
|
| Prebuilt Agents / Templates / Packs | Full |
|
The package gallery at pi.dev/packages lists more than 5,000 community packages of extensions, skills, themes and prompt templates, sortable by downloads, with subagents, permission systems, browser tools, MCP adapters, plan review and to do lists among them. Each installs with one command from npm or git, for the user or for one project, or loads for a single run. The listed packages come from outside authors, and none of them are published by Earendil. Sourcepi.dev/packagesread 2026-11-07 |
|
| Triggers & Channel Coverage | Partial |
|
A person or a program starts every run. Pi runs interactively in the terminal, in print mode for one off and scripted tasks, in JSON mode that streams the events of one run, in RPC mode where another process sends commands over standard input, and inside a Node.js or Bun app through the SDK. A running task can be steered or given a follow up. Nothing in Pi wakes the agent on a schedule, a webhook or an outside event. Sourcepi.dev/docs/latest/cliread 2026-11-07 |
|
| Model Flexibility & Routing | Full |
|
The developer picks the model. The provider list covers 38 entries, including Anthropic, OpenAI, Google Gemini and Vertex AI, GitHub Copilot, Mistral, Groq, OpenRouter, Hugging Face, Azure OpenAI, Amazon Bedrock and Cloudflare, with OAuth or API key sign in through /login. /model and a keyboard shortcut switch models mid session, flags set a model, a provider, a thinking level or a set of models to cycle through, custom providers live in models.json, and virtual models route between them. Local models run through llama.cpp. Sourcepi.dev/docs/latest/providersread 2026-11-07 |
|
| APIs / SDKs / MCP Extensibility | Full |
|
The TypeScript SDK embeds Pi in a Node.js or Bun process, with calls to create a session, send prompts, steer or abort a run, subscribe to output and lifecycle events, and choose or add tools. RPC mode takes JSONL commands from another process and returns responses and events, and JSON mode streams the events of a single run. Extensions register tools, commands, providers, event handlers and terminal UI, and the pi-ai and pi-agent-core packages expose the model API and the agent loop on their own. Sourcepi.dev/docs/latest/sdkread 2026-11-07 |
|
| Testing, Debugging & Optimization | Partial |
|
Testing a change is left to the developer. The session tree lets a developer return to an earlier message, edit it and run again on a new branch, or fork the session to try another approach beside the first, with a summary of the branch left behind carried across. Pi ships no evaluation harness, test cases, scoring or review step for checking a change to the agent, a skill or a prompt. Sourcepi.dev/docs/latest/sessionsread 2026-11-07 |
|
| Browser / Computer-use | Not documented |
|
Pi does not control a browser or a desktop. Its built in tools are read, bash, PowerShell on Windows, edit, write, grep, find and ls, and MCP and Codemode reach other tools through programmatic interfaces. Browser tools come from community packages in the gallery, such as one backed by a hosted browser service, which the user installs. Sourcepi.dev/docs/latest/cliread 2026-11-07 |
|
The Agentic Index coverage score grades every vendor Full, Partial or Not documented against the same 14 buyer facing capabilities, from public evidence only. Each capability links to how all vendors in the index score on it. How this evidence is graded
Pricing
Free and open source under the MIT license, with no paid tier.
No subscription. The only cost is model usage, billed by the provider the user signs in to, or nothing for a local model.
What is public
Pi is free and open source under the MIT license and runs locally with the model provider the user picks, or a local model.
Billing mechanics
No vendor subscription. Cost is whatever the chosen model provider charges for the usage Pi generates, or nothing for a local model.
Variable cost rationale
Pi itself is free and meters nothing. Model usage on the user's own key or subscription is billed by that provider, so spend tracks the provider's rates and how much Pi runs. Running a local model brings the model cost to zero.
Sales call required
No, self serve available
Free / trial
Free and open source under MIT, running locally with the user's own provider sign in or a local model
Lowest paid plan
No paid plan
Commercial notes
The SDK and the building block packages, pi-ai, pi-agent-core and pi-tui, sit in the same MIT licensed monorepo as the agent.
Key ambiguities
Total cost depends on which model Pi is pointed at and how much it runs. Pi itself has no price.
Missing data
No vendor pricing exists. Model spend is the only cost, and it differs for every user.
Related vendors
- Cognition — Maker of Devin, an autonomous AI software engineer
- 10Web — Agentic website platform whose AI agents build, host and manage…
- AgentUI — Managed AI app builder for operations teams that generates and hosts…
- Aider — Open source, model agnostic terminal coding agent that edits your…
- Amp — Amp is a coding agent from Amp Frontier Corporation that runs each…
- Anthropic Claude Code — Anthropic's agentic coding system across terminal, desktop, IDE, web…