Written by

@IndyDevDan
Compute co-authors: Claude Opus 4.6, Claude Sonnet 4.6, GLM-5.1
Agent Harness Used: Claude Code & Pi Coding Agent

"There are many coding agents, but this one is mine." - Pi Coding Agent

I love Claude Code. I was an early adopter, and I bet big on it. If you did too, you have been massively rewarded.
But there are levels to this game, and every tool has limitations. So let me be real with you for a second.
"Claude Code got cancer."
What do I mean by that? Successful products must grow to meet new profit motives. This is a for-profit tool. That means doing things that maximize profit over user satisfaction. With growth, you serve the masses more and more instead of your original niche audience. For Claude Code, that means us mid to senior-level engineers get left behind.
Growth trades specialization for accessibility. What makes Claude Code great for everyone is precisely what makes it limiting for you. The defaults are powerful. The guardrails are sensible. The system prompt is opinionated. And none of it is yours.
Every business, product, and engineer solves a SPECIFIC problem. Generic tools produce generic results. To specialize your output, you specialize your tools. In the age of agents, that means controlling your agent(s). Controlling your agent(s) means controlling your agent harness.
The four dimensions where specialization happens are context, model, prompt, and tools. You then scale those four dimensions across your agents. Your Agentic Engineering directly relies on your ability to manage these four dimensions at scale. Every comparison in this post maps back to these four dimensions. Every advantage Pi has, every advantage Claude Code has, is a difference in how they handle one of these four and how they do (or don't) allow you to customize them. Great harness engineering is about giving you control to manage these four dimensions across many agents.
This post is going to show you the only tool that earned the right to be called a Claude Code competitor, and why it's so important to hedge against Claude Code. Here's my controversial take:
"Claude Code is the starter pack. Pi is the endgame."
The starter pack is where you learn the rules. The endgame is where you write them.
Every engineer starts with someone else's defaults. That's the right move. For the first hundred hours, you should be learning what agents can actually do, where they break, and how to push them. Claude Code is the best tool in software for that learning curve.
But eventually you feel the ceiling. You want a hook that doesn't exist. A model that won't load. An orchestration pattern nobody shipped. The move isn't a better prompt. It's harness engineering. Specialize the core four for your codebase, then compose the tools your domain actually needs. Lock down the agents on your highest-risk files and scale the ones that multiply your impact. Your product solves a specific problem, so your agentic coding tool should too. Specialized tools for specialized problems. That's the endgame.
That's agentic engineering.
Hundreds of AI coding agents launched this year. Only one organically earned 11.5K+ GitHub stars by doing what Claude Code refuses to do: hand you the keys to the car.
Meet the builder. Mario Zechner, a cracked engineer, creator of libGDX (24.8K GitHub stars), one of the most popular open-source game frameworks ever built. An engineer that refuses to let vibe coded slop enter his codebase. He created the Pi coding agent with a single principle: "If I don't need it, it won't be built." So instead of adding feature after feature (looking at you Claude Code), he built a minimal agent that's easy to customize and extend.
The result? 11.5K+ stars, 3.17M+ monthly npm downloads (by the time you read this it will be much higher), a rapidly growing community (The People of Pi), and new model support within hours. Notably, Pi is the agent harness that fuels OpenClaw. This is what a great open-source agentic coding tool looks like when it is built by an unbiased engineer who understands what engineers actually need.
In the age of agents where code is a commodity, open-source, customizable, and extensible tools like Pi are clearly great bets to invest your valuable engineering time. This is what makes Pi the only true Claude Code competitor. It's exactly what Claude Code is NOT: open-source and customizable to the core.
The slogan of the Pi coding agent says it all:

"There are many coding agents, but this one is mine."

Claude Code: Batteries-included, the tool for every engineer (and your PM and designer). Safe by default (deny-first, 5 modes, sandbox). ~10K token system prompt that hand-holds the model. Abstracted observability. Claude models prioritized.
vs
Pi Agent: "If I don't need it, it won't be built." YOLO by default. ~200 token system prompt: "Frontier models don't need hand-holding." Full transparency. Built specifically for engineers to customize. Every token and tool call visible. 324 models, 20+ providers from day one.
Now let me make this clear. Pi is NOT a replacement for Claude Code. It can be, but that's not the point of this post. The point is to expose the tradeoffs so you understand the importance of the agent harness and how to hedge against Claude Code.
Stop thinking in ORs and start thinking in ANDs. Pi is the counterweight to Claude Code. It exists because Claude Code cannot be everything to everyone (as much as they will try). The same way a product cannot serve enterprise and fast-moving, agent-first startups with the same product, an agentic coding tool cannot serve the masses and the power user with the same design philosophy. This is what makes Pi a true claude code competitor and not a clone (like OpenCode, Codex, Gemini CLI and many others).
That leads us to an important question: Why is controlling the agent harness so important?
If you understand this you'll fly past mainstream AI Engineers.
The legendary Claude Code leak of February 2026 revealed many secrets. New multi-agent orchestration features, the insane Claude Mythos model, and much more. But most engineers missed the most important message of all. The true signal was hidden in plain sight, and the leak revealed it.
"The agent harness is the product"
The model used to be the product but now, open-source alternatives get you 90% of state-of-the-art capabilities for a tenth of the price. The models have commoditized.
So what's left? What remains is the code that wraps the core four: Context, Model, Prompt, and Tools. The agent harness.
When we say agent harness, we're talking about the code that: wraps the model, drives the agent loop, renders the UI, handles token caching, exposes observability, handles hooks, permissions, configures settings, enables scale (multi-agent orchestration) and more.
Let's be absolutely clear here.
The agent harness is the product. Without it, there are no agents. This is critical for you to understand because it reveals the true (massive) importance of controlling the agent harness.
"The agent harness is the interface to your agents, and therefore your results"
If the agent harness is your interface to agents, that means whoever has control over the agent harness has control over your agents. And whoever controls your agents controls your results.
Great engineering requires that you confront reality.
So let me ask you this:
Are you renting your agent harness or do you own it?
This is why it's so important to control the agent harness. Your agentic engineering will be limited by the agent harness you use and how deeply you can customize it to your exact needs.
This is why Claude Code is the starter pack. Its (ever-increasing) feature set and capabilities are just the first iteration of what's possible with an agent harness. Once you start customizing an agent harness like Pi, you quickly realize how much more you can do when you own your agent harness.
Let me be clear, this doesn't mean Claude Code is a bad tool. That's far from the truth. Don't let the vibe coders on x/twitter confuse you; we're still software engineering and great software engineering is about understanding and measuring tradeoffs.
The true thing to measure when comparing agentic coding tools is twofold.
Notice how Pi (customization) and Claude Code (default features) sit on opposite ends of the spectrum. This is where the true difference lies. This is also the rubric for determining which tool is the best fit for your use cases which we'll talk about later.


| Dimension | Claude Code | Pi Agent |
|---|---|---|
| Context | CLAUDE.md: hierarchical, walks upward from cwd. Proprietary system prompt (~10K tokens) overwritable and appendable. /compact with auto-compaction + PreCompact hook. | AGENTS.md or CLAUDE.md: walks upward from cwd, customizable loading via extensions. Full system prompt replacement (~200 tokens). /compact with auto-compaction + customizable via extensions. |
| Model | ~6 aliases mapping to Claude family. 4 platforms (Anthropic API, AWS Bedrock, Google Vertex, Foundry): all serving Claude models. Multiple effort levels on Opus 4.6 and beyond. | 324 models across all providers. 20+ native (Anthropic, OpenAI, Google, Groq, xAI, OpenRouter, Azure, Mistral, Ollama...). 5 unified thinking levels across ALL models. Cross-provider handoff native. |
| Prompt | ~10K token opinionated system prompt. .claude/commands/*.md for prompt templates with $ARGUMENTS. Skills fully supported. | ~200 token minimal system prompt. .pi/prompts/ with mustache syntax, shareable via packages. Skills fully supported. |
| Tools | 10+ defaults (Read, Write, Edit, Bash, Glob, Grep, WebSearch, Task, TodoWrite...). Native MCP support (first-class, lazy loading, OAuth). Tool override not possible. | 4 core (read, write, edit, bash) + 3 optional. No MCP (achievable via extension). registerTool() to replace built-in tools. Skills + raw scripts/CLIs. |
Claude Code gives you powerful defaults you extend. Pi gives you a blank canvas you compose. Neither is better. They are different tools for different problems. Claude Code is an opinionated framework. Pi is a composable library. If you have used both Rails and Express, you already understand this tradeoff. This is the essence of engineering: choosing the right level of control for the right problem and accepting the tradeoffs.
Okay so we now know the agent harness is the product. Whoever controls it controls your agents, your results, and your agentic engineering ceiling. Claude Code and Pi sit on opposite ends of the customization spectrum.
So the real question is: how customizable is Pi, actually? Claude Code isn't a locked box. It ships with hooks, skills, slash commands, sub-agents, MCP servers, and permission modes. Real customization.
But when you put it next to Pi, it's not even close.
Let me show you what I mean, starting with the basics.

The first step in harness engineering is to understand what you can change and what you can't.
Good news is, with the Pi Agent Harness you can change basically everything.
Pi gives you control over the terminal experience itself. You control the experience by writing a TypeScript extension. The extension system lets you...
There's also a whole community library of extensions to choose from. Although, I recommend always building your own to flex your own agentic coding muscles. (Side note: Another reason to build your own is that prompt injections and vibe coded hacks are just one install away).
Code is a commodity now, it costs nothing to pull the best pieces from the community, have your agents vet the code/prompts before you use them and then make them your own.
Remember: "there are many coding agents, but this one is mine."
Here are 6 examples of what you can do with Pi:

These are just 6 examples of what you can do with Pi. We're just scratching the surface. When you own your agent harness, you can truly customize everything. I'll show you where you can get these customized pi coding agents in a moment. Let's first compare the customization options between Pi and Claude Code.

This is not just cosmetic. Controlling the terminal experience means controlling the feedback loop between you and your agent(s). The status line shows you exactly what matters (git branch, token stats, anything you want). The widgets surface real-time information. The overlays can run full applications on top of your agent session. This is harness engineering that changes your experience and therefore your results.
The next major difference is in hooks and programmatic control. Claude Code gives you 14 (probably more by the time you read this) shell-based hooks: PreToolUse, PostToolUse, PermissionRequest, Stop, and others. Pi gives you 25+ in-process TypeScript hooks covering session, input, tool, bash, permission, compact, branching, assertion, message, model/context, and system events. The difference is not just quantity. Your TypeScript hooks execute at run time just like Claude Code, but Pi hooks give you access to ALL of your agents' state. They have full session access, can modify behavior in real-time, and compose as first-class extensions.

Both tools offer programmatic control. Claude Code has claude --print (fire and forget), the ClaudeSDKClient (Python + TypeScript). Pi has pi -p (non-interactive with stdin auto-activation, same as Claude's), --mode rpc with 26+ bidirectional commands in any language, steer() for interrupts, followUp() for queued messages. Pi's RPC mode is the key differentiator. It turns your agent into a programmable service that any process can control.
pi --mode rpc turns Pi into a headless subprocess controlled entirely through JSONL over stdin/stdout. No TUI, no terminal, just pure programmatic control. This is how you embed Pi inside other applications: IDE extensions, web UIs, Slack bots, custom agent orchestrators, or anything that needs a coding agent as a component. You send commands like prompt, steer, compact, set_model, and bash and Pi streams back events: tokens, tool executions, compaction events, and extension UI requests. The protocol is bidirectional. Your client can respond to Pi's UI requests (confirm, select, input) making the agent fully interactive even without a terminal.
This is not theoretical. OpenClaw is built entirely on Pi's RPC mode. Any multi-agent system or custom UI that needs Pi as a backend uses this mode. If you are building in Node.js, you can skip the subprocess entirely and use AgentSession directly from the @mariozechner/pi-coding-agent package. This is the level of programmatic access that no closed-source tool can offer.

Extensions built in isolation can be shared and distributed. Claude Code uses a plugin marketplace and /plugin commands. Pi uses npm/git/local packages with pi install npm:@foo/bar, pi install git:github.com/user/repo, or local paths. Load extensions ephemerally for a single session with pi -e npm:@foo/bar or pi -e ./path. The packaging model matters because your agent's intelligence becomes portable. This is how harness engineering scales beyond a single developer.
The real power is that you can stack extensions. Each extension stays isolated and composable. You put together the best pieces like lego blocks: one extension for damage control (derisk), another for agent teams (scale), another for custom themes (personalize), another for your domain-specific tools (specialize). Mix, match, and swap out your extensions without breaking the rest. This is modular harness engineering.
The same rule applies here as before: vet everything, own what runs inside your harness. The community accelerates you, but your extensions should be yours.

This is where the Pi Coding Agent goes where Claude Code cannot follow.
Prepare yourself, this is where owning your agent harness really pays off.
Tier 1 is about customizing the agent harness essential elements. (Basics)
Tier 2 is about hooks and programmatic control to use, guide and block your agents as needed. (Usage & Risk control)
Tier 3 is about multi-agent orchestration to increase the scale of your agentic engineering. (Scale)
A single agent is a tool. A team of agents is a force multiplier. This is where Pi goes somewhere Claude Code cannot follow. Yes, Claude Code has multi-agent orchestration, but it's a primitive version of what's possible (it's the starter pack).
Claude Code Agent Orchestration: Native Task tool with permission inheritance for sub-agents. Native team coordination (lead + workers, message passing). Any other multi-agent system must be heavily prompt engineered.
vs
Pi Agent Orchestration: No built-in sub-agents, no built-in teams, no built-in agent communication. Instead, build your own exactly the way you need it to work.
Nothing built in means nothing in your way.
With the Pi Coding Agent, you design exactly what agents you need and how they should work together. The number of multi-agent orchestration systems here is truly endless so I'll list examples of how you can organize your agents to increase your agentic impact.
Let me walk you through a few of these systems that showcase what's possible when you own your agent harness.
This is a customized Pi variant we built. None of this is out of the box. We wrote a Pi extension that lets you define and select agent teams from a YAML file. One orchestrator agent delegates to a flat set of specialized workers: Scout, Planner, Builder, Reviewer, Documenter, Red Team. Each agent gets its own system prompt, model, and purpose. Select a different team with /agents-team and the entire composition swaps. This is the simpler, more primitive version of multi-agent orchestration. A single orchestrator talking directly to its workers. The more powerful multi-team systems below build on top of this foundation.

At some point, building agents one by one becomes the bottleneck. The meta-agent is the answer.
This is the tier where Pi's architecture pays off. Imagine 9 subdomain expert agents, each encoding deep knowledge of one Pi capability: agents, CLI, config, extensions, keybindings, prompts, skills, themes, and TUI. Now you could cram all of these agents into one, but that would directly violate one of eight Tactics of Agentic Coding.
One Agent, One Prompt, One Purpose.
A meta-agent that can spawn, configure, and coordinate these specialists is not a theoretical exercise. This is the factory that builds the factory. It is the logical endpoint of harness engineering and agentic software engineering.

Now let's level up. The next three systems are member-only assets for Agentic Horizon members, built with the Pi Coding Agent as their foundation.
Another customized Pi variant. Not every problem is a coding problem. Strategic decisions deserve the same (probably more) compute you throw at your codebase. The CEO Board system deploys multiple domain expert agents (Revenue, Contrarian, Customer Oracle, Moonshot, Technical Architect, Product Strategist, Market Strategist, Compounder, or whatever roles you need) into a structured deliberation aka debate.
Each agent argues from its domain perspective. The system detects consensus across agents and surfaces high-confidence recommendations. When all agents agree, you have a strong signal. When they disagree, you have the exact dimensions of the tradeoff mapped out for you. Stop making important decisions alone when you can consult a country of geniuses in a data center.

Another customized Pi variant (one of my favorites). This is the full three-tier architecture: orchestrator at the top, team leads in the middle, specialized workers at the bottom. You talk only to the orchestrator. It delegates to team leads (planning, engineering, validation). Each lead delegates to its workers (frontend dev, backend dev, QA, security, again, whatever you need). Leads think, plan, and coordinate while workers execute.
Each agent has domain-locked permissions, its own mental model that grows over time (agent experts), and a focused context window. The entire system runs inside a chat-like interface where every agent's work is visible. Soon, we'll all be inside chat rooms with agents and agent teams. This is one of the first variants of that multi-agent chat room future.

Another customized Pi variant built directly on top of the Lead Agents system above. Instead of sitting in a single terminal building one UI at a time, this system deploys parallel teams of agents to generate brand-consistent UI prototypes at scale. An orchestrator delegates to multiple UI generation teams (A, B, C), each running different models. Team A might run Minimax, Team B runs Step Flash, Team C runs Claude Sonnet. When a model fails, the team lead picks up the work itself. The result: multiple UI variants generated simultaneously inside a consistent brand system. This is solving a problem class, not building a single page.
Each worker has domain-locked permissions. The view generator can only write to the UI directory. The brand analyst can only read design tokens. The validator checks output against brand guidelines without modifying files. Every agent loads its own mental model at boot, so the team gets smarter with every session. Build the generic Lead Agents system once, specialize it for every product you operate.

Claude Code's multi-agent orchestration is more mature out of the box. Native sub-agents, native team coordination, native task delegation. Pi has none of that built in. But here is the tradeoff: Claude Code's orchestration works the way Anthropic designed it. Pi's orchestration works the way YOU design it. This is the importance of owning your agent harness. If you want to capture the full leverage of Agentic Engineering, you must own your agent harness.
Remember, whoever controls your agent harness controls your results.
Pi wins customization. Claude Code wins the boardroom. Here is where the line falls.

Pi is experimental, optimized for single developers, small teams, and agentic engineers pushing what they get out of each token. If your team needs SSO, audit trails, and managed deployment, Claude Code is the answer today.
But here is what matters for forward-thinking engineers: the patterns you build in Pi are portable. Hooks, TUI customizations, multi-agent orchestration, your memory systems, context engineering, and prompt engineering: these are transferable skills. The real asset is not the tool. It is the agentic engineering knowledge you accumulate. When enterprise-grade open-source alternatives mature, you will be ready. That is the promise of agentic engineering. If you're doing it right, your skills compound, not just the number of custom pi agents you've built.
Agentic Engineering isn't about the tool. It's about the skills you build to orchestrate intelligence.
"You can't get ahead of the curve by doing what everyone else is doing."

Skip Pi If:
Pi Is For You If:
This is not for everyone. That is the point. The engineers who benefit most from Pi are the ones who have already pushed Claude Code to its limits and felt that plateau. If you have not hit that wall yet, Claude Code is still your best move. The pi coding agent is a claude code alternative for those ready to go deeper.
The engineers who will win the next cycle are not picking sides. They are stacking advantages.

The practical split: use Claude Code for 80% of your daily velocity (rapid prototyping, codebase exploration, building agents, most of your in-loop work). Use Pi for the 20% that demands full control: end to end agent harness control, mission-critical automation, tool stability (no random updates), model volume/cost optimization, and multi-agent orchestration at scale.
As you become more proficient at building with agents, you'll naturally move up the path of agentic engineering. You'll find yourself needing more control over your agents and therefore your agent harness. The path is the same for every engineer:
"There are many coding agents, but this one is mine."
Use Claude Code to discover what agent workflows are worth owning. Then build those workflows into infrastructure you control. Claude Code is the starter pack. Pi is the endgame.
Reading about harness engineering is not the same as doing it. The fastest way to understand what is possible with Pi is to run the foundational extensions yourself. That is why I put together a free public repo with every foundational Pi extension we covered above: pure focus, agent teams, purpose gate, cross-agent, till-done, theme cycler, sub-agents, damage control, and more. Clone it, run it, break it, make it yours. This is your on-ramp into customizing your own agent harness.
Start with the free Pi extensions. Run them, modify them, stack them, break them. That is tier one and tier two. Once you have felt what it means to own your agent harness, you'll want to keep going.
When you are ready to unlock the advanced multi-agent orchestration systems from this post, that is where Tactical Agentic Coding & Agentic Horizon come in. Inside you get the tier 3, member only codebases for the three customized Pi variants you saw in this post: CEO Agents for strategic decision making, Lead Agents for three-tier multi-team orchestration, and UI Agents for brand-consistent infinite UI generation. Beyond the codebases, you get 14 lessons covering the eight tactics of agentic coding, the agentic layer, context engineering, agent experts, multi-agent orchestration, and the full playbook for building systems that build systems. No questions asked 30 day refund before you start lesson four.
Obviously, I'd love to see you in Tactical Agentic Coding & Agentic Horizon. It's a win-win: you get the private codebases and the full playbook, I get to keep building and sharing with engineers like you who are serious about mastering agentic engineering. If you understand that valuable things aren't always free, I'll see you there. Otherwise, the free Pi extensions repo is yours to run. Either way, stop waiting. The engineers who own their harness in 2026 will operate at a level the rest cannot reach.
Ready to level up your Engineering?
Stay focused and keep building.
- Dan