Pi's Minimalism Is Its Advantage

earendil.com

476 points by luispa 17 hours ago


paldepind2 - 7 hours ago

Lots of praise for Pi in this thread, so I'll offer up a diverging opinion. Given all the hype, I was a bit underwhelmed by Pi. It definitely has some good ideas around customization, but it annoyed me in many little ways.

For a program that's minimal it sure takes a long time to start up, the standard C-p and C-n bindings don't work, it doesn't follow the XDG Base Directory Specification and just pollutes my $HOME directory.

I think there's still space for another harness that's 1/ open-source, 2/ written in a fast compiled language (Rust, Go, etc.) and scriptable in a simple (aka non-JS) scripting language (Lua, etc.), 3/ less opinionated and more sensible so things like XDG isn't a WONTFIX.

pavo-etc - 15 hours ago

I've had a lot of success running Pi on my server in headless mode and wrapping it in an XMPP client. This means I can talk to it wherever I can access XMPP (everywhere). It also mean agents can talk to each other when they need to. They've got a shared wiki they interact with and github issues as their todo list.

I am running several named pi instances in parallel in their own user account on NixOS, so they can install whatever they want in ephemeral shells and I never need to worry about their env. The agents can spin up new enabled XMPP agents if I request it, though for now I've only needed a few since I'm not doing too much in parallel.

My Pi is very vanilla, only my own XMPP wrapper and pi-subagents extension for anonymous subagents.

Using it primarily with Deepseek v4 Flash for chipping away at coding tasks or server maintainence while I'm AFK or in transit.

NixOS is the key to all of this, since agents can interact see the whole server config, make changes and run compile-time checks before actually deploying. It also means that even if they do mess up I can always revert.

jsw97 - 42 minutes ago

A fundamental limitation of third-party harnesses is that they can't see all the data. As earendil pointed out, providers are now moving to encrypted thinking blocks.

As an example, this could affect compaction. If pi calls another agent to do the compacting, that agent can't read the encrypted thinking blocks. In contrast, if codex calls another openai-codex agent to do the compaction, they can feed that agent the thinking blocks. In theory, this additional information could be useful to the compacting agent. In practice, I don't think it helps too much right now. But I could see ways for providers to exploit this to drive a bigger wedge between their harnesses and pi.

whazor - 8 hours ago

Both Codex and Claude have trained their models to their harnesses.

There are some experimentations by Igor Warzocha to extract Codex shapes and put it in Pi: https://github.com/IgorWarzocha/howaboua-pi-stuff/tree/main/...

I'm expecting every model will have a fine tuned Pi extension at some point.

mft_ - 6 hours ago

I’m going to go against the grain and say that Pi is a little too minimal by default. The emacs comparison is interesting, but default Pi is like emacs that can load files but you’ve got to extend it manually to save or search within a file.

I’d argue that there’s a minimal set of functions that a coding harness needs to just enable a model to get stuff done, and they shouldn’t be an extra effort to set up.

(Oh-my-pi exists for those of a similar persuasion.)

astrobiased - 12 hours ago

Pi does one thing that I love, developing a tool that has minimalism where it's easily configurable with good documentation. The leads to new use cases that the the author(s) would have never dreamed of. The organic growth process of the Pi ecosystem has been fascinating to observe. It's one of the reasons why Pi has become one of my favorite coding agents to this day, flexible beyond personal uses and extensible to larger environments.

IMO, I view it more than a coding agent, it's a coding agent platform with powerful extensibility.

swingboy - 14 hours ago

Aside from the minimal system prompt, how does it handle context better than other agents? It still has to send the system prompt (which includes AGENTS.md and skill definitions) along with the full conversation every request, no?

ljosifov - 4 hours ago

