cd /news/ai-agents/pi-1-1-mcp-ships-after-a-year-of-nev… · home › topics › ai-agents › article
[ARTICLE · art-152789] src=byteiota.com ↗ pub= topic=ai-agents verified=true sentiment=· neutral

Pi 1.1: MCP Ships After a Year of “Never” — Upgrade Now

Earendil shipped Pi 1.1 on October 7, adding MCP support to the MIT-licensed coding agent nearly a year after Pi creator Mario Zechner said on November 30, 2025 that Pi would never support MCP, citing the roughly 18,000 tokens — 9% of a 200k context window — a single MCP server like Chrome DevTools loaded into context. Pi 1.1 adds Codemode, which runs agent-written JavaScript in a QuickJS sandbox so MCP tools addressed as `mcp__<server>__<tool>` are called at runtime and only script output returns to the model, plus additive tool modifiers (`pi -t +codemode,-write`), Claude Haiku 5.5 as `anthropic/claude-haiku-5-5`, and OSC 7501 status reporting. The release carries a breaking change: the dependency on `pi-codemode@^1.1.0` resolves to 1.2.0, which removed `MCP_TYPESCRIPT_PREAMBLE` and breaks ESM linking at startup for npm global installs.

read4 min views4 publishedOct 19, 2026
Pi 1.1: MCP Ships After a Year of “Never” — Upgrade Now
Image: Byteiota (auto-discovered)

On November 30, 2025, Pi creator Mario Zechner published a straightforward position: Pi would never support MCP. His reasoning was sound — a single MCP server like Chrome DevTools dumped roughly 18,000 tokens into context before the agent had done a thing. That’s 9% of a 200k context window, gone before the first file opens. Less than a year later, Earendil — the company that acquired Pi and employs Zechner — shipped MCP as a core feature. Pi 1.1, released October 7, is the polished follow-up. The reversal is not a flip-flop. It’s the explanation for Codemode.

What Pi Is (If You Haven’t Seen It) #

Pi is a minimal, MIT-licensed coding agent built around four tools: read, write, edit, and bash. Its entire system prompt fits under 1,000 tokens. Everything else — sub-agents, plan mode, approval prompts — is opt-in via TypeScript extensions. It is the opposite of Claude Code or Cursor: no bundled opinions, just a composable harness you extend yourself. In a 30-task benchmark, Pi completed 20 tasks at $0.028 per success. Claude Code completed 16 at $0.195 per success. The gap comes almost entirely from Pi sending roughly 3x less context per turn.

Why MCP Was a No #

Zechner’s original objection was not ideological — it was practical. MCP servers declare their full tool schema into the model’s context on every request. A browser-automation server brings in hundreds of tool definitions the agent will never call. The overhead compounds across turns. For Pi, whose entire value proposition is context discipline, an MCP server would have erased the advantage. His view: shell commands and code are more composable than any protocol layer.

What changed is that MCP added deferred tool — servers can now expose tools lazily, and Earendil contributed directly to that work. But Pi’s solution went further than just “use deferred MCP.” It built a sandbox.

Codemode: The Actual Fix #

Codemode flips the standard tool-call model. Instead of the agent picking a tool from a list in its context, the agent writes a short JavaScript script. That script calls tools — including MCP tools — when it runs. Only the script’s output goes back to the model. The 18,000-token MCP schema never enters the conversation.

The sandbox is QuickJS: no Node APIs, no direct filesystem or network access. MCP tools are addressed as mcp__<server>__<tool> and called with tools.mcp__<server>__<tool>(args). Scripts can parallelize calls and filter output before it hits context. One caveat: tool calls made inside a script are real. If the script errors partway through, the calls it already executed are not rolled back.

To add Codemode to a session: pi -t +codemode. To restrict the agent to Codemode only: set codemode.mode: "only" in config.

What Else Ships in 1.1 #

The tool modifier syntax is overdue. Previously, --tools replaced the default set entirely. Now you can use additive and subtractive modifiers: pi -t +codemode,-write adds Codemode and removes write without touching the rest. Pattern matching also works: --tools read,codemode,'mcp__radius__*'.

Claude Haiku 5.5 is now available as anthropic/claude-haiku-5-5, with adaptive thinking up to xhigh/max effort — useful for high-volume, budget-sensitive workloads. Pi 1.1 also adds OSC 7501 status reporting: terminals and dashboards that support the protocol get live Pi state (working, blocked, done, failed), which matters for teams running Pi in orchestration pipelines. GPT-6 Luna joins as a classifier model via the Decisions API, and codemode.models.classify() now accepts images for vision classifiers.

The Breaking Change You Need to Know #

Pi 1.1.0 has a dependency conflict that bites npm global installs. The package depends on pi-codemode@^1.1.0, which resolves to 1.2.0. That version removed MCP_TYPESCRIPT_PREAMBLE, breaking ESM linking at startup. The symptom: Pi fails immediately on launch. Track the fix on GitHub.

There are two clean fixes:

curl -fsSL https://pi.dev/install | bash

npm i -g --ignore-scripts @earendil-works/pi-coding-agent@1.2.0

If you’re on a version older than 1.0.3, also update your provider config: the Azure provider was renamed from azure-openai-responses to azure.

The pi.dev installer is the better long-term path. It manages exact dependency pins across releases, which is the root cause of this class of breakage. Earendil has committed to enforcing exact internal dep pins in future releases, but the npm package history already has the hole. See The Register’s coverage of the MCP reversal for more background on the broader story.

── more in #ai-agents 4 stories · sorted by recency
── more on @pi 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/pi-1-1-mcp-ships-aft…] indexed:0 read:4min 2026-10-19 · —