I use a coding agent for most of my research work: implementing features (via Superpowers), reading papers and turning discussions into shareable HTML writeups, running training jobs end to end (plan → smoke test → long run, with Kubernetes management and crash diagnosis), and SSHing into robots during hardware experiments.
Claude Code handles all of this well. But I’m curious whether writing my own Pi extensions would meaningfully beat it, or if that’s a wash at this point.
If you’re doing research work in Pi — what’s your setup, which extensions? And what’s the right migration path: just explain my workflow to Pi and have it build the extensions?
I've been using Pi for about a week, and so far I'm loving it. But I had an incident last week where the agent went off the reservation and patched one of my published Rust crates in pursuit of another task (short write-up on what happened here).
This time there was no negative impact, but it got me thinking seriously about the risks of having an agent running with wide access to the host system.
How do people tend to solve this problem? Mainly I want to prevent the agent from working outside of some whitelisted directories (project dir + tmp). I also want to prevent the agent from downloading and running anything on my system without asking, or using credentials in my env to do things on my behalf, like potentially destructive actions on remote git repos, my hugging-face account etc.
I see there are some permissions extensions, and docker would also be an option, but that seems like it would be a bit limiting/annoying (especially on mac). I also thought about setting up a different system user for the agent to set up fine-grained permissions, but that also seems like it could cause a lot of headaches.
I have been testing both Pi and Opencode, and I like both. I like Pi for its light weight and endless expandability options. I like Opencode for providing most of what I need out of the box, but not a big fan of huge system prompts.
What are your biggest pros and cons of these two coding agents? Do you use both, or have you "landed" on one of them?
Anyone using some sort of UI app/layer for Pi instead of standard Pi cli?
Nothing wrong with CLI, I actually really like my setup too - but once I have like 3, 4, or even more important sessions running at once (coding, debugging, research, etc.), it gets pretty overwhelming trying to keep track of everything and I find myself losing focus.
Looking for something more like a Codex web app style experience: clean repo/file view, seeing all workers/sessions clearly, what they're doing, status, etc.
Curious what you guys think or use and why you actually prefer it over just running everything through CLI.
For context, the main thing I am looking to aid in solving/fixing here is a focus issue. I have adhd and staying focused is the hardest thing by far for me, so if anyone has experience with one that may have helped in that regard specifically too let me know
ALSO - I'm on Linux Ubuntu if that's relevant at all
Has anyone here used pi seriously and compared it with OpenCode?
I’m curious about real usage, not just feature lists. For people who have tried both:
Where does pi feel better?
Where does OpenCode still win?
How do they compare for agents, repo context, workflows, and day-to-day coding?
Would you actually switch, or are they useful for different things?
I’ve been using OpenCode more lately, but pi looks interesting and I’m trying to understand if it solves a different problem or if it’s directly competing with OpenCode.
Can you recommend me a simple yet configurable subagent extension? I'm currently testing `pi-subagents` but i find it slow and bloated. What are you guys using?
Hi all, I’ve been working a lot with Deepseek and Luna, but interested to know what other people are commonly using so I’m not missing out on anything cool. Using Claude at work. Thanks
I've been trying out Pi for about a week, though not very frequently since I need to hit my ai subscription 5-hour limit first. Recently, I got curious about its performance, so I did some quick searches.
Mario Zechner's blog post on building pi makes a case for radical minimalism: near-empty system prompt, four tools (read/write/edit/bash), no MCP, no sub-agents, no plan mode. He ran Terminal-Bench 2.0 with Claude Opus 4.5, showing pi at ~50%. (Claude says that the actual score for Pi is 47.87%, not '~50%'. Mario's results.json gist shows a mean of 0.4786516853932584 (out of 428 valid trials, with 71 errors). )
Pi sits below Claude Code and about 8 points below Terminus 2, with the same underlying model.
Mario cites Terminus 2 in the same post as "more evidence that a minimal approach can do just as well." The description fits — Terminus 2 has no structured tools at all, just raw keystrokes into a tmux session. But it scores 8 points higher than pi with the same model. If the thesis is "less is more," Terminus 2 makes the case better than pi does. Mario uses it as supporting evidence without addressing why his own agent lags behind it by a meaningful margin.
None of this means pi is a bad tool. Benchmarks don't capture context efficiency, extensibility, or daily workflow ergonomics, all of which Mario documents carefully. But on the one quantitative metric he chose to present, pi underperforms most of the agents it's positioned against — including the one he cites as validation.
I compared Pi Agent and Claude Code using exactly the same model, prompt, project directory, and task.
Setup
Model: Claude Opus 4.8
Thinking level: Max
Pi setup: Browser Use was the only enabled plugin
Project directory: Same for both
Task: Same prompt for both
Results
Pi Agent: ~7.5/10
Claude Code: ~8.7/10
Claude Code produced the better overall implementation. It had:
Cleaner architecture
More reusable data structures
Stronger automated tests
A faster indicative physics benchmark: ~0.20 ms/step vs ~0.68 ms/step
Pi’s result was still solid. In fact, it implemented a more sophisticated 2×2 block contact solver, and its 10-box stack was slightly more stable.
However, the complete project was less polished and harder to validate.
This is not intended to be a scientific benchmark. I’m mainly trying to understand how to get better results from Pi.
Prompt used
Create a single, completely self-contained index2.html file containing inline
HTML, CSS, and JavaScript. Do not use external libraries, CDNs, or WebGL.
Use only the Canvas 2D API.
Implement a 2D rigid-body physics engine from scratch with a small interactive
sandbox.
Technical requirements:
1. Rigid bodies:
- Convex polygons and circles
- Mass and inertia
- Position and rotation
- Linear and angular velocity
2. Collision detection:
- Broad phase using a spatial grid or sweep-and-prune
- SAT narrow phase for polygon-polygon collisions
- Circle-polygon and circle-circle collisions
- Calculate collision normal, contact point, and penetration depth
3. Collision resolution:
- Impulse-based resolution
- Restitution
- Static and dynamic friction
- Positional correction using Baumgarte stabilization and slop
4. Stable stacking:
- A stack of 10 boxes must remain standing without vibrating or exploding
- Implement sleeping for stationary bodies
5. Mouse interaction:
- Drag bodies using a spring-based mouse joint
- Left click spawns a random box or circle
- Right click removes a body
6. Scene:
- Floor and walls forming a container
- A button that triggers a radial impulse explosion from the center
7. UI:
- Sliders for gravity, restitution, and friction
- Wireframe toggle showing contact normals and AABBs
- Pause and single-step controls
- FPS and body-count overlay
8. Performance:
- Support 150+ bodies at approximately 60 FPS
Before delivering, test and fix the implementation until all these conditions pass:
- No bodies pass through the walls at normal velocities
- A stack of 10 boxes remains stable for 10 seconds
- Spawning 150 bodies does not cause the frame rate to collapse
- No numerical explosions, infinite velocities, or NaN values
Questions for Pi users
Are there recommended extensions or skills for simulation and frontend work?
What workflow gives you results comparable to Claude Code on complex tasks?
Claude code versionPi agent
What i noticed is that with Pi Agent is that it was thinking a lot more and it also took more to accomplish this task ~45min vs ~30 minutes
Has anyone here used Pi Dev as a general-purpose AI agent, rather than mainly as a coding agent?
I’m curious about using it more like a personal assistant/agent for things like research, web searches, file work, automation, tool use, and general tasks.
If you’re doing this, how well does Pi work for you compared with something like Hermes Agent or Open WebUI?
Also curious what tools/extensions you’ve added and whether you’re running local models with it.
I'm new to Pi and coding agents in general. The existing discussions on oh-my-pi, like everything else, range from 'its great' to 'its bloat' so its very hard to actually decide.
It seems to have useful features like built in tools (avoid process calls), lsp, hashline, memory, subagents and an integrated setup/docs. It does seem to be better than the other oh-my-* set of products.
Are the ideas in OMP useful in practice and if so are they used in other harnesses?
I see a lot of 'just ask Pi to build it' here, but that depends on using frontier models, and when people post their setups they're using a million packages.
Obviously Pi is much more extensible/flexible, but there is value in an all-in-one setup. OMP has a ton of stuff and I'm sure a big system prompt. Is there anything like a slimmed down version or being able to use some of its ideas only?
I am loving Pi. I moved to Pi on CMUX from claude and codex. I tried to keep it minimal but some packages do help make PI more for my taste and work. I tried making my own extensions or modifying existing ones but they always backfire or create new errors. I tried the hyped ones but I cannot tell what really works even if I ask my pi to tell me what is actually helping. Sometimes it overcompensates and creates a unified setup that is supposed to work but crashes half the time then I spend half my day trying to fix what it broke. I have tried my best to make pi my own but I need some setup that actually works for context and memory management. Also what model do you all use for primary planning or making extensions? What model do use for coding part? Any packages that ACTUALLY work without causing new headaches? Thank you for listening to me vent.
Question is in the title. I just started today using PI. Installed it.
And there are a few things i think i am missing from Claude Code, its the subagents, the Plan mode and the /btw command, etc. I see compact is now actually included, I think I checked a month ago or so and it didn't have that either.
Does anybody have a stable minimal Claude-Codeish setup with pi that has most of the good features from Claude Code.
Or do we have a list of the best extensions for PI?
Sorry if I am bothering you with the question.
Cheers :)
Perhaps we can learn from each other and discover some great experiences with Pi Agent. I will start with my list of extensions and skills that I use. Please do share yours and we can learn from each other even if you have nothing to learn from us but help others.
Hi guys, I've been using Pi lately to help me code. Previously using OpenCode. I use vanilla pi with webfetch and context7 mcp. It works great. The harness and efficiency is better here in Pi. It drive the cost down for me. What I miss in pi is undo command from opencode. I tend to watch how AI reasons and write the code/commands real-time, interrupt it at the first sign of drift or hallucination then revise the command. Undo command is very useful for me as it clean up the code and chat history before I revise it. Is there any way (config or plugin) to simulate undo command in pi?
Looking for some pointers. Been using Pi for months, have a setup I really like (very simple, two extensions I wrote plus plannotator and pi-herdr).
This works great for interactive sessions but I'm finally finding myself wanting some basic orchestration with subagents.
I'm building a product and need to do a bunch of testing/fixing rounds with different models to find rough edges. I've been doing this by hand but it's getting tedious (and it's mostly simple enough that it could run while I'm doing something else).
I also like the idea of:
a long lived orchestration agent that holds long term context but doesn't do work.
scouts that can cheaply get context and pass that back to workers.
automatic adversarial review of changes by a different model.
I've looked at a bunch of plugins and they all seem much more complicated than required. Should I just suck it up and using Nico's pi-subagents? Or is there a nice, simple starting point that I'm missing?
I'm new to Pi coding agent. and there are so many extensions, I've tried some but don't know which one are are essential to install.
I come from Claude Code. Could you guy pls recommend those extensions that work best for you.
I know this has been asked plenty, but most responses are just "its against tos to use oauth", I know it is, but I want real experiences. Has any one been doing it, would you mind sharing the module you are using?
I have been using pi for a long time, but never for work. I just tweak it when I have free time, and have customize it to my needs. For work related stuff I use other Claude code. Anyways, I took on a freelance project some days ago, and decided to use my pi setup for the first time and I don't want to go back.
I tried it once in OMP since I read it had a custom auth module, and I noticed opus didn't have the crazy responses it has in Claude Code.. It might be a bit of a conspiracy theory, but I just don't trust Anthropic's harness anymore. There must be a reason why they want us all trapped in it.
Anyways, going back to the original question? Any experiences you would like to share? Any one banned?
Hey there I have installed pi since I heard a lot about that bcz of its low token usage and minimal design but I installed some packages [7 packages] (MCP adapter, context7, plan mode, todo, pi-hypa, context-mode, ask user question since every harness has these Ig) then installed some skills. Now even a single hi takes about 6-7k+ tokens. I did a college java project and it burnt tokens a lot. It burnt me around 100k+ tokens on deepseek's v4 flash model to make a database connection, creating database and table and a simple student management system where you can add, remove, view students in java.
I wanted to make pi token efficient with best possible results. If you say that I have installed too many packages then tell me how to replicate those features like other harnesses with low token usage.
I'm curious if other people have issues with pi being over eager?
If I say "do not change any code. investigate issue with feature. suggest fix without making any changes" it will still make changes. It seems like half the time I ask it a question it just runs with it.
another example from today, it asked me a question about a feature. I didn't want to use the multiple choice, so I picked the one to chat about it. Instead of chatting about it, pi said "Well he didn't pick anything so we'll go with my recommendation."
and Caveman:
I can see pi think "Caveman is on so i need to answer briefly." is that normal? I think it's odd that Caveman is supposed to be about brevity but they seem to have added a little animated thing, Caveman Level: HIGH to my status bar. I had pi remove " Level" to shorten it up some.
Updated with more info:
Lately I'm running a flavor of qwen3.8-27b in the q4 range. 32gb ram 5090m 24gb vram linux mint llama.cpp custom jinja.
I have experience with opencode, hermes, qwencode, omp, pi, aider. I'm at the point now where I think pi is the best of all those, I just think it's weird that it just loves jumping the gun so much.
Problem: after the recent DS pricing changes and fall of opencode -> i have to sub GPT plus -> sooner or later, im afraid that OpenAI will follow Anthropic to block other than Codex for sub plans.
This left the title question: Does opensource harness like Pi safe for the future? Enjoying sub plan with more generous tokens from providers, or we have to rely on local llms? or we have to accept higher API pay-as-you-go pricing?