Love pi. It's good to have a minimal agent, always welcome. Even if only to bootstrap install other agents. E.g. recently Hermes stopped installing under Termux (v0.19 - no, v0.18 - yes). Agent pi to the rescue: installed it under Termux (Android), started it, pointed pi to the Hermes github, asked for v0.18 specifically - and it did it. Cherry on the top - asked it to install a plugin from github I use (unmerged PR), did that too. Even if nowadays for coding I mostly use OMP (the pi with wheels and bells and whistles). For general computer use mostly use Hermes. Model-tied harnesses have their place e.g. Codex for me. I never know if it's allowed or banned using the sub from non-Codex harness - so stick with it. Even if only to have the 'canonical reference setup' to compare with and measure against.

malisper - 15 hours ago

Having tried all the coding harnesses, I find that using Pi is exactly like using Emacs. For anything you want to build you can ask your agent and it will build it. There's tons of existing code to help you configure it. At the same time half the code is buggy, UI elements will try to overlap one another, and you'll periodically get crashes.

If you're willing to put in the work to master the learning curve and push through the issues, it can be a great tool: https://i.sstatic.net/7Cu9Z.jpg

mark_l_watson - 2 hours ago

I am starting to share the opinion in the article. I used to use Claude Code with strong open models, and sometimes pay for Opus.

Now one of my main drivers is out of the box pi’s 4 built in tools, and I add just two extra tools: pi-sandbox and a paid for search service tool. This setup works great with the latest deepseek v4 flash, switching to more powerful open models occasionally.

I wrote my own coding harness in Common Lisp that is almost free or 3rd party libraries and I basically copied pi + the 6 tools I use for pi (except I have two search tools using different vendors in my Common Lisp code).

Everyone (and every company?) should run their own tests and experiments. I find it sad when I talk with people who default to the most complex and the most expensive tools without even trying to evaluate alternatives.

sage981 - an hour ago

Under 1,000 tokens for the system prompt and tool defs is the number that matters here. Everything else is downstream of not crowding the context.

pornel - 14 hours ago

I'm enjoying the maximal version: https://omp.sh

Yiling-J - 13 hours ago

Pi is really good. For people who want to build their own agent with even more minimal and extensible, the underlying agent harness is also worth looking: https://github.com/earendil-works/pi/tree/main/packages/agen...

ncrmro - 3 hours ago

We’ve been building atop the .agents standard and have written some tools around this under the ai-outfitter org few interesting repos.

- outfitter compose different agent profile w, eg skills, mcp, context and wrap pi,Claude,codex - agent-operator run these agents into kubernetes - actions run pi during investigations on failed ci or weekly updates - channels give pi agents an inbox for slack/email/websocket access, calendar wake ups - deepwork build long running workflows with verification gates

The best example of different profiles is having a prod/nonprod bot that has grafana mcp for incident investigation

carlsborg - 7 hours ago

They removed ~80% of Claude Code’s system prompt for Claude 5 models so the harness cost-per-task benchmark could be stale.

hakunin - 15 hours ago

I often find it reductive when people say "just tell Pi to build you an extension". Having used it as my one and only harness for a few months now, it's easy to get an extension, but hard to get a good one, that actually works well and helps.

My advice: focus on getting work done and slowly adapt Pi with small augmentations as you go. You can start getting work done on vanilla setup. When the right idea comes along, try it. Be ready to refine it, and most importantly, rollback the addition. I've rolled back a bunch.

Many "batteries" that are "included" come from speculative and half-baked ideas, from people who were excited about something at some point in their journey. In practice, those ideas may not bring the desired results, and their creator may've moved on already. So it's better to either learn very well established tools, or mold your own slowly.

For example, many automatic memory systems are not helpful. I built a small extension that asked me whether it should remember something (and write it down to a properly scoped SKILL or AGENTS file). Turned out I accepted less than 5% of suggestions. Most were useless one-offs that would pollute the context. Can't imagine how much crap would accumulate if I wasn't in the loop.

rbanffy - 4 hours ago

