Skip to main content
Pi Logo

Welcome to Pi

Pi is a minimal terminal coding harness that puts you in control. Unlike other coding agents, Pi doesn’t force you into a specific workflow. Instead, you adapt Pi to match how you work — without forking or modifying Pi internals.

What Makes Pi Different

Pi ships with powerful defaults but intentionally skips features like sub-agents and plan mode. Instead, you can:
  • Ask Pi to build exactly what you need
  • Install third-party Pi packages that match your workflow
  • Create custom extensions, skills, and prompt templates
  • Share your customizations via npm or git

Quick Start

Get Pi running in minutes with a simple npm install

Installation

Detailed setup for all platforms and API providers

Interactive Mode

Learn the powerful terminal interface

Customization

Extend Pi with custom tools and workflows

Key Features

  • Interactive: Full terminal UI with session management
  • Print/JSON: One-shot responses for scripting
  • RPC: Process integration over stdin/stdout
  • SDK: Embed Pi in your own applications
  • Extensions: TypeScript modules for custom tools, commands, and UI
  • Skills: On-demand capabilities following Agent Skills standard
  • Prompt Templates: Reusable prompts with variable substitution
  • Themes: Customizable colors and styles with hot-reload
  • Pi Packages: Bundle and share via npm or git
Pi supports 20+ LLM providers through unified APIs:Subscriptions (OAuth):
  • Anthropic Claude Pro/Max
  • OpenAI ChatGPT Plus/Pro (Codex)
  • GitHub Copilot
  • Google Gemini CLI
  • Google Antigravity
API Keys:
  • Anthropic, OpenAI, Azure OpenAI
  • Google Gemini, Vertex AI, Amazon Bedrock
  • Mistral, Groq, Cerebras, xAI
  • OpenRouter, Vercel AI Gateway, and more
  • Any OpenAI-compatible API (Ollama, vLLM, LM Studio)
  • Sessions stored as JSONL with tree structure
  • In-place branching without creating new files
  • /tree command to navigate and switch branches
  • Manual and automatic context compaction
  • Export to HTML or share as GitHub gist
Pi gives models access to your codebase through tools:
  • read - Read files with offset/limit support
  • write - Create new files
  • edit - Make precise edits to existing files
  • bash - Execute shell commands
  • grep, find, ls - Optional file search tools
Extensions can replace or augment these with custom implementations.

Philosophy

Pi is aggressively extensible so it doesn’t have to dictate your workflow. Features that other tools bake in can be built with extensions, skills, or installed from third-party Pi packages.
No MCP — Build CLI tools with READMEs (see Skills), or build an extension that adds MCP support. No sub-agents — Spawn Pi instances via tmux, or build your own with extensions, or install a package. No permission popups — Run in a container, or build your own confirmation flow with extensions. No plan mode — Write plans to files, or build it with extensions, or install a package. No built-in to-dos — They confuse models. Use a TODO.md file, or build your own with extensions. No background bash — Use tmux for full observability and direct interaction. Read the blog post for the full rationale.

Packages Overview

Pi is built as a monorepo with multiple packages:
PackageDescription
@mariozechner/pi-coding-agentInteractive coding agent CLI
@mariozechner/pi-aiUnified multi-provider LLM API
@mariozechner/pi-agent-coreAgent runtime with tool calling
@mariozechner/pi-tuiTerminal UI library
@mariozechner/pi-web-uiWeb components for AI chat
@mariozechner/pi-momSlack bot integration
@mariozechner/pi-podsCLI for managing vLLM deployments

Next Steps

Get Started

Install Pi and run your first session

Providers & Models

Set up your LLM provider authentication

Architecture

Understand how Pi works under the hood

Examples

Browse extension and SDK examples
Join the Discord community for support and to share your Pi packages.

Build docs developers (and LLMs) love