What it is
Pi is an open-source agentic coding harness that takes the opposite design stance from the heavyweight CLIs. The core ships four tools — read, write, edit, bash — and a slim TUI. Everything else (skills, sub-agents, plan mode, permission gates, path protection, SSH execution, sandboxing, MCP, custom editors, status bars) is composed via TypeScript Extensions. The pitch is "adapt Pi to your workflows, not the other way around."
Source lives in badlogic/pi-mono. Installable via npm i -g @mariozechner/pi-coding-agent.
Capabilities at a glance
- Sub-agents: yes — first-class, including a plan mode and dispatchable workers.
- Skills: yes — packaged reusable prompts/templates plus extension-provided skills.
- MCP servers: yes — full client integration alongside the four-tool core.
- Hooks: yes — extensions hook into tools, commands, keyboard shortcuts, and lifecycle events through the TUI runtime.
- Slash commands: yes — built-in plus extension-defined custom commands.
- Permissions / sandboxing: permission gates, path protection, SSH execution, and sandboxing all available as extensions.
- Plugins / extensions: yes — TypeScript extensions are the central design unit; the rest of the system is built on them.
- Multi-model: 15+ providers, hundreds of models — the broadest of any harness we've looked at.
- Sessions: tree-structured and shareable — branch the conversation, fork a side-quest to fix a broken tool without polluting the main session, then return.
- Surfaces: four operational modes — interactive TUI, print/JSON output, RPC, and SDK.
- Headless / SDK: yes — JSON, RPC, and SDK modes are all first-class, not afterthoughts.
- License: open source; you pay only for the underlying model API usage.
Why we're tracking it
- Server-shaped from day one. RPC and SDK are first-class modes — exactly what TeamDay needs from a harness it runs server-side at scale.
- Provider neutrality at an extreme. 15+ providers means a single Pi-backed agent can swap from Claude Opus to a self-hosted Qwen without touching the agent definition.
- Tree sessions. Branching a session to fix something without poisoning the main thread is a primitive we'd use heavily on long missions.
- Minimal core, big extension surface. TypeScript extensions match how TeamDay's own integration layer is written — much less impedance than wrapping a closed runtime.
Status in TeamDay
Coming soon. Pi is on the roadmap and looks like the strongest fit yet for the "cheap, headless, branchable, provider-agnostic" agent slot. The live harnesses today are Claude Code, Codex, and Gemini CLI; opencode and Forge are also tracked.
Learn more
- Project site: pi.dev
- Source: github.com/badlogic/pi-mono
- npm: @mariozechner/pi-coding-agent