Pi - multi LLM CLI coding agent

Mario Zechner has launched pi, a multi LLM provider CLI coding agent.

Here’s a post about how they built it and some of the design decisions behind it.

The most interesting is how the tool doesn’t include a lot of the complex features that are common on these tools now:

pi is opinionated about what it won’t do. These are intentional design decisions to minimize context bloat and avoid anti-patterns.

No MCP. Build CLI tools with READMEs (see Skills). The agent reads them on demand. Would you like to know more? If you must, use mcporter.

No sub-agents. Spawn pi instances via tmux, or build your own sub-agent extension. Observability and steerability for you and the agent.

No permission popups. Security theater. Run in a container or build your own with Extensions.

No plan mode. Gather context in one session, write plans to file, start fresh for implementation.

No built-in to-dos. They confuse models. Use a TODO.md file, or build your ownwith extensions.

No background bash. Use tmux. Full observability, direct interaction.