Pi 1.0: the minimal agent harness ships its 1.0

Published Oct 02, 2026

Pi 1.0: the minimal agent harness ships its 1.0

Meta description (draft): Earendil shipped Pi 1.0: 111k GitHub stars, Codemode for MCP and Jev-class deciders, and Pi Durable for long-running agents. The minimal-harness counterpoint. —

Earendil shipped Pi 1.0 on October 1. The stable release of the minimal agent harness now has roughly a hundred thousand GitHub stars and has become the daily coding agent for some very large fraction of the terminal crowd. The HN thread sits at 1442 points and 475 comments, with a separate Pi Durable thread at 418. Both packages are MIT licensed, and the release cadence tells the stabilization story: v0.99.1 on September 29, v0.99.2 the next day, 1.0 the day after.

The philosophy is unchanged: a minimal system prompt, tree-structured shareable sessions, and an aggressive refusal to bake in features. Pi ships without sub-agents, plan mode, permission popups, built-in todos, or background bash; the site itemizes what they didn’t build and points each at its extension or package replacement. “There are many agent harnesses but this one is yours” is the whole pitch: adapt the harness to your workflow, or ask Pi to build the workflow into the harness, mid-session, with /reload keeping state.

The harness spectrum: minimal substrates vs feature-complete harnesses. Pi’s 1.0 adds composition without breaking the minimal line.

The harness spectrum: minimal substrates vs feature-complete harnesses. Pi’s 1.0 adds composition without breaking the minimal line.

What 1.0 actually adds

Seven items headline the release. Codemode is the one with catalog consequences: MCP tools become composable scripts an agent writes in a JavaScript sandbox, and the same native support extends to non-LLM models: Jev-class decision models and image models become tools the harness calls directly. The release post’s demo shows a routed session: Claude Opus plans, a Jev model watches the transcript and spots the switch from planning to implementation, GPT 6 Luna takes over implementation, and /session breaks down cost per model and cache use. A coding agent steering on a decision model as its router is the decision-model lane arriving inside the harness lane.

The rest of the seven: extension support for virtual models (one model name backed by different models per phase), deferred tool loading, cache warming for Anthropic models, mid-conversation system messages, a new TUI theme, and full-screen mode by default.

The Codemode turn has its own backstory, and it is the most honest part of the release. Two days before 1.0, Earendil published “You Said No MCP!” (you-said-no-mcp), acknowledging that pi.dev used to carry a proud declaration that Pi does not support MCP, plus more than one dismissive podcast statement, and that MCP is now supported in the core. The engineering logic, not just the reversal: their MCP extension ecosystem could not express what a Codemode world needs, because a tool has to be declarable as context-facing, Codemode-only, or deferred, and the extension metadata did not carry those trust levels. Building that loadout metadata also made Jev-class deciders first-class citizens: the post’s demo has Pi pull 250 open issues from Linear’s MCP, run each thread through typesafe/jev via models.classify (four workers in parallel, 750 ms per classification), and return a frustration census: 156 neutral, 11 mild, 0 angry, with per-issue verdicts stored under Codemode state for drill-down without refetching. MCP as “OpenAPI with intelligent tool discovery,” tools returning structured data, composition by JavaScript sandbox: that is the harness-side pattern the server ecosystem is being nudged toward.

Pi Durable, the second package

The harness was built for coding sessions; longer-running agent applications need process durability, resumable tasks, and surfaces beyond the terminal. Pi Durable (with @earendil-works/pi-ai and @earendil-works/chord) is the experimental substrate for exactly that: same minimalism, aimed at long-running agentic applications. Mario Zechner wrote up how it was crafted; treat the package as early access and the 1.0 harness as the production piece.

The demo’s four actors: Opus plans, Jev watches the transcript and calls the switch, GPT 6 Luna implements, /session prices the run.

The demo’s four actors: Opus plans, Jev watches the transcript and calls the switch, GPT 6 Luna implements, /session prices the run.

Why this matters to the local-AI story

Pi is 15+ providers out of the box, including Ollama alongside OpenRouter, Bedrock, Cerebras, and the frontier three: the harness is not the locked-in layer. Two days of releases this month carry the wider industry shape: TypeSafe’s Jev and its open clones, Ollama shipping the Jev API locally, Cloudflare’s Clef topping a vendor leaderboard, DeepSeek shipping Harness Desktop for mass-market local entry. Pi 1.0 is the terminal-native answer to the same question: what does the agent runtime look like when intelligence is purchasable per token and decisions are classifiable in milliseconds. The bet underneath the minimalism is that the durable moat is the harness an operator can read, change, and re-anchor, not the feature list bolted around it.

Sources: Pi 1.0 release post - pi.dev - github.com/earendil-works/pi - v1.0.0 release - You Said No MCP! - Pi Durable blog

Related on this site: DeepSeek Harness: the plugin agent runtime, 239k stars later - Ollama 0.35 ships the Jev API locally - Cloudflare ships Clef - Autonomous agent catalog

Discussion

Be the first to comment

Start a discussion

Got a take on this, a rig to show off, or a benchmark that says otherwise? Sign up and start the thread - your comment publishes instantly once you're in.