Back to vendors
P

Pi Coding Agent

Also known as: pi.dev

Visit site
Entry priceFree and open source under the MIT license, with no paid tier.Full pricing detail

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

agentic coding in the terminalcustom agent behavior built with extensionsscripted and CI runs in print or JSON modeembedding an agent in an app through the SDK or RPCcoding with local modelsbranching sessions to compare approaches

Target customers

developersagent buildersdevelopers who customize their own toolingteams running agents in containers

Deployment options

Local install on macOS, Linux and WindowsAndroid through Termuxnpm, pnpm or bun packageInside a container, VM or sandboxLocal models through llama.cppEmbedded through the TypeScript SDK or RPC mode

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.

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.

Free tier

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.

Agentic Index verified 2026-11-07

Contact us

Found a vendor we missed? Have feedback on the index? We'd love to hear from you.