Since late 2022, I have steadily been learning to use LLM’s both using local models and cloud providers. It started first with Ollama and OpenWebUi and an never ending question and answer interaction after setting these up in docker.
In 2026, the meta has changed. A chat interface alone with a single shot question and answer interface is not a viable setup for any developer. Copilot, wink wink!
We now live in the world of agentic harnesses and personal assistants.
Agentic harness experiences
In short, agentic harness / command line interfaces or TUI interfaces provide the end user an interface to not just ask questions LLM’s, but allow LLM’s to perform tasks by providing a unified interface which combines skills, tools and extensions.
Agentic harness make it possible to transcend beyond single-shot responses, which probably is still used by the majority of the users in the world. But for developers and researchers, learning and mastering an agentic harness is a mandatory skill now.
In 2024, I first tried OpenHands which is an open source competitor to GitHub Copilot. I could not believe that a local LLM can read the code base and edit my programs for me. Although with poor accuracy. Then I tried Github Copliot at home as it was free to use in Visual Studio Code. I was impressed.
All this while, at work I only had access to Microsoft’s Copilot. Looking back, asking it single shot questions was a chore!
Then in 2025, at my new workplace, I got access to enterprise GitHub Copilot and things just took off. I now had access to more powerful LLM’s. I remembered how different and capable it was compared to OpenHands. I was both excited and scared!
In Feburary 2026, I tried out OpenCode within which I could use my Github Copilot subscription. Until this time, I was not worried about the context window as most of my code base would fit within the context window. At lets be honest, context optimization was not top priority. Although soon I noticed that whenever I used the Claude models, my context window was consumed much faster no matter which agentic harness I used.
Little did I know that, these harnesses themselves append a large system prompt to aid the LLM’s in understading tools, skills and extension they have access to. The system prompt consumed part of the context window with each new conversation meaning that the actually request sent to the model was much more wordy then it needed to be. This turns out can result in sub optimal responses from LLMs.
Pi coding agent
After all those expierences, in April 2026, I came across pi a shittycodingagent after which the way I use LLM’s has drastically changed! Let me explain.
Pi is minimal with the smallest system prompt of all the harneses I tried
This meant that my context window was not used up so much by the inbuilt system prompt.
Simple planning mode
I like the fact that the planning mode is an community extension and not inbuilt feature. I rather have the LLM save a plan to MD file which I can review than have it come up with a plan which anyway needs my intervention to improve or accept. Using an MD file gives me the control over the features already completed and the ones still remaining
Token usage
One day at work with Claude Sonnet 4.6 I vibe coded straight for over 5 hours. The context window still showed 50% remaining. I did the same on OpenCode and Zed editor, both ate up my context on the same model within 30 - 40 minutes! That is a clear win for me.
Customize with purpose
I can choose to customize how pi works. Especially, slowly build up a skills, tools and extensions. For example, I use
caveman skill, which allowed me to avoid excessive output tokens from the LLM responses.
Liteparse which is handy when I want to parse pdf and images and extract texts from them.
tokenjuice helps me ensure the extra text matter after running bash commands and not sent to LLM’s context. Removes the fluff!
How can you not like pi when the creator is so genuine?
This YouTube video is a great watch for anyone still wondering if you should make the shift.
Not to forget the most viral project of 2026 (OpenClaw) uses pi as its agentic harness. So yes pi is battle tested much like claude code!
The
/tree,/exportand/forkcommands are great to have access to. They give me a choice as to how I interact with a session.
Things I am not so impressed when using pi
- As pi is getting a lot of organic traction, it gets updated often and can have breaking changes.
- It has YOLO mode as default, which means that if I provide some prompt the agent will not ask me for any permissions, it will just perform the operations. I become a spectator. I can change this by using an extension or editting the agent prompt. Nonetheless, this is a risk when working on production environments.
- I miss the feature which OpenCode has when you open a new session, you can use the up arrow key to spawn the last prompt used in that folder. I think this is possible in pi as well, but I have not been able to find how to get this by default.
Resources
Building pi in a World of Slop — Mario Zechner
Hands down the best short introduction on Pi Coding Agent