But what I do use Pi a lot for is as a base for agents. I much prefer it to using an agent SDK. I find its minimalism and extensibility to be a really nice substrate for new projects.
I could easily imagine someone getting to a really productive personal setup with it as well, for the same reasons as above.
ChatGPT Desktop seems to intentionally hide what they are doing and where they are storing state, sessions, config, I never had any idea what is in context or what "archiving" even means. I got sick of OpenAI hiding how ChatGPT Desktop was working. I opened pi and the default behavior shows me how much context I am using, how much that costs and tells me where it stores my session data.
Suddenly it was all demystified and that is why I use pi. It has nothing to do with a functional gap, it was the joy a using a harness that was transparent about how it worked.
Developers just love to spent considerably amount of time and effort into building tooling. Way more than working on the actual products.
But I must admit it is really fun to build your own harness and tweak it to your liking, even if it is never used for professional work ;-)
Manual tests in my minikube and has skills to deploy the right service there. It updates the jira ticket with test proof.
For debugging flows I build skills to use my local minikube that has our full dev environment and all services running. Can debug there. It has grafana skills for gcx can grab logs and through grafana even accesss dev/staging db for quering.
I wrote all the extensions with these custom integrations. It works just like I would work... I don't like adapting myself to another opinionated harness. I prefer my own opinionated workflows.
- Ask it to accomplish some coding task
- If it fell short, and I determined that was due to the harness, ask it to patch
- Otherwise proceed to next task
- Rinse + repeat
I run it within a sandbox, so I've been comfortable with the lack of native "approvals". So far my personal usage hasn't really needed subagents, but I think this is one thing I'd need to sort out were I using it professionally[1]. I'm aware of oh-my-pi, but I think half the fun is hacking from the base.The light weight prompt and simple harness design are a lot of fun. I don't mind Claude Code, and I think its well designed for the problem domain, but Pi is a lot of fun to hack with.
Hope that helps!
[1]: https://mariozechner.at/posts/2025-11-30-pi-coding-agent/#to...
I started using Pi because it has a small system prompt and local models were too slow to start. Then I started adding custom skills and extensions when I hit little corner cases. It's been so easy to bend into what I need.
It kind of just gets with how you creative you want to be about it.
It's kinda a tinkerer hobby IMO. I like the freedom, but at the end of the day, it's still just a harness.
Oh My Pi comes preloaded with most stuff you need, so there's not much need to add extensions. https://github.com/can1357/oh-my-pi
For example, I started using it, wanted a plan mode, downloaded an extension for it. Wanted to be able to analyze token usage for turn in a session, I had an agent create an extension for that. Then I wanted a custom status bar, so I had an agent implement an extension for that.
Hell, some extensions could theoretically lower your token burn. (Like rtk, if it actually worked.)
I have another one that allows you to edit the items in your Pi /tree history.
Some permission manager extensions also sit between the model and the harness, and don't actively change the tool or prompt info.
I probably have more, but you get the idea.
I'm so use to the command keys in Pi that having to type something out in OMP slows me down. I'll stick with Pi, I've built it to my needs and having WSL finally working. I still have to run 2 CLIs, one for LLama.ccp and the other for Pi, not sure if this is normal.
omp offers some nice tools, like /shake, to manage context efficiently and offset some of that consumption.
Not sure about your point with command keys. OMP has all kinds of shortcuts and is highly configurable. It seems very unlikely that you cannot achieve what you're looking for in OMP in terms of shortcuts. Specifics would be immensely helpful here.
And yeah, you'll need to run your inference engine separately from your harness, for the same reason the web server and the web browser are different applications.
One example here is that it added MCP extensions to make the harness usable with MCP servers long before Pi figured out that that was the right move. A lot can be said about development of MCP over that timeframe, but I appreciated the bias towards adoption, since progress is driven by empirical experimentation rather than theory in this domain right now.
I've long championed assembling developer tools yourself from scratch and I've been an advocate of vanilla Emacs and customizing it yourself as an ideal developer experience (I realize this opinion is controversial). But OMP is essentially the VSCode to pi's Emacs.
I ended up choosing omp as my daily driver, mostly because I see the velocity of change in AI development being far too fast for me to make a worthwhile investment into customizing the environment myself, since that investment will have a relatively short half-life. With Linux, which I learned more than 30 years ago and still believe to be a fantastic investment, I can largely use the same knowledge I gained then to administer systems today. I fear that much investment in the specific tools that I add to my pi harness will expire before 2027. So I'm sort of drafting OMP until things settle down.
It automates a lot of the babysitting of agents, and lets me use a couple of smaller models with safeguards instead of burning tokens on a galaxy brain just because it listens to instructions in AGENTS.md.
/omfg automatically adds new rules, so I have plenty of project-specific enforcement (e.g. disallowing making certain fields public, which agents love to do to take a shortcut that ruins the architecture).
then i use pi in a terminal like a caveman to try the open models like deepseek etc.
I also have pi running on a VPS. I have a custom Django app that calls out to it for a bunch of stuff. I don't know how the full system works because the agents built it but basically I think one pi uses a whatsapp wrapper to constantly listen to a whatsapp group and find bills. Then those get added to the Django Database which triggers a second pi + deepseek to OCR them, parse out the data like amount, due date, reference etc, and update the database with that. I have a trigger to 'merge duplicate', which is also just a prompt and pi.
Yes you can do all this without a harness and just the model APIs directly but the harness means it can use linux tools to crop the PDFs etc, so when I also wanted a new feature that crops out the bank details and lets me hover over and see the original before making the payment for a bill that's just another tweak to pi's prompt (or more meta, me prompting my agent to update pi's prompt).
For one thing I've re-built my personal website with it (mostly via GH issues from GH iOS app) and also added a section to talk about how I use AI in general: https://a.l3x.in/ai
I also maintain a couple of other Pi-related projects:
- https://awesome-pi.site/ - https://github.com/shaftoe/pi-coding-agent-action
So yeah, I still love the tool and use it pretty much every day, either as TUI sessions or inside CI/CD workflows.
Long live Pi!
I've tried Oh-my-pi but it's too heavy for me and eats up 6% of my context on start. Also I find Pi's keyboard shortcuts easier to use.
I use WSL, one tab is GitBash running llama.ccp and the other is normal terminal running pi. Winning combo for me.
Also started using Pi as my search engine, which I've refine and does what I need it to do, can also ask it to create a html doc with links or markdown. Fun stuff.
But I do love it - super customizable, and my token usage seems way more efficient (this is purely vibe based ofc) compared to codex/cc.
I basically just install pi-fabric, pi-blackhole, grill-me and that's it. Tell my AGENTS.md to prefer subagent workflows. Herdr to manage all the terminals. I spend 99% of my professional work in this environment, I can't even remember the last time I had to open vscode/nvim.
Herdr is OK - but the actual interface / layout is nice. I previously would have like 6 terminals open and would lose track of which was which. I'm not super into the subagent workflows, but it's been helpful a time or two.
The only reason Herdr is just OK is because using agents to collaborate will sometimes just hijack my prompt input field. Maybe I'm using it incorrectly but I would have thought they might have a more elegant solution than that.
The only thing I've configured is the default model.
Did you write your own XMPP plugin, or did you use pi-xmpp package?
Like, is this thread full of astroturfing bots? What am I reading
Pi is great overall. I ended up deploying a GUI wrapper because TUI isn't as friendly to new adopters.
https://github.com/hardbeat920/monocode
But yes, the TUIs are supposed to be lightweight yet it is overall a horrible experience.
You don’t need extensions or fancy setups.
There's definitely a class of folks who like to "polish their tools" per se vs tools just being as a means to an end.
It's fine and cool, sort of like the desktop ricers do with Hyperland, Niri, etc showing off desktops, but never seem to do anything with this cool tech.
Just keep using Claude or Codex.
It's all window dressing and some delta in token usage, but again who cares really?
This really only matters when you're productizing "AI" for your end users, that's when you need to see which agent uses tools better, has more support for MCPs, headless mode, sessions, etc. \
i haven't gotten around to it yet, but i'd also like to change how `Bash` functions on a basic level (and subagents), where rather than the agent picking a fixed timeout, it just gets notified with exponential backoff about commands that aren't done and then gets a turn to decide what to do with it.
having said that, i find it annoying and not empowering that basic things like subagents and web search aren't built in. the ideal to me seems to be an agent with polished extensions for all the common use cases that can be disabled if you do want to rewrite them. but i put up with the pain because i really want my pet feature ¯\_(ツ)_/¯
I have eight or nine custom extensions at varying levels of maturity, some nearing the point where sharing them becomes useful.
One is a simple but obvious Eoka extension for Pi.
I modified my terminal (Alacritty) to support the Kitty image protocol (it already spoke sixel; Pi understandably uses the superior Kitty protocol). And a toolcall that lets the LLM put an image in the transcript (upstream Pi lets only image-modality LLMs do this). "Deepseek, do XYZ in a headful Chromium using Xvfb and show me a screenshot before each step".
Once you see the immense power you get from being able to modify both ends of the terminal connection (and having LLMs write the tests and tedious parts for you) it's addictive. I've added a custom terminal extension for negative-row-number cursor positioning, and support for it on both sides of the connection (Pi and Alacritty). End result: all the performance of native scrollback with no compromises -- Pi can modify rows above the top of the visible part of the screen, like collapsing/expanding toolcalls, without forcing a full-terminal refresh.
Also: click-to-expand/collapse toolcalls/replies individually. Really helpful.
Disappointed that Pi is abandoning the minimality philosophy.
I love open source. I love the terminal. I spent the last 20+ years in a terminal w/vim every single day, and then claude/codex TUIs, and yet I care more about my own productivity so I don't use any of that now.
For research, planning, figuring out bugs, etc I usually don’t bother creating the worktree until I’ve decided on the implementation.
I’m sure there’s better workflows and software, but all I’ve got for work is gh copilot and Claude enterprise. I like copilot better than Claude for the most part.
cursor.com
conductor.build
code.visualstudio.com w/ Claude Plugin or equivalent plugin
zed.dev
there are dozens tbh
I usually start a codex or claude session on the remote host, close my mac, even restart Orca desktop on mac, but when I start Orca, I can watch the Orca on my remote host working through.
It's similar to Claude remote session, but just easier to manage, easier to create worktree, easier to navigate, open multiple tabs etc.
Tossed all my weekly usage for each provider at the top with their 5hour windows and such. its been great so far.
I usually recommend Conductor to most people. Personally, I use the one I built, but it's got a few ergonomic issues for most people which I still need to fix.
No affiliation, just arrived at Paseo after a bunch of research.
I've eventually settled on a CLI agent multiplexer that essentially run in the background while the frontend is a GUI gateway agent to that backend system with a goal middle layer so I no longer need to interject directly into the prompts and forces the CC and Codexes to communicate to me in a structured format relevant to my purpose.
Even if taking pride in your tools was a productivity killer (I have my doubts), maybe there's mental value to be gained.
In Oct 2026, if you're optimizing for productivity, then yes, you probably should just use both Claude and Codex in a GUI agent multiplexer and forget about everything else.
If you care about other things, then have fun, no one is stopping you. I'd disagree with you that using alternatives mean you take more "care" and have more "pride" in your tools, but it's hardly worth arguing over.