Pi: A coding agent for engineers who own their tools

aholbreich1 pts0 comments

Pi: A coding agent for engineers who own their tools | Alexander Holbreich<br>Skip to content

Go back<br>Pi: A coding agent for engineers who own their tools<br>3 Jun, 2026<br>I’ve been using coding agents daily for a while now. First Claude Code & Codex, and for the last weeks - almost exclusively pi . This isn’t a “switched from X to Y and never looked back” post. Each tool taught me something. But pi is the one that stuck.

Let me explain why, and what makes it different from the obvious alternatives.

The problem with thick harnesses

Claude Code is impressive. It ships with plan mode, sub-agents, a polished TUI, background bash, and the Agent View dashboard for dispatching multiple sessions. It packed with a lot of prompts by default and there are many invisible tricks that harness do for you.

The problem: the harness decides your workflow by that.

Plan mode kicks in when it wants to. Sub-agents follow Anthropic’s dispatch pattern. The tools are what they are - you can’t add one, you can’t change how they interact. When Anthropic ships a new feature, you adapt. When they change the pricing model, you adapt.

And of course its only one direction you need to install more skill to mitigate something. I’m still using Claude without any workflow skills.<br>Still annoyed by never ending permission prompts.

“Claude Code, Codex, OpenCode are great places to start, bute they limit what you believe is possible.”

The harness shapes your mental model of what agents can do. A thick harness shrinks that model. A thin one expands it.

What makes pi different

Pi ships with exactly four tools: read, write, edit, bash. That’s it. No plan mode. No sub-agents. No to-dos. No MCP. No permission popups!. The agent can read files, write files, edit them, and run commands.

Everything else you build yourself. Or more precisely: you tell the agent to build it.

Pi extensions are TypeScript files loaded at runtime - no build step, no npm publish, no compile. You can write one in 30 lines and have a new slash command or a custom tool available on the next turn. The agent can even write its own extensions: it creates the .ts file, runs pi install, calls /reload, and the tool exists.

It works today. Mario Zechner (the author of libGDX, and now pi) deliberately kept the core minimal so the extension surface becomes the product.

I’ll give you a concrete example. You want a /yeet command - git add . && git commit -m "msg" && git push, with an optional PR. Instead of waiting for a feature request, tell pi: “build a /yeet slash command extension.” It will write it. Pi has documentation about own SDK build in.

The same goes for model selection. Pi supports 25+ providers - Anthropic, OpenAI, Google Gemini, DeepSeek, Groq, Mistral, AWS Bedrock, OpenRouter, and more. I route exploration tasks through Haiku ($0.25/M tokens) or DeepSeek ($0.14/M) and reserve Opus for the actual code generation. Claude Code locks you into one Anthropic subscription at one price.

The session tree

Most coding agents give you a linear transcript. You go forward or you restart.

Pi’s sessions are a tree. Every entry has a parentId - messages, tool calls, compactions, model changes form a directed graph. You can fork at any point (/fork), jump to any branch (/tree), try approach A, fork, try approach B, compare, keep both.

For complex debugging or exploration, this is invaluable. You don’t lose context. You don’t have to redo work to explore an alternative path.

Where pi is weaker

I’m not going to pretend pi is perfect. Here’s what you lose:

pi lacksClaude Code hasBuilt-in Agent View TUI for session managementPolished dashboard with peek/replyGit worktree isolation out of the boxAutomatic sandboxingRow summaries via cheap models (Haiku status checks)Built-in dashboard intelligenceLarge community, extensive docsMassive user base, lots of tutorials<br>And honestly: pi expects you to know your workflow. It doesn’t come with issue tracking, task management, or opinionated project structures - you bring your own. In my case that means tl for lightweight task capture. If you want an opinionated tool that tells you how to work, pi will frustrate you. It’s a blank canvas. That’s the point - but it’s also a commitment.

Who should use pi

If you’re an experienced engineer who:

Already knows how you want to structure your development workflow

Wants to shape your tools rather than be shaped by them

Values model freedom (routing cheap models to exploration, expensive ones to generation)

Runs multiple agent sessions and wants them to coordinate

Prefers your skills (Markdown programs) to be harness-agnostic and portable

…then pi is worth a serious look.

If you’re just getting started with coding agents and want the smoothest possible experience out of the box - start with Claude Code. Learn what you want. Then come back to pi.

Bottom line

The “thin harness, fat skills” paradigm - coined by Gary Tan at Y Combinator - argues that 90% of agentic value lives in the skills...

agent agents code coding tools claude

Related Articles