We are having a problem with namespace collisions. I really thought this was related to the Raspberry Pi (which is a very minimalist computer). Earlier today, I saw something about a Rio terminal and thought about Plan9.

kriro - 6 hours ago

Philosophically, pi.dev is exactly what I'm looking for. Minimalist and explicit (YOLO by default, we know it can be trouble but we tell you so).

Anyone here using the Rust rewrite of pi.dev as their daily driver? It's endorsed by the author of pi.dev and looks pretty attractive to me being both minimalist and not having npm attached. Any info "from the trenches" are appreciated (setup with sandboxing, extra niceties etc).

vinhnx - 2 hours ago

Small model-facing surface, more responsibility in the harness. I'm exploring that tradeoff in Rust with VT Code: https://github.com/vinhnx/VTCode

archargelod - 3 hours ago

Sorry for negativity, but it wouldn't hurt to put some qualifier in the title, like, "Pi agent". So people, not interested in that theme can avoid your article. Thank you.

I was expecting an article about Pi constant or maybe raspberry Pi computer. "My Disappointment Is Immeasurable And My Day Is Ruined!"

senko - 5 hours ago

Meta: this reads like a corporate article, info-selling a solution to enterprises. The style is a far cry from anything Mario or Armin usually write.

First indication of business strategy around Pi's reverse acquisition of Earendil, perhaps?

ironfootnz - 10 hours ago

I think for indie hackers and people that build their own stack is great, but real scenario and people with money Enterprise likes the idea of batteries included.

I found this one a little bit better and they do support Extensions like Pi. But comes with all features like codex, claude code and it's open-source.

https://github.com/autohandai/code-cli

vcfgdev - an hour ago

I really like Pi and have recommended it to many people. It has been my daily driver for months and really changed my perspective on how to design tools. The `bash` tool is magic.

grewil2 - 9 hours ago

Are all of you pi users paying Anthropic and OpenAI for API usage? Or can you combine pi with a subscription?

So far API usage is a lot more expensive than subscription and if you need better models than Deepseek and Kimi, and you are not wealthy, I don’t see a way around this.

rcarmo - 7 hours ago

I built https://rcarmo.github.io/projects/piclaw/ on top of pi largely leveraging its extension philosophy (I extended the contract to UI extensions, basically) and am very happy with the results. Even though I added a few more tools, the core agent is wonderful.

0xdeadbeefbabe - an hour ago

It would be funny if suckless.org had a harness.

kamikazechaser - 9 hours ago

If using outside of subscriptions, It is almost a no brainer to use this simple because of the efficiency. With subscriptions, not so good. Even the officially endorsed OpenAI integration lacks support for server-side context compaction (without a separate plugin which still triggers the pi native compaction).

pmilanez - 5 hours ago

Is there any good benchmarks for coding harness? In terms of tokens consumption, Pi is awesome..local model etc.

But regarding coding quality, task completion, over engineering, all related to the final result that the LLM is delivering trough the harness, is there any benchmark that shows the ups and downs of each one?

I'm struggling rotating harness because of a lack os a way to truly compared what is good or not.

langs - 13 hours ago

Pi’s minimalism reveals a simple truth: the LLM is the core of any agent harness. Consequently, much of current harness tuning will become redundant(or even a hindrance) with next-gen models.

manoji - 10 hours ago

I love Pi . I have been building an agent using its agent harness https://github.com/earendil-works/pi/tree/main/packages/agen... . I love the simplicity .

1saadcodes - 9 hours ago

This seems like a more natural use of agents than asking them to one shot and push to prod. Give them a measurable objective, let them experiment, and judge the outcome instead of the implementation. Similar to how you would deal with a junior or intern basically

peterldowns - 15 hours ago

We built our first version of our in-app agent with opencode, but we're probably going to switch to Pi. Fundamentally, Pi is the shape of the thing that should exist, and it's awesome to see that it works. Very satisfying to my engineering brain. Been having fun with ohmypi as my personal harness, but going to switch over to pi soon and just mess around with it until it works the way I want. The idea of completely personalized software is so cool and now that it's finally possible I am having so much fun.

