Pi 1.0 Release Guide: MCP, Codemode and Pi Durable

TL;DR
Pi 1.0 adds built-in MCP through Codemode, a fullscreen TUI by default and Pi Durable. What changed, how to install it, and what breaks on upgrade.
Pi 1.0 shipped on October 1, 2026, and the headline is a reversal: the minimalist coding agent harness that spent a year saying it did not need MCP now has MCP built in, through a new sandbox called Codemode. The same release makes a fullscreen TUI the default, adds support for virtual models and deferred tool loading, and introduces Pi Durable, a separate experimental package for long-running agent applications. Earendil, the company behind Pi, says hundreds of thousands of people use Pi every week, which is a vendor claim we cannot verify. The Hacker News thread for the release reached about 1,340 points when our source desk read it.
Last updated: October 2, 2026
If you run Pi today, the upgrade checklist is under where it breaks. If you are choosing a harness, start with our Pi vs Claude Code vs OpenCode comparison and come back for what 1.0 changes.
What shipped in Pi 1.0#
| Change | What it is | Source |
|---|---|---|
| Codemode | A harness-side JavaScript sandbox that lets the model orchestrate tool calls. Native support for MCP, plus non-LLM models such as Jev and image models | Release post |
| Virtual models | Extension support for models that are really routers, for example plan with one model and implement with another | Release post |
| Deferred tool loading | Tools can be declared to the model only when needed | Release post |
| Cache warming | For Anthropic models | Release post |
| Mid-conversation system messages | Transcript-aware prompt and tool changes | Release post |
| Fullscreen by default | The TUI now runs fullscreen. Set tuiMode to "regular" to keep normal terminal scrollback | 1.0.0 changelog |
| Leaner Codemode | About 40% fewer prompt tokens. The changelog's example: a GPT-5.6 request shrinks from about 5,300 to 3,300 tokens | 1.0.0 changelog |
| MCP OAuth hardening | Credentials stored per server name and URL, RFC 9207 iss checks, step-up sign-in that keeps granted scopes | 1.0.0 changelog |
Pi Durable is the other half of the launch. Earendil describes it as "a new substrate for building long-running agentic applications", shipped as an experimental package separate from the coding agent so Pi itself can stay minimal. Both are MIT licensed.
Why Pi changed its mind on MCP#
Pi's site used to declare that it did not support MCP, and its creator wrote a post arguing you might not need it. Earendil's You Said No MCP! explains the change in three points:
- MCP moved. The team says today's MCP is not last year's, and MCP was already available in Pi as a community extension.
- The needed changes were useful anyway. Pi needed a sandbox with an interpreter to compose tools, and that same piece makes decision models like Jev easier to use. In the post's words, what Pi needs is "quite similar to what MCP needs".
- Tool metadata. In a Codemode world a tool can be visible to the model, deferred, or only callable from code. A plain MCP extension did not get enough metadata from Pi's tool loadout to do that well.
The post's most useful line for MCP server authors: the team thinks MCP should be much closer to OpenAPI with intelligent tool discovery, so servers should return structured data and be discoverable by their descriptions, instead of returning text tuned for harnesses that dump every tool into context.
Codemode in one paragraph#
Per Earendil, Codemode runs where the harness loop runs, not where bash runs, and its state lives in the session transcript instead of the file system. The model writes a short JavaScript script that calls tools, in any order and in parallel, which Earendil says avoids spending context on every intermediate call. In Pi, Codemode loads automatically when MCP is configured, or you can add it as a default tool. The post's demo uses Jev through Codemode to rate the tone of 167 open issues pulled from a Linear MCP server: 156 came back neutral and 11 mildly frustrated. That is Earendil's own demo, not an independent benchmark. For the model behind it, see our Jev release guide and the Cloudflare Clef follow-up.
Install and configure (from Earendil's docs)#
These commands come from the official release post and v0.99.0 release notes. We have not run them.
# macOS and Linux, from the Pi 1.0 release post
curl -fsSL https://pi.dev/install.sh | sh
# Windows, from the Pi 1.0 release post
powershell -c "irm https://pi.dev/install.ps1 | iex"
# Pi Durable (experimental), from the Pi 1.0 release post
npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord
The release notes that introduced MCP describe it this way: servers over stdio or streamable HTTP, with OAuth, come from an mcp.json (global, or per project once trusted) or from pi.registerMcpServer(), and are managed with /mcp and pi mcp add|remove|list|login|logout. Codemode is enabled through defaultTools or --tools, with codemode.mode and codemode.inlineBudget as settings. The post's tip for turning it on: ask Pi to reconfigure itself to enable Codemode.
Where it breaks#
- Fullscreen is now the default. It uses the alternate screen and its own scrolling, so you lose normal terminal scrollback. If you want the old behavior, set
tuiModeto"regular"or pass--tui-mode regular. A Hacker News commenter who had hit flicker bugs says fullscreen mode fixed them, so it is a real tradeoff. - Codemode scripts that probe for a tool. The changelog says scripts using
typeof tools.namemust now use"name" in tools. --providerwithout--modelnow errors. Before, it silently ran the default model from another provider.- Stored MCP credentials move. They are now keyed by server name and URL, and credentials stored by URL alone move to the first server that uses them.
- Pi Durable is experimental. Earendil labels it that way, so do not build on it without expecting churn.
- Open models and tool calls. One Hacker News commenter says a local open model driving an MCP tool hallucinated tool calls and that this stopped them from adopting Pi-style harnesses. That is one report on one model, but test your own model and tool pair before you rely on it.
What people are actually saying#
- Agreement from builders. One commenter is building a Slack on-call and support harness on the Pi SDK, picked it over Codex because it is more hackable and vendor-agnostic, and says the 1.0 release lets them simplify their architecture. Another switched to Pi to stop syncing skills and MCP configs across Claude Code and Codex (Hacker News).
- MCP support unlocks integrations. A commenter who runs an orchestrator that depends on a custom MCP server wrote that they can finally support Pi (Hacker News).
- The TUI objection. Several commenters question whether an agent belongs in a terminal at all, preferring a graphical editor integration, and others point to fullscreen mode as the answer to flicker and scroll-jump complaints (Hacker News).
- The reversal got press. The Register headlined it as Pi pulling a 180 on MCP, and quotes Earendil on keeping Pi minimal by splitting Pi Durable out (The Register). The r/LocalLLaMA thread is about MCP now being included by default; we read only its URL and title, not the comments.
Who should upgrade#
- Already on Pi: upgrade, then check your
tuiMode, any Codemode scripts withtypeof tools.name, and your MCP credentials. - Maintaining many MCP configs across agents: Pi's pitch is one hackable harness with MCP in core, which is the use case the commenter above described. Compare against OpenCode and the harness comparison.
- Running small open models: test tool-call reliability first.
- Building agent applications: watch Pi Durable, but treat it as a preview.
FAQ#
Does Pi 1.0 support MCP?#
Yes. MCP is built in as of 1.0, delivered through Codemode, per Earendil's release post. Before that it was available only as a community extension.
What is Codemode?#
A sandbox on the harness side where the model writes JavaScript that calls tools and combines their results, so only the final output enters context. Earendil explains it in You Said No MCP!.
What is Pi Durable?#
An experimental, separate package for long-running agentic applications. It shares code and principles with Pi but is not a replacement for the coding agent, per Earendil.
How do I get the old Pi terminal behavior back?#
Set tuiMode to "regular", or pass --tui-mode regular, per the 1.0.0 changelog.
Continue Reading#
- Pi vs Claude Code vs OpenCode - the harness comparison to read before you pick
- Herdr vs Pi vs tmux - running several agents side by side
- FX vs Pi: Minimal Agents Compared - the minimalist end of the harness spectrum
- Typesafe Jev Release Guide - the decision model Codemode can call
- OpenCode Developer Guide - another open harness with provider flexibility
Sources#
- Pi 1.0: Earendil's release post, install commands, Pi Durable (primary)
- Release: Pi 1.0.0: changelog with defaults, breaking changes and token numbers (primary)
- You Said No MCP!: why MCP moved into core, what Codemode is (primary)
- earendil-works/pi releases: v0.99.0 notes on MCP configuration and commands (primary, read from a search excerpt)
- Pi 1.0 on Hacker News: community discussion
- r/LocalLLaMA thread: community discussion (URL and title only, comments not read)
- Pi coding agent pulls a 180 and adds MCP support: The Register, press coverage
Get the next deep dive like this in your inbox
One email a week on News and the rest of the AI dev stack. Free.
Read next on AI coding tools
pi vs Claude Code vs OpenCode: Picking Your Agentic CLI
A decision-intent comparison of pi, Claude Code, OpenCode and Codex CLI as your main agentic coding harness in late 2026, with a verified capability matrix and pick-X-if verdicts.
10 min readHerdr vs pi vs tmux: Which Agent Harness Should You Run?
Herdr vs pi vs tmux compared against their own docs: which agent harness fits 2, 10, or 20 agents, and where Herdr genuinely loses.
9 min readTypeSafe Jev: Decision-Only Model Pricing and Benchmarks (2026)
TypeSafe's Jev returns typed decisions at $0.042 per million input tokens and 70-500 ms latency. Benchmarks, pricing and alternatives, verified October 2, 2026.
7 min readNew here? Start with
Technical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.







