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____` 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. On November 30, 2025, Pi creator Mario Zechner published a straightforward position: Pi would never support MCP. His reasoning was sound — loading 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 https://github.com/earendil-works/pi/releases/tag/v1.1.0 , 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, loading 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 loading — servers can now expose tools lazily, and Earendil contributed directly to that work https://pi.dev/changelog . 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