p1necone - 16 hours ago

I love hacking away at pi extensions.

I realised how use case dependent harness behaviour is when I tried to use my customised-for-a-side-project pi config at work and realised I needed to tweak it significantly to be useful - I would not be surprised if tools like Claude Code needing to be all things for all people is hurting their peak usefulness.

orliesaurus - 12 hours ago

If someone has never used Pi, what's a good starting point where someone took Pi and started adding some extensions etc to get to that minimal-but-useful-and-productive-for-coding state? Is there such recipe/writeup?

surgical_fire - an hour ago

I recently moved entirely to Pi, and I am really enjoying the journey so far.

I am slowly shaping it to the way I like to work. It's a bit of a bumpy start, but there are two benefits I see from it:

First is that you get to understand better what goes on behind the scenes. Since it is minimalistic, you have to think about your workflow, about what you want your agents to do, how you want them to do it, etc. It's a completely different way to work since tools like ClaudeCode do a lot of heavy lifting behind the scenes and just force on you their established way of doing things. By adding the building blocks yourself, you end up with a better understanding (and in many ways, control) of what is happening there.

Second, I adore how I can juggle sessions in Pi. /tree, /clone and /name quickly became second nature for me to manage agents. I am totally abusing prompt templates in my development workflows.

Also, it is an awesome harness for the models I use. DS and MiMo feel very snappy now, especially after I started to adapt Pi to my way of working. Lastly, even though those models are already cheap even on Claude Code, it feels like it is even cheaper now.

mraza007 - 10 hours ago

Pi Agent has been one of my favorite harness when it comes to using with local models

I had a lot of success running it on my Mac with Qwen3.6-35B-A3B model

r0b05 - 10 hours ago

I love using Pi and its design philosophy. The minimalism is what resonates with me. It just works, update after update.

para_parolu - 11 hours ago

Pi is awesome. I built whole agentic ide on top of pi and obsidian. The fact that I can modify it easily makes a difference

genericacct - 9 hours ago

Only thing that runs easily on termux now that gemini-cli has been discontinued..

codemog - 15 hours ago

Pi has the best code out of all coding agents. The only problem is it’s not as fully featured and some of its modules should be factored out into their own code base.

mw888 - 11 hours ago

I like Pi, but I didn't end up using it. I tried OpenCode, Pi, Zed Editor and some NVIM packages. I wanted open source, featureful and easy to use. Specifically I wanted to easily edit the agent prompt.

I ended up on VS Code. I'm very critical of Microsoft generally, but VS Code is a very good editor and my favorite agent harness.

For headless, Pi might be the way.

tosh - 12 hours ago

i also found re context window: less is more

at least with GPT 5.6 Sol fwiw

https://smolenv.com/t/nested-template-includes-60636/

sh is all you need

nicman23 - 4 hours ago

name your product pi

become ~~ungovernable~~ ungooglable

unknownfuture - 14 hours ago

Honestly I think the thing I love most about Pi is that I'm not dealing with a tool with a thousand undiscovered features. I either pick and install what I want from the package ecosystem or I bottle up my own workflows into extensions as I find what works best for me.

The result is that the tool gradually morphs into the thing I need rather than me having to adapt myself to whatever new thing Anthropic or OpenAI comes up with.

I can also feel confident that the thing it becomes is what I actually need and not what maximizes token usage...

yawpitch - 8 hours ago

But wouldn’t Tau be twice as good as Pi?

jedisct1 - 9 hours ago

https://swival.dev remains my favorite agent for local models.

nylonstrung - 6 hours ago

Unrelated to Pi (which is great) can we please stop using LoTR names for companies. The Peter Thiel glazing/cargo culting is pretty cringe at this point

eclipxe - 10 hours ago

