Skip to content
← Tools / Skills
Toolbadlogic/10 trustVerified
Pi logo

Pi

Minimal, adaptable terminal coding harness — unified LLM API, TUI, skills, and MCP support.

Visit official site →

About

Pi is a minimal, adaptable terminal coding harness from the pi-mono toolkit by badlogic (Mario Zechner). It takes the opposite approach of feature-heavy agent IDEs: a small, hackable harness with a unified LLM API, a terminal UI, skills support, and MCP integration. With 105K+ GitHub stars, it has become one of the most popular open-source agent harnesses for developers who want to understand and modify every layer of their coding agent rather than accept a black box. Its minimalism is the feature — the codebase is small enough to read in an afternoon.

The honest picture: Pi is a harness, not a finished product — you assemble your own agent experience from its primitives, which demands more effort than installing Cursor or Claude Code. Minimal means fewer guardrails out of the box. Its popularity partly reflects the broader 2026 backlash against opaque agent tooling, so evaluate it on what it does for your workflow rather than star count.

What it can do

  • Unified LLM API across providers
  • Terminal UI for interactive agent sessions
  • Skills system for reusable agent behaviors
  • MCP server integration
  • Minimal hackable codebase readable in an afternoon

Setup

Clone github.com/badlogic/pi-mono, install dependencies, configure your LLM provider API key, and launch the TUI. Extend with custom skills and MCP servers as needed.

Prerequisites

Node.js; an LLM provider API key; comfort reading and modifying harness code.

Use cases

ai-agentsopen-sourceclideveloper-tools

Works with

Trust score — 8/10

/10 trustVerified

Scored 8/10 (verified tier, metrics-v1). Evidence: Verified via vendor site/docs/GitHub and reputable coverage, wave 54; Trending score 83/100 from researcher assessment.

★ 105,000 GitHub stars

Sources

Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.