Compatibility notice · applies to e 0.100.0 and later

Why some extensions will not run on e

e is a minimal fork of the pi coding agent. It follows the strict rules set out in the founding post, "What I learned building an opinionated and minimal coding agent" by Mario Zechner: a minimal system prompt, a minimal toolset, no built-in to-dos, no plan mode, no MCP, no background bash, no sub-agents. The full list of binding commitments is on the promise page.

Upstream pi has added features that conflict with those rules. e does not carry them, so an extension that depends on them cannot work in e.

What e does not have

What this means for an extension

If an extension declares one of these surfaces, e will not load it as written. e checks for them at install time and prints a warning that points here. The extension may still work once its author removes the deferred or loadout behavior, because ordinary tools, commands, and event hooks are supported.

Why e will not add them

Each of these features hides part of what the model sees. The founding post asks for the opposite: the user should be able to inspect every aspect of the interaction, and no harness should inject context that is not visible in the UI. A tool the model can call but cannot see, or a tool list that changes between requests, breaks that. e treats such a change as a violation of its promise, not a missing feature.

What to do