## Short

- Is Pi another Claude Code clone? — no.
- Is it better than Claude Code out of the box? — also no.
- Is it interesting? — very.
- Should every developer switch to it? — absolutely not.
- Should power users learn it? — yes, because it teaches you what an agent harness actually is.

Pi is not exciting because it has more features. It is exciting because it has fewer features and lets you build the missing ones yourself.

That sounds like a joke, but it is the whole point.

<div data-long-version="true">

## What is Pi?

[Pi](https://pi.dev/) is a minimal terminal coding harness by Mario Zechner. The important word is not "coding" and not even "agent." The important word is **harness**.

We got used to treating coding agents like finished products. Claude Code gives you the workflow, the permissions, the planning style, the sub-agent story, the safety story, the UI story, and the opinion about how the model should behave. Cursor does the same but inside an editor. Codex does it with the app shape. Opencode does it with a very nice TUI.

Pi feels different because it does not pretend to know your final workflow. The official tagline is basically: adapt Pi to your workflows, not the other way around. That is such a simple sentence, but it changes the framing completely.

Instead of "does this tool have plan mode?", the Pi answer is "build plan mode, install one, or decide your project does not need it."

That is very annoying if you want a product.

That is very freeing if you want a system.

![Pi video preview from IndyDevDan's deep dive](./images/pi-harness/indydevdan-pi.jpg)

</div>

## <span data-nail-ordinal>First</span> reason Pi matters — small core

Pi starts from a tiny place. The mental model is simple: the agent can read, write, edit, and run bash. The rest is not treated as sacred product surface. It is treated as something you can compose.

This is why the videos about Pi all end up sounding a little like Neovim content. Nobody sells Neovim by saying "look, it has the best defaults for every developer." People like it because they can make it weirdly personal. Their keymaps, their plugins, their split panes, their fuzzy finder, their colors, their strange little scripts they refuse to explain to anyone else.

Pi has that energy.

And honestly, coding agents needed one of these. We already have enough tools trying to be the one true interface for all software work. A small harness gives us another path: keep the core simple, expose the edges, and let serious users make their own bad decisions.

I mean this in a good way.

<div data-long-version="true">

## <span data-nail-ordinal>Second</span> reason Pi matters — tree sessions

The session model is probably my favorite idea here. Pi stores sessions as trees, and you can use `/tree` to move through previous points and branch from them.

This sounds small until you compare it to normal AI chats. Normal chats are linear. You ask something, the model answers, you correct it, it answers again, and after a while the whole thread becomes a soup of half-abandoned plans, wrong assumptions, fixed assumptions, logs, apologies, and "actually do this instead."

Branching is cleaner.

You can explore one approach without poisoning the main path. You can try a risky refactor, realize it was dumb, and jump back. You can preserve the moment before the model became too confident about a wrong direction.

This is one of those features that feels obvious after you see it. Coding work is not linear, so why are agent sessions linear?

</div>

## <span data-nail-ordinal>Third</span> reason Pi matters — context is yours

Most agent tools talk about context like it is a magical warehouse. "Bigger context window." "More files." "More memory." Cool, but bigger context is not automatically better context.

Pi is interesting because it puts context engineering closer to the user. Project instructions live in `AGENTS.md`. You can use `SYSTEM.md` to replace or append the system prompt. Older messages can be compacted. Skills and prompt templates can be loaded when needed instead of stuffing every possible instruction into the model forever.

The official docs say Pi is token efficient because of its minimal system prompt. That matters. If your agent starts with ten thousand tokens of behavior before it even reads your codebase, you are already paying for someone else's product decisions.

Sometimes those decisions are good. Claude Code is popular for a reason.

But sometimes you want to be the person making those decisions.

## <span data-nail-ordinal>Fourth</span> reason Pi matters — extensions are the product

The most important Pi idea is extensions. TypeScript extensions, skills, prompt templates, themes, packages. This is where Pi stops being a CLI and starts being a build-your-own-agent workbench.

Want a custom footer? Build it.

Want a tool counter? Build it.

Want sub-agents? Pi does not ship that as a default religion. Build it, install it, or spawn Pi instances and orchestrate them yourself.

Want a "till done" behavior where the agent has to maintain a task list and cannot wander away? Build it with hooks.

This is also where I need to be honest: this is not beginner-friendly in the same way Claude Code is beginner-friendly. If you just want to open a repo and say "fix this bug," Pi may feel like extra homework.

But for power users, the homework is the feature.

<div data-long-version="true">

## The video rabbit hole

The videos in my notes all circle the same point from different angles:

- [Learn 90% Of Pi Agent in Under 17 Minutes](https://youtu.be/G2jJ1c0q_oA) is the quick orientation. Install it, understand providers, understand sessions, start moving.
- [How I Turned Pi Into the Ultimate Coding Agent](https://youtu.be/6xXjHM3V1zM) is the Neovim-style pitch. It is less "use this exact setup" and more "look how far the harness can bend."
- [The Pi Coding Agent: The ONLY REAL Claude Code COMPETITOR](https://youtu.be/f8cfH5XX-XU) is the advanced agentic engineering argument: hooks, widgets, sub-agent systems, agent teams, meta-agents, and the whole "hedge against Claude Code" thesis.

I do not fully buy the "only real competitor" wording, because I think the category is splitting. Codex App, Claude Code, Cursor, Opencode, and Pi are not all trying to be the same thing anymore.

But I do buy this:

Pi is one of the clearest examples of the difference between an **agent product** and an **agent harness**.

</div>

## The uncomfortable part

There is a reason polished tools win.

Most developers do not want to build their own workflows. They say they do, but what they actually want is a great default that lets them ship tonight. I am the same way more often than I want to admit. Give me a good UI, sane permissions, a nice diff, good context handling, and please do not make me write an extension just to feel productive.

That is why Claude Code became huge. That is why Cursor became huge. That is why Codex App feels good to use. Defaults matter.

Pi's bet is different. It says: the defaults can be small if the escape hatches are real.

This is exactly why I do not think Pi is for everyone. If you are already overwhelmed by AI tooling, this will not calm you down. If you are trying to learn programming, this is probably not where I would start. If you work in a team that needs predictable onboarding, a deeply customized Pi setup might become another person's dotfiles nightmare.

But if you are already deep into agents, this is the tool that makes you ask better questions:

- What should my agent be allowed to do?
- What should live in the system prompt?
- What should be a tool?
- What should be a command?
- What should be a skill?
- What should be part of the session model?
- What should be enforced by code instead of vibes?

That is the real value.

## So, should you use Pi?

My current answer is: use Pi if you want to understand the layer underneath the agent.

Use Claude Code or Codex when you want the polished path. Use Cursor when you want editor-native flow. Use Opencode if you want a beautiful TUI with strong defaults. Use Pi when you want to own the harness.

Do not think in "replace." Think in "where does this fit?"

For me, Pi is not the thing I would recommend to every developer in a group chat. It is the thing I would recommend to the developer who already has opinions about prompts, context, tools, model routing, and agent loops. The person who hears "you can build your own plan mode" and does not run away.

That person should absolutely try Pi.

Because even if you do not end up using it daily, it changes how you look at every other coding agent.

And that alone is worth the time.

Happy building.