Why e exists
The short answer, first: on 29 September 2026, the pi coding agent shipped the exact features its founding pitch had promised to never build. e is the fork that keeps the original promise, as code, forever. If you want the complete commitments, read the e promise.
The promise came first
pi earned its audience with a list of things it would refuse to do. Its author's blog post, its documentation and its homepage all advertised the same design: a minimal terminal harness. No MCP. No sub-agents. No plan mode. No permission popups. No background bash. Extend it yourself if you want more, or install a third-party package. The pitch was credible precisely because it was a list of refusals. A harness small enough to read is a harness you can trust.
Version 0.99.0 shipped the refusals
On 2026-09-29, pi 0.99.0 added MCP, codemode and tool search as built-in extensions: an MCP server config in mcp.json, a /mcp command, a JavaScript sandbox that calls tools in parallel. The same release reshaped the theme system and added classifier models. Users pushed back across GitHub, Hacker News and r/PiCodingAgent, on exactly the founding ground: the product had sold itself on the things it said it would never be.
Two days later, 0.99.2 softened the mechanics: MCP servers would stay out of the way, stop blocking the first prompt, and be demoted to a single system-prompt line. This was an honest landing fix. It did not reverse the direction. The feature set was now permanent, and the homepage still said otherwise.
The fork is the argument
Arguing on an issue tracker is one way to dissent. Forking is the other. e's position is simple: the refusals were the product. The four tools and one loop are excellent engineering, and e keeps every line of that. What e deletes is the contradiction: MCP, codemode and tool-search are carved out of the codebase entirely, not switched off. You cannot opt back in, because there is nothing to opt into. That is what makes e minimalist in the way pi's founders meant it, before 0.99.0 redefined the word.
A promise you can keep only by configuration was never kept. A promise kept by deletion cannot be broken quietly.
Respect for upstream
Without the pi project, e would not exist, and it says so in the license file and the README. Upstream is MIT licensed, actively maintained and full of good ideas; e cherry-picks its fixes weekly. The disagreement is about defaults and identity, not about people. If upstream ever returns to the original minimalist pitch, e will happily have made itself redundant. That is not a threat to e. It is what winning would look like for e.
Quick answers
Why does e exist? Because pi 0.99.0 (2026-09-29) shipped the features its pitch had refused. e continues the original design.
Isn't this a hostile fork? No. MIT license kept, attribution kept, fixes flow upstream-to-e weekly. The disagreement is architectural, and the fork expresses it politely.
Can e drift into bloat too? The nine commitments on the promise page are the guardrail, and every release is checkable against them in source.