I built Fusion (software factory) on top of Pi and have been thrilled with it https://github.com/Runfusion/Fusion

imagetic - 10 hours ago

+1

#teampi

yogthos - 13 hours ago

I found the nice part of Pi was the plugin system and the ability to hook into any part of the agentic loop. But minimalism is a net negative in my experience. What you really want is a harness that meets the expectations of the model and steers it in the right direction.

There are also a ton of small mechanical things a harness can handle that make the whole process much smoother. A really simple example is auto balancing parens. Even frontier models like Claude still struggle with this. Often the model will end up writing a python script to figure out where the mismatch is, and then generate a new version of the code. All of that simply wastes tokens and eats up context on a task that could've been accomplished completely mechanically.

The approach I took with dirge, is to put the model in a loop where it has clearly defined tasks, and the harness handles any repairs that can be done automatically. And I used Janet to provide a plugin system based on what Pi is doing. You get a batteries included experience out of the box, and you can customize it to fit a specific project using plugins if needed.

https://yogthos.net/posts/2026-06-08-dirge-code.html

esafak - 14 hours ago

I use pi for agentic CI; reviews, etc.

efilife - 6 hours ago

And I thought that this was going to be about the number PI

pixlmint - 8 hours ago

that website is horrendous to look at on an eink display btw

Onavo - 15 hours ago

The biggest issue with Pi is that they don't have proper sandboxing with auto approval. Most solutions are third party and half baked. You have to either choose between just auto approval (no sandboxing), or a Claude/Codex style sandbox but manual approval.

jauntywundrkind - 13 hours ago

i really hope OpenCode v2 with the Effect internals can ascertain and realize and lock on to being the best extensibility platform, on to having a core that serves not just itself, it's conceits of/as product, but a wider world. a street that wants to "find it's own uses for things".

it feels like there's still a strong layer of "for us" vs "for you" within opencode, that i hope, over time can get chewed away at. plugins to rebuild history, to re-title are just impossible, for example. none of these changes, these freedoms are hard to release. the patches i juggle are easy. but whether or not my agentic software serves as a substrate for my desire, or whether it allows me to augment agency: tis the question.

Dax (opencode lead) has such humble takes, is so forthwith about trying failing trying again on and on. about iterative improvement. and it feels like the guts are so in line to deliver, to allow such freedom now in OpenCode. but i don't see the product (anti-product) alignment, where opencode understands that it's competition isn't cc or codex, which can't and won't ever really compete, but pi, that the competition is to be the putty, to deliver the agency, to be a substrate. really hoping, because i love opencode, and these internals in v2 are sick.

the "devtools must be open sourced" debate comes screaming into the fore on this. it certainly argues similar to the post here: that it is minimalism, it is adaptability, programmability, it is directability that unlocks and unleashes us:

> Imagine the convoluted misery it would be trying to plug that into the VS Code extensions API! Or trying to get it into vimdiff. It would certainly be possible, but the machinery to start pre-processing the commits as soon as they appear would be nigh-on impossible. - https://blog.exe.dev/devtools-must-be-open-source https://news.ycombinator.com/item?id=49156111

i don't even fully agree! today more than ever, why not cut a VS Code extension? why not cut some wild coop.nvim async extension that runs whatever subprocesses, talks to whatever system daemon? dream it up and do it; the llm's will cut through the mechanicals. but the core point, about finding software that doesn't obstruct, that accelerates the human agency: it's so Douglas Engelbart. to Augment Agency is so close akin to Augment Intellect, the grand passion for human interest engagement envolvement constructivism fucking-around-and-finding-out. and my how unhindered we can be now. if only our tools/systems/softwares let us be. here's to you, soft software!

lukelabs - an hour ago

[flagged]

JonasHB97 - 6 hours ago

[dead]

behnamoh - 15 hours ago

Literally every AI project ends up getting monetized even (read: especially) if it starts as open source. It's only a matter of time before π's enshittification kicks in.