Skip to content

Pi

Minimalist, self-modifying AI coding agent built by Mario Zechner after he found Claude Code's ergonomics regressed under feature pressure and OpenCode required forking to customize. The engine underneath openclaw — Peter Steinberger replaced his own agent core with Pi so he could focus on OpenClaw's personality/product surface.

Design principles

  • Minimal core tools: read, write, edit, bash. That's the whole contract. Everything else is a skill or extension.
  • Self-modifying. Ask Pi to add a feature to itself; it edits its own source. Non-technical users modify their TUI this way without knowing code. See self-modifying-agent.
  • No MCP. If you want MCP support, ask Pi to add MCP support. Reflects Armin's case-against-mcp.
  • Own abstraction over LLM-provider APIs — Mario disliked the Vercel AI SDK, wrote his own provider layer.
  • Extension points beat forking. Pi's rebuild made the plug-in surface the primary extensibility mechanism; Armin runs two trivial extensions, otherwise vanilla.

Architecture slice

  • Predictable deterministic wrapping around a stochastic LLM — "the LLM uristic nature is unpredictable, but everything around the LLM was nice and tidy and easy to understand."
  • TUI today, web UI in progress (Mario: "the TUI is obviously limited; the best alternative stack is the web because it works everywhere").
  • Used as the RL execution environment by at least one unnamed team doing agentic post-training — they run Pi inside their rollouts as a controllable coding-agent harness.

Relationship to OpenClaw

Pi is the coding-agent substrate; openclaw is the personal-assistant layer (WhatsApp/Slack/Telegram connectors, SOUL.md personality, heartbeat/cron). Both are open source. Pi's philosophy (stable, minimal, self-extensible) is what makes OpenClaw's "personality + plugins" layer tractable.

Users of note

  • armin-ronacher — daily driver; vibed a kids' game end-to-end, contributed code, wrote the slow-the-f-down blog post largely from Pi-era experience.
  • peter-steinberger — Pi runs inside OpenClaw.
  • andrej-karpathy — via OpenClaw, indirectly.

Cross-references