Introduction
Why pi-code exists
I love Claude Code. It changed everything for me. But I can’t extend it, and I have no idea what’s going on inside.
pi-code exists because I wanted a coding agent I could actually open up, understand, and extend for my needs. The goal is to port as much of Claude Code’s functionality as possible, and then go further.
This isn’t a competitor. It’s a love letter with a fork button. If you enjoy Claude Code but wish you had more control, this is for you.
What is pi?
pi is the terminal-native coding agent. It runs in your terminal, connects to any LLM provider, and gives you full control over how the agent behaves through extensions, themes, hooks, skills, and commands.
What is pi-code?
pi-code is a set of extensions for pi. Opinionated, personal, and often inspired by Claude Code and other agents. It’s how I make pi work the way I want it to.
What makes it different
- Extensible from the ground up — features are extensions, not hard-coded. Don’t like how bash output renders? Replace the extension. Want a custom status bar? Write one.
- Multi-model — run Claude, GPT-4, Gemini, or any OpenAI-compatible model from the same interface.
- Multi-agent — spawn parallel agents with different models, roles, and tasks. Coordinate via shared task boards.
- Themeable — 14 built-in themes, every color token overridable. Your terminal, your palette.
- Claude Code compatible — hooks, MCP servers, slash commands, and CLAUDE.md context files work in both. Install once, use everywhere. (In progress — see Roadmap.)