Pi 1.0

886 pointsposted 9 hours ago
by sergiotapia

297 Comments

FacelessJim

8 hours ago

Love pi. I tried to run some local models and pi was the only one that actually worked decently because it didn’t have a gargantuan system prompt that would take minutes to prefill on my scrawny ass laptop.

Been running it almost barebones vanilla for a couple of months. Just a bunch of basic extensions and some skills.

Now, if only they could fix the very annoying bug of the history jumping back at the beginning if I am not a the end while the model is reasoning that would great.

RickS

7 hours ago

Couldn't agree more. The vanilla openclaw install was this byzantine mess of MD files talking about souls and identities and such, it really put me off. Stripping back to a bare install of the underlying pi, it was delightfully minimal and easy to reason about. Excellent starting point for building an assistant agent without having to read or fight with a bunch of cruft on top.

Couple skills to integrate with an obsidian MD task tracker, small chat interface on the phone made public via tailscale, and bam, a reminder bot you can text from the grocery store.

simpaticoder

5 hours ago

You inspired me to try Pi out - so far it's worked flawlessly. Plugged it into OpenRouter and ~$.50 of Deepseek later I've installed llama.cpp and Llama 3.1. The local model doesn't work with Pi yet (and I know it will be bad and slow even if it does) but I'm curious to see what you can do on an 8GB consumer GPU these days...

rablackburn

4 hours ago

> I'm curious to see what you can do on an 8GB consumer GPU these days

Running smaller 4B-7B models entirely on the GPU VRAM will get you fast inference, but you will need to scope and define the tasks well. eg, using it the model as a classifier and just feeding it from a queue.

The best performing "agent"-like model to plug into a harness that I have found so far has been Qwen3.6-35B-A3B (mixture of experts) model as I can park most of it in system RAM and CPU, while the VRAM holds the attention/shared weights.

It's definitely workable as a local AI homelab. But expect homelab levels of tuning/fiddling with it.

With the improved support for AMD GPUs I'm finally considering getting a modern 16GB card (and maybe a second one in a few years assuming prices come down)

whatshisface

3 hours ago

If you paid DeepSeek directly, that would have been 1 to 10 cents. OpenRouter has a huge overhead due to their cache logic, I'm surprised they keep business coming in the door for tasks other than system prompt - output pairs.

simpaticoder

2 hours ago

I think it was actually less than that. I was doing something else too in another agent.

sejje

4 hours ago

> I'm curious to see what you can do on an 8GB consumer GPU these days.

Nothing, really. Might be coming soon, but no.

You probably want to try bonsai, I guess, but don't expect good results.

what

3 hours ago

> ~$.50 of Deepseek later I've installed llama.cpp and Llama 3.1

You could install this yourself for free? I get $0.50 isn’t all that much, but still?

simpaticoder

3 hours ago

Sure, but I'm not interested in learning about running cpp, installing CUDA, finding the right URLs for downloading llama weights. It's the best 50 cents I've spent in 20 years.

8n4vidtmkvmk

2 hours ago

Even so, I'm surprised it cost that much. I thought deepseek was cheaper.

But AI for installing tricky opensource software is indeed a good use case. I do that too.

rsync

8 hours ago

"Been running it almost barebones vanilla for a couple of months. Just a bunch of basic extensions and some skills."

I am also using pi exclusively after having had decent success with openhands but begrudging all of the docker infrastructure ... and all of the emojis.

My only pain point is that in my extremely common and boring workflow, which is pi inside of gnu screen inside of OSX terminal.app ... all reasoning/thinking text is blinking ... like old fashioned ANSI blink on a BBS.

I cannot figure out how to disable the blinking thought/reasoning text ...

rmunn

2 hours ago

Have you tried a different terminal app, such as Ghostty? https://ghostty.org/ has a Mac build, and handles italics properly. That might solve your issue without having to edit any configuration files. Plus, as a side benefit, Ghostty ignores the ANSI color codes for blinking text, so you won't ever see blinking text again.

cbsks

7 hours ago

I just fixed something very similar in my setup. Except in my case the reasoning text was shown in dark grey on a light gray background. Very ugly and hard to read.

If I remember correctly, the reasoning text was being output using the italic ANSI code, which was being formatted funny on my terminal. I fixed it by adding a font that supports italics. I recommend taking a look at the ansi codes.

rsync

7 hours ago

Thanks.

This seems like an obvious configuration option - I can imagine someone disliking the italics as well…

nine_k

an hour ago

If only we had a way to tell the machine to locate and fix this problem to our liking...

nine_k

an hour ago

If you love your terminal app and won't switch to Ghostty or WezTerm, at least try tmux instead of the venerable but ancient GNU screen.

huijzer

a few seconds ago

Alacritty plus Zellij works great for me. Much easier to use than tmux

sothatsit

3 hours ago

I was running into similar issues where italics text was blinking. I traced it back to a bug in screen, which I patched in my own screen fork. Not sure if exactly the same bug but could be? https://github.com/Sothatsit/screen

rpdillon

2 hours ago

See if you can replicate this inside of tmux. It might be screen's escape code handling.

gchamonlive

3 hours ago

I use oh-my-pi, not sure how it compares, but I say someone praising antigravity for being a good harness(1), and for the love of good people settle for such low standards of user experience it's almost pitiful.

(1) https://news.ycombinator.com/item?id=49913854

ziphyrien

3 hours ago

This bug was fixed several months ago; you just need to switch to full-screen mode, though you hadn’t done so previously.

However, they have now set full-screen mode as the default.

wilt_

7 hours ago

Are you using Windows Terminal by any chance? I'm building a personal fork [0] with a patch for this exact bug (plus a few other open PRs from the upstream repo that seemed cool). Haven't tried contributing it upstream, since the patch is fully vibe-coded and I've spent almost no time trying to understand how it works, but the bug hasn't recurred since I've been using it.

[0] https://github.com/wilt00/windows-terminal/releases

rylando

4 hours ago

I wonder how Tolkien would’ve thought about the use of LotR names being used by all these AI and tech companies.. especially since they all seem to use the names of things that were corrupted by darkness.

gjm11

4 hours ago

I wonder much the same thing, but this seems like a slightly odd place to say it since so far as I can see the only LotR name in the linked article is the company name Earendil, and AFAIK Earendil-in-Tolkien was very much not corrupted by darkness.

jrmeyer2

4 hours ago

“The Shadow that bred them can only mock, it cannot make: not real things of its own. I don't think it gave life ..., it only ruined them and twisted them.”

ttmacer

3 hours ago

It's so great to see now that the folks behind Pi also try to pivot away from the idea that Pi is more than a "coding" agent. Its minimalism, and tool call primitives really lends itself to be a general purpose agent for your OS that you gradually extend on demand for your specific use case.

Since January I use Pi professionally as well as personally and I can only recommend to start small and grow your harness over time. For example, for an agent in production it was so helpful for me to use Pi in interactive mode via tmux to get a feel of the agentic flow, tool calls and reasoning traces for a certain use case while only the stylized responses are rendered in Telegram via an extension to the user. As a Developer, I have full technical observability and control while providing and incrementally improving a service to a user at the same time.

Excited how Pi Durable will fit in and can support more. Congrats and thank you!

ghm2180

35 minutes ago

Hey thanks for posting this. I use pi professionally too. I am curious how you used agentic workflows with pi before. The simplest(since the early days) was letting it use Tmux for spawning other sessions and controlling it.

The second case, more recent, is one where I use actively now is linking pi sessions to some artifact like a code change(PR or diff) or a collection of document and then continuing the session in that context.

What was your main power case with it.

asp_hornet

2 hours ago

You have made me excited to try it. Thanks for the tips.

utilize1808

7 hours ago

I don't understand why "Cache warming for anthropic models" was not put into a standalone package, but has to be bundled with the "minimal" coding agent.

threecheese

6 hours ago

It's table stakes for using Anthropic APIs cost-consciously. They aren't building a minimal harness for nerd points; they are building it to be usable, and dogfooding it with Real Money to learn what that means realistically.

This might've made a better argument ca. 2005 wrt a 20-something Austrian's minimalist wsgi framework. Heck, I'll bet you could even find said argument somewhere in the Archive :)

tcdent

5 hours ago

Yeah, it's such a subjective feature. I don't really worry about the five minute timeout, but sometimes if I'm conscious about the fact that I have an 800k token context window that I haven't interacted with for a day, I will switch to Opus for compaction and then back to Fable for interaction.

In general, though, some kind of API ping on a timeout does not support my personal workflow, which involves dozens of active or stagnant agent sessions that stay open for weeks.

ruined

6 hours ago

because "i came back from lunch and my fresh 5h usage limit evaporated" is not a feature

i guess you could blame the api, if you wanted.

utilize1808

5 hours ago

What 5h usage limit?

On a more serious note: pi-agent shouldn't know about such arbitrary limits imposed by a company that gets paranoid when people use thrid-party agents to consume their Claude subscriptions.

shepherdjerred

4 hours ago

It’s not reasonable to ignore one of the biggest players in the space no matter how much you disagree with them

what

3 hours ago

It is actually reasonable to ignore them. It should be plugin/extension you can install if you want.

wasting_time

8 hours ago

So, how are people actually using Pi? Here I am with Claude Code and Codex in a terminal like a caveman.

calebkaiser

8 hours ago

I don't use Pi very much for actual writing code. I have some specific use-cases where I do, but I'm admittedly just not a person who can reasonably juggle a lot of tools or a super personalized setup. I mostly just use Codex or CC from the terminal, though I've recently dabbled with some GUIs. Basically, once I find something that works, I'm pretty reticent to spend any time tinkering unless I feel a real need.

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.

pettijohn

2 hours ago

I use PI WEB (https://pi-web.dev, there's more than one with that name) to orchestrate remotely. Pi lets me run local models (currently Qwen 3.8 Flash Next on Strix Halo 128GB) and flagship models (with subscription auth, not API pricing) side by side. I typically ask GPT 6.1 Sol to review requirements and then spawn a subsession with Qwen, review Qwen's work, ask Qwen to fix. About 95% success with a single pass like that, achieving flagship quality without the price tag (albeit slower).

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.

clickety_clack

8 hours ago

I’m also looking for tips. I feel like I get the gist, but if I sat down to use it, I don’t know what I want to start with. Like, I know it’s customizable, but what’s the on-ramp so I can figure out what that looks like?

Juvination

8 hours ago

So Pi is a lot of fun. I’ve been working on Volt, a fork of Pi, mostly out of my frustrations with remote development. I expanded out the existing RPC and built a mobile app around it.

It kind of just gets with how you creative you want to be about it.

avazhi

4 hours ago

Thanks, you didn’t answer his question at all.

scott01

3 hours ago

This was a response to a request for tips, suggesting oh-my-pi.

darklinear

6 hours ago

I run it with a single extension to give it web search access, and then I have a few skills for reviewing and planning. You really don't need that much IMO

arcanemachiner

6 hours ago

You use it, then something bugs you, then you find an extension that solves the problem, or tell an agent to fix it for you by making your own extension.

It's kinda a tinkerer hobby IMO. I like the freedom, but at the end of the day, it's still just a harness.

tempoponet

6 hours ago

lazypi has a sensible default collection of plugins and configs to get started

lofaszvanitt

4 hours ago

If you can't find a use for it, then don't use it. So easy. 99% of AI related things are mostly hype and totally useless. Adult childrin having their shiny new gadgets make them feel 14 year old again and again.

jmcdonald-ut

3 hours ago

I've only used it at home a little on personal projects. My usage is probably odd -- I connected it with Bedrock, but otherwise used it the same as I do Claude Code (mostly). My basic flow was simple:

  - 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...

darklinear

6 hours ago

I use pi with a ChatGPT subscription. I find that it does better than the native codex harness: - it's very token efficient. I've had whole profiling + refactoring sessions finish in <20k tokens, whereas in codex you can get close to that with just all the cruft OpenAI loads by default before you even send your own messages - the token efficiency means turns are a lot snappier - fine-grained context control by default - I have to disable a bunch of stuff in codex so it doesn't pollute my context with generated memories - I find that OpenAI model sometimes struggle to navigate codex' sandboxing, and burn a bunch of tool calls retrying outside the sandbox when the sandboxed command fails

ritzaco

8 hours ago

I use claude code and codex in a terminal like a caveman too.

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).

razster

6 hours ago

I use my Pi to organize my graphic design assets as well as update documentation for client projects. It also is my daily driver for a story I'm working on and thanks to a ton of great skills created it has become more powerful. Local model is Qwen3.6 35B-A3B and Qwen3.8 27B UD. I love the compressing function, keeps on pushing.

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.

girvo

6 hours ago

I use Pi in the terminal and with Zed (with its "right hand side" terminal bar you can make its agent panel do), and I use it with Pendant in VSCode at home: Pendant is really quite impressive, I'll be honest.

whiteblossom

8 hours ago

It's been pretty useful for experimenting with local models due to its more light-weight approach. Though I respect the creators a ton, OpenCode has not seemed to work as well with models that run on consumer hardware

unsnap_biceps

8 hours ago

Which models are you finding the most success with?

hypercube33

6 hours ago

I have more beefcake machines and Qwen 4.6 36B has been awesome for coding. Its fast for a local model, seems to get a lot right most of the time, just its slower than OpenAI/Claude/Cloud Hosted stuff since I dont have a 24GB+ GPU (I have Strix Halo and a 12GB GPU)

whiteblossom

7 hours ago

qwen3.5 4b and 9b have both been surprisingly good for small tasks. a pattern I've been using is orchestrating pi agents with a script (that you can write using a frontier model) for common tasks. one script i use a lot is organizing photos from my photography shoots.

pavo-etc

3 hours ago

I've put it into an XMPP wrapper for all communications so I can talk to my agents from any device supporting XMPP (all devices). This also means agents can talk to each other using group chats. I'm building apps from my phone on the bus, and handing off server admin tasks to the agents since they run in their own NixOS account with limited permissions.

avazhi

4 hours ago

Ten people have replied to your question (which is the same question I have) and not one of them have answered it so I figured I’d be number 11.

Like, is this thread full of astroturfing bots? What am I reading

BeetleB

8 hours ago

You just type "pi" in the command prompt and you're good to go!

The only thing I've configured is the default model.

para_parolu

3 hours ago

I built and “ide” around it in obsidian. Works great. And I don’t need to jump between apps to change models. Astra and opus in same chat works just fine

personjerry

8 hours ago

I believe this is the popular "batteries included" kit: https://github.com/can1357/oh-my-pi

mcast

8 hours ago

This harness also burns a lot more tokens than Pi, which sort of kills the minimal philosophy/system prompt that Pi came from.

CharlesW

4 hours ago

That the "batteries included" bit, but it's not "burning tokens" in the sense that using Pi with the same batteries would (of course) use just as many. I can strongly recommend omp.sh if you just want to be up and running without hassle and a far better (for me) developer experience.

rpdillon

2 hours ago

Yeah, saying it kills the minimalist bit misses the point of omp being a separate project. It took a minimalist-base of pi and added tools that make it usable out of the box. Hence batteries.

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.

razster

7 hours ago

Yeah I just gave it a run and it starts off burning 6% of my tokens on start. Pi sits at 0%.

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.

rpdillon

an hour ago

OMP provides a significant amount of structure to the work. That costs some tokens in terms of the system prompt. When I use these systems, I balance the return of the extra guidance in the system prompt with the cost of the context. You've talked about how much context it takes, but you haven't talked about any difference in behavior.

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.

xboxnolifes

8 hours ago

Pi with extensions included is always going to burn more tokens than pi without extensions, no?

arcanemachiner

6 hours ago

Not if the extensions don't add any tools or modify your system prompt. :)

Hell, some extensions could theoretically lower your token burn. (Like rtk, if it actually worked.)

miroljub

5 hours ago

What's the use of extensions without tools or prompts?

agentdev001

4 hours ago

A cup holder doesnt make your car go faster.

orsorna

4 hours ago

I am wondering what use people get out of this. What I like about pi is that, using proprietary harnesses to begin with, I already somewhat know what kind of features I use and features I wish I could use. Asking pi to self modify itself (with a smart enough model) is a one time cost for a fully vetted feature that I personally approve. Do users of OMP find all of its additions useful?

pornel

4 hours ago

Yeah, Advisor and "time-travelling rules" (TTSR) work great (they're injecting corrective prompts automatically either via another critic LLM or a bunch of regex rules, respectively)

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.

alostpuppy

3 hours ago

I’d love to know more about the time traveling rules. How have you used them?

what

3 hours ago

It’s the same kind of people that would use omz, they probably have no idea what 90% of the batteries are or do. But it sure makes them feel smart and cool.

bayesianbot

8 hours ago

I know that's the way omp is often introduced but I don't think it's fair for either omp or pi - after lately switching my usage more towards omp I'd say by this point they're almost more different than Pi and Codex. And I like them both.

ZeWaka

7 hours ago

very happy with omp

jLaForest

8 hours ago

This is what I use, very happy

didibus

6 hours ago

Pi is popular for local-models/alternate-models. It's not much different from Claude Code and Codex otherwise.

lo5

5 hours ago

I use Pi with only a couple of extensions and using less and less of CC and Codex everyday. It feels light and nimble. Codemode from yesterday's release made it even better. I wish I could use my Claude subscription via Pi.

juanre

6 hours ago

Absolutely. Fellow caveman here, and a fan of Pi. I often use it with Astra instead of Codex, because its extensions allow you to connect it to the world. And it works very well.

pizzafeelsright

8 hours ago

I built my own based off another popular harness. I figure most of the edge cutters are doing the same.

Pi is great overall. I ended up deploying a GUI wrapper because TUI isn't as friendly to new adopters.

sroerick

8 hours ago

Vanilla Pi is great. I have a subagent/ Ralph loop extension I coded and that's basically it. It works very well. I'm about 75% pi, 20% autolith, and 5% my own harness

andix

6 hours ago

Exactly like that. Just install it, connect a provider and do stuff.

You don’t need extensions or fancy setups.

gedy

8 hours ago

> Here I am with Claude Code and Codex in a terminal like a caveman

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.

nfRfqX5n

8 hours ago

Using models from multiple providers via aws bedrock

r14c

8 hours ago

I use workmux with pi plus some neovim plug-ins

octoberfranklin

26 minutes ago

Extensively, almost as much as I use my editor.

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.

tamimio

7 hours ago

Pi vs opencode for example is like gentoo vs macos, if you want to spend your time customizing and dealing with harness itself rather than doing the work, then go for it, it will be fun, like gentoo. I think the best productive setup is herdr+opencode or zed and opencode, unless you need CC for anthropic models. The only thing however, is how the same model works with different harnesses, positive or negative, is where you might need to shuffle between to maximize the results.

stefan_

7 hours ago

They are not, Pi is the vim or mechanical keyboard of the pre-AI era. Didn't matter then, doesn't matter now. Will generate infinite discourse regardless.

sergiotapia

8 hours ago

Frankly you are not losing much. I've used everything under the sun, for work and fun. I just use Claude now again for work, and I use Pi for any openrouter model I'm using.

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. \

igorbark

8 hours ago

the main thing i use it for that seems like a pain with other coding agents is my sandboxing workflow: i have a custom extension which allows the pi process to run on my laptop, keeping all my transcripts in one searchable place, while delegating all the bash and file system commands to a VM.

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 ¯\_(ツ)_/¯

esafak

8 hours ago

I use it headless for reviews in CI.

jacobgold

8 hours ago

And you're probably more productive than the people using Pi. Although you'd be even better off using a GUI agent multiplexer of some kind rather than juggling terminal tabs.

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.

pkulak

7 hours ago

There's something about this take that... irks me. A little bit more every time I hear it, and I've been hearing it a lot. I dislike the implication that anyone who takes more care with their setup than downloading an exe from a website and double clicking it is some kind of chump. They could be prompting the next ticket instead!

Even if taking pride in your tools was a productivity killer (I have my doubts), maybe there's mental value to be gained.

jacobgold

6 hours ago

You're inferring things I did not actually imply.

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.

w-ll

8 hours ago

What do you suggest for a GUI agent multiplexer?

hakunin

2 hours ago

Paseo allows you to start a daemon from command line, thereby passing your ENV credentials to the daemon from, say, your 1Password-based env. Then both local Mac GUI and their native iPhone app (through Tailscale) can connect to this daemon. This is the most ergonomic local and remote setup where I can start a session on my Mac and continue on my phone or vice versa, with any agent: Pi, Claude, Codex, OMP, all natively supported.

No affiliation, just arrived at Paseo after a bunch of research.

jacobgold

8 hours ago

The important thing is just to a GUI agent multiplexer, they're all mostly doing the same kind of thing. IMHO it's very important to have the official claude and codex harnesses (not just models). I also like having each session in a isolated container (or VM) so the agent can go wild and run in yolo mode.

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.

sidrag22

8 hours ago

you can just roll your own, this is probably the most popular side project of the past year, I crafted my own version within a day or so this past week, with corny visual assets as well since its just for me. Kinda rolled my workflows into it so it fits how i work with plans and how i avoid compaction in favor of handoffs or just plan docs that constrain each session to x amount of tokens each session.

Tossed all my weekly usage for each provider at the top with their 5hour windows and such. its been great so far.

redhed

6 hours ago

Yeah I also created my own TUI one and only took a couple days. Using it less now though because the models have gotten pretty good at spinning up their own agents.

bibstha

8 hours ago

onorca.dev. I used herdr before now Orca has fully replaced it. (I'm not affilianted with Orca in any way except I use it every day). Orca also supports separate hosts. My setup Orca running in my Mac. Orca running in my home proxmox lxc (orcabox). I have few different projects, Rails, PHP, etc. In Orca, I open these projects and point it to my local folder as well as the folder remotely.

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.

fancy_pantser

7 hours ago

zed.dev is like Orca, but lightning fast and fully multi-player (both AI and humans)

ninininino

8 hours ago

t3.codes

cursor.com

conductor.build

code.visualstudio.com w/ Claude Plugin or equivalent plugin

zed.dev

there are dozens tbh

trefoiled

7 hours ago

It's not an either/or. Orca is a GUI agent multiplexer that works with dozens of harnesses, including Pi. The advantage with Pi is that you can vibe code any kind of extension you want. I like to see various stats (tps, ttft, etc) on each turn, and there's an extension for that, but it doesn't show wall clock time for the turn. Ok, pull down the extension and tweak it to add that. It's great.

mattm

7 hours ago

If you like the terminal I'm building https://alcubi.ai/delegator/ It's terminal based and I've taken a different approach to avoid context overload of switching tabs. Agents run in the background and you review the work when it's ready.

Aperocky

7 hours ago

vim/past vim terminal dweller here.

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.

manav

8 hours ago

What do you use

phoghed

8 hours ago

Personally I use gh copilot in vscode and make new worktrees when I want parallel agents that are both going to write code.

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.

holbrad

6 hours ago

I was under the impression that GitHub Copilot was much more expensive because you're always paying API rates?

phoghed

2 hours ago

Enterprise pays API rates everywhere afaik. Our Claude Enterprise is pay per token too. Maybe some volume deal idk.

jwpapi

7 hours ago

what advantage do you have with a gui multiplexer over the terminal?

azuanrb

7 hours ago

I’m currently building a harness for Slack to support our on-call and support channels. It’s been working great so far.

The harness is built on top of the Pi SDK. I initially used Codex, but Pi seems more hackable, and I like that it’s vendor-agnostic by default.

Running it on Kubernetes works, but dealing with the JSONL session files and making sure sessions survive pod interruptions adds some complexity. I’m using DBOS for that right now, which works well, although it still feels like overkill.

The 1.0 release came at just the right time. I’m looking forward to removing the pieces I no longer need and simplifying the architecture!

cannonpalms

an hour ago

Stateful Kubernetes is a royal PITA. I would just throw stage into object storage and call it a day.

lukebuehler

7 hours ago

I think you should look into Pi Durable wich was just released right now too. seems like it is made for your use-case.

aliasxneo

8 hours ago

I found oh-my-pi with Paseo to be my personal sweet spot. Checks all of the boxes I want and is the most consistent set of AI tools I've used thus far.

jszymborski

8 hours ago

I tried Pi a while ago and found it a bit tough to use, OpenCode was pretty simple, but oh-my-pi is really head and shoulders above the two others. Really great.

dolebirchwood

7 hours ago

Just curious: What do you specifically like about oh-my-pi vs. OpenCode?

pmoriarty

5 hours ago

I had a really bad experience using OpenCode with Ox Alpha (when it was a stealth model on openrouter), with the model making countless mistakes. Then I tried omp with the same model and it was a million times better. I haven't looked back.

omp is feature rich, and it's very actively developed. I don't have the time or interest to pick and choose among the thousands of pi extensions, so the fact that omp already has a lot of useful things built it is a good match for me.

pornel

4 hours ago

Subagents in OpenCode suck. They're blank-slate black boxes that block execution.

OMP spawns agents asynchronously, letting the main agent check on them periodically and even chat back and forth with the subagents to coordinate dynamically instead of losing control after initial prompt (it's also very amusing, like watching Sims play office).

OMP also has /tan tangential prompt which spawns subagents that reuse entire conversation prefix (cached), so you don't waste tokens on sending them a recap of the situation and them re-discovering the codebase themselves. OpenCode kinda does it with fork + switch of sessions, but a command inside one session is quicker.

Footprint0521

an hour ago

How do you use omp with subagents and not burn through credits? I tried using orchestrate and it drained my wallet… I didn’t know about /tan though, that is sick

jszymborski

7 hours ago

A major aspect is that it automated out-of-the-box a pattern I naturally would do of writing a spec just before the context window would fill and then compacting and continuing.

Now I just write a prompt and OMP just hammers away at it. There might very well be some OpenCode plugin for this but it just works out of the box with OMP.

roger_

8 hours ago

Paseo is great and has mobile notifications but it’s not as polished as omp web.

aliasxneo

8 hours ago

I mainly use Paseo for the daemon features. I run it in a linux VM in my homelab and spawn all of my agent sessions on it. Exposed over Tailscale so I can connect to it from my desktop, laptop, and mobile phone and continue like nothing happened. A really great self-hosting experience.

Haven't used omp web yet.

stavros

4 hours ago

Do you have a link to OMP web?

ltrg

7 hours ago

If anyone's looking for something a bit more minimal, I can't recommend hax [0] enough. No MCP, agent just gets a shell tool, simple config, whole thing's in C.

[0] https://usehax.dev/

badsectoracula

5 hours ago

That looks interesting, built it (took seconds) and it is much smaller than Pi in terms of what it needs to work (when i installed Pi in a fresh Debian container it downloaded ~500MB of stuff, which isn't exactly what i had in mind when i read it is minimalistic :-P but it is a container so i didn't care much).

I'm just running it now in its own source with Qwen 3.8 27B and llama-server and asked it to analyze the code itself. I'm mainly curious to see how it handles context compaction during tasks (what Pi does is almost seamless and AFAICT it isn't anything particularly fancy so i'd expect Hax to do something similar) and i guess asking it to analyze a whole C codebase would help trigger that with a 131,072 context. Unfortunately it seems to be missing some "context usage" indicator while it does stuff (it shows context usage in the prompt but not while working), but i guess if it does manage to analyze the C code properly, i can ask it to add that :-P and see how it fares (from my use of Pi i'm positive Qwen 3.8 27B can do all that stuff, so it'd mainly be up to the harness).

EDIT: also i wonder if it works nicely if it is possible to convert Pi transcripts to Hax - i have a few "in progress" and i'd like to continue where i left from, though while both seem to use JSONL for the transcripts i'm not sure if they're compatible

EDIT2: hrm, it tried to use more than available tokens during a compaction and stopped there expecting me to increase the limit (i can, but what if i couldn't?) and restart the llama-server. Pi sometimes does hit it but it manages to recover by itself without requiring any input by me (or to increase llama-server's limit).

badsectoracula

2 hours ago

FWIW the compaction had failed again, so i used Pi with the same prompt, same model, same config to compare. The prompt was "check the current directory" followed by "analyze the code and give me a report in `CODE_REPORT.md` on how it works (also a brief report here). Make sure to update `CODE_REPORT.md` frequently (i.e. every time you analyze a file) to avoid context loss from context compaction".

Pi ended up hitting a compaction during a tool call and finished without issues, which is what i expected - in fact after giving the instruction i left to visit a relative since i expected it wouldn't need me to babysit it.

FWIW after it finished, i asked it the following:

---

Can you answer me the following questions about how Hax manages the context?

1. How does Hax handle running out of tokens? It does have some form of compaction, but if the compaction fails for some reason (e.g. the summary ends up needing more tokens) what does it do?

2. Can it handle cases where the context runs out of tokens during tool calls and if so, can it recover? How?

3. What happens with compaction if an LLM produces a few large responses or the LLM reads a few large files? Does the process ends up summarizing the entire (or all but one) conversation? Or is the entire conversation lost?

4. Are there any safeguards in place to avoid overwhelming the LLM? For example any file and tool output limits? If there is and any limits are reached, how does it handle them?

---

It went on and checked the code and, briefly the response (it was bigger but i don't want to repeat the entire thing):

1. It doesn't update the session on failure (last "good" session is kept), running out of context is treated like any other error without any automatic recovery and you're expected to fix it by hand (personally i'm not a fan of this).

2. Multiple tool calls are fine (there is a 85% threshold check to trigger compaction and a 50k tool result limit) but if a response and results jumps from below 85% to over 100% despite being under the 50k limit, it doesn't trigger any compaction and the next request is denied by the provider (i.e. llama-server). I have a feeling this is what i hit when i tried Hax with its own code.

3. There is no recovery from a user turn (prompt + response + tool result) that exceeds the window. FWIW this also seems to be the case with Pi.

4. It found a bunch of safeguards (tool output cap, caps in bytes and lines for the read tool, bash writes to a temp file and only a part of it is sent to the LLM, edit size cap, etc). AFAICT it is the same as Pi with one neat addition in that there is a default 2 minute timeout for bash calls (i've seen the LLM more than once run a command in Pi and end up stopping for 30+ minutes because the command wouldn't end).

For 3 i asked it a followup question: "About 3: AFAIK Pi (the harness you're on right now) does a "spit" summarization where the old messages are summarized up to a cutoff/split point and replaced with the summary while the newer messages after the cutoff/split point remain intact, which allow a mostly seamless transition between compactions. Does Hax do the same or something similar?"

The response was that, no, it doesn't, it summarizes the entire context. Which TBH is a bit of a dealbreaker for me since i often rely on this "seamless" continuity in my prompts and feels like the main reason why compactions feel like a non-issue with Pi.

Take the above with a grain of salt, i only checked the code for the compaction not using a split/cutoff point between older and recent messages, the rest are whatever Qwen 3.8 27B understood, but they do match my short empirical test. Also if my own understanding of the code is correct, it seems to be using the same system prompt for the summary as for regular/interactive use while AFAIK Pi uses a dedicated "you're an expert summarizer" (or something like that :-P) prompt. Not sure if it makes much or any difference, with LLMs being what they are, but TBH whatever Pi does works great IME.

On the other hand the idea of a self-contained native AI harness in C/C++ is enticing, especially one that doesn't have any network traffic outside of LLM-related stuff[0] and explicit user requests (Pi does try to autoupdate and has a separate opt-out telemetry beacon - both of which are disabled in different means, one via environment variable and another via a setting, which smells a bit like an dark pattern to me).

Anyway, this is the result of my findings about Hax. It is neat, but TBH the context handling is the main dealbreaker for me, especially since i'm often having the agent do something in the background (using a local LLM isn't exactly the speediest workflow) and do other stuff or leave the computer alone, so the last thing i want is to babysit the agent for errors. Pi's split summarization and context overflow handling seem to work much better.

For now i'll probably stick with Pi (i have autoupdates and telemetry disabled and i hope there isn't any other hidden snitch in place) and perhaps at some point i'll do the NIH thing and make yet another agent myself :-P

[0] well, it does attempt to autoconnect to a potentially running llama-server in localhost without being explicitly told to do so (Pi wants explicit configuration) but meh

octoberfranklin

31 minutes ago

Yeah I think Pi just abandoned the prize and hax is the heir apparent.

Pi's selling point used to be: no MCP, native scrollback.

Now Pi is a fullscreen TUI with built-in MCP.

exe34

7 hours ago

It says "local models" - do you know if it makes any special effort to fit work within a small context window?

ltrg

7 hours ago

I'm not sure, to be honest -- I think the main agent loop, tools, etc. are fairly standard and the main draw is fast start-up time, but it does have a very minimal default system prompt too.

zmmmmm

3 hours ago

I love Pi but I am sceptical of their claim to minimalism. New tools often make such claims as an excuse for not having a lot of features. You didn't want those features anyway! As they mature, the features and complexity creep in and before you know it, the pitch changes to more of a full stack one.

I don't mind though, because I think either way it leads to a better design under the hood when things are built to be modular.

girvo

6 hours ago

Pi is so good, for both running Qwen 3.8 Flash Next locally at home, and for using all the models available at my work. Shockingly useful, fast, it's TUI doesn't suck (unlike my work's own agent CLI: it's really powerful, but man that actual TUI itself is a bit rough, its too GUI-like), and extensible.

Adding MCP support is lovely, codemode sounds super interesting, and I'm super excited to take advantage of it. Now it's 1.0 I'm hoping I can convince IT to let us use it officially.

Zambyte

5 hours ago

What hardware do you run Qwen 3.8 Flash Next on?

solaire_oa

5 hours ago

I also run Qwen3.8 Flash Next "locally at home", on a Framework Desktop, so Strix Halo and 128GB... we're not talking laptops, exactly, if that's what you wanted to know.

Still, the halogen version only occupies < 40GB RAM on my machine (which is surprising... the Q4 takes over 100GB), so perhaps a 64GB version is on the table.

girvo

5 hours ago

A DGX Spark-like, the Asus GX10. I’m kicking myself that I didn’t buy a second one when I thought about it months ago, but Nvidia’s NVFP4 quantisation of Flash Next and offloading the ngram table to NVMe has worked well

distantsounds

7 hours ago

"hundreds of thousands" of people are not using this. i want to see the this claim backed up.

Wheen

7 hours ago

I think you're right, but in the wrong direction. I'd imagine it's closer to a million.

- It has 3.6 million weekly NPM downloads.

- 110k GH stars.

- It's 5th (and its fork is 6th and a dependent is 8th) in monthly Openrouter tokens. Add them all together and they get close to Claude Code numbers.

verdverm

16 minutes ago

npm downloads go brrr from CI and automations, likely many from single users, also matters how often they update

oblio

7 hours ago

Millions?

There are maybe 30-60 million software developers and software developer adjacent people on this planet. Out of those probably 30% are late AI adopters, laggards, that haven't even used a terminal client and some don't even use AI.

Also a lot of people - developers included, just don't like command line tools.

Then pi is a secondary harness after Claude, Codex, OpenCode. I imagine the likelihood of pi having more than a few hundreds of thousands of users is remote. It's basically the Emacs or Vim of harnesses.

razster

6 hours ago

We package Pi w/ Qwen3.6 35B-A3B configures with our software, we're ramping up close to 500 clients, so there is our contribution.

oblio

6 hours ago

Awesome, just 999 500 more for the first million!

Wheen

6 hours ago

It's a dependency of OpenClaw. Everything else aside, that's ~390k likely users minimum due to the auto-starring.

Though, I realize now the "hundreds of thousands" claim I was responding to is per week, while my guess is all time.

pessimizer

6 hours ago

You don't think that millions of people use vim and emacs? Out of 30-60 million software people?

oblio

6 hours ago

No, I definitely do not think millions of people use Emacs or Vim regularly. Vim is used more as it's available for quick config file editing on Linux.

I've been working for 20 years and I've met exactly 1 person daily driving Emacs (at least for a while), probably 10 people daily driving Vim and maybe low hundreds side arming Vim (maybe 5 for Emacs). And I've met or worked with low thousands of people at this point.

If I had to guess, probably 100 000 Vim daily drivers and maybe 20 000 Emacs daily drivers, both for extended periods of time. Dabblers probably 2-3x that at any time.

AloysB

5 hours ago

It can really vary from one industry to another.

You'd see a lot more Emacs users (comparatively) in academic jobs than, let's say, web development.

As an anecdote, I worked for a network monitoring company, 90%+ of the devs were on vim. Later, I worked in a run-of-the-mill SaaS, 90%+ of the devs were on VSCode.

I'd think that (neo)vim is quite popular. Emacs, less so, that's true.

But according to the Lindy's effect, I wouldn't be surprised if VSCode disappears before Emacs and Vim. Especially as heavy LLM users are opening their text editor less and less.

Mashimo

7 hours ago

I think openAi said that 40% of their api request come from opencode, claw, pi and similar.

Not a proof, but that makes it sound more plausible, no?

concrete_head

7 hours ago

I hear you. This post and the comments smells like Astroturfing to me.

shpx

44 minutes ago

My experience with Pi was that I pasted some error and asked Codex to solve it and it explicitly said something like "you could be mistaken into thinking this is X but it's actually Y", which was weird because it was pretty clearly not X and I've never seen it say that. Then I installed Pi with the same OpenAI model and gave it the same task and it told me it was X and I promptly never used Pi again because why would you want to take chances like that.

bel8

8 hours ago

I have been using pi a daily driver for some month now. But as a personal management system with md files and for coding.

I used to have a MCP extension but recently pi added builtin support for MCP so my stack is simpler now.

Thank you for keeping things simple! Simple is beautiful.

svintus

8 hours ago

Why full screen mode by default? That seems to go against the minimalist theme. I could never get acceptable inertial scrolling behaviour dialled in with other full screen implementations I tried (claude, codex, opencode).

smokel

8 hours ago

Full screen hides distractions from other applications. Seems reasonable as something minimal.

Minimalism is a difficult subject. In art, minimalists tried to strive for something that is universally minimal. But if you look in nature for straight lines or perfect circles, you end up disappointed. Turns out minimalism found things that were minimal with respect to how some humans think about minimalism. For all we know, pure chaos may be more universally minimal than an empty vacuum.

slickytail

7 hours ago

You seem to misunderstand what full screen mode is. It doesn't just make the terminal fullscreen, it causes pi to maintain its own scrollback buffer and a UI around it, rather than letting the terminal emulator handle scrolling (ie, letting the session context actually live in the terminal history)

saagarjha

7 hours ago

Yeah I’m hoping that they don’t remove or devalue the (now legacy) renderer

1ahf-qzwt

7 hours ago

The vibe-coded earendil.com uses 150% CPU for a static web page, whereas the luddite website news.ycombinator.com uses 1% CPU.

Maybe spend $100,000 in tokens to fix that.

micromacrofoot

6 hours ago

it's not static though, it's got a cool animation

redmalang

3 hours ago

For the past several (months now!) I have been slowly working to open source a proxy we built for pi internally. Its been super helpful for us, helping us centralise session logging, hook and model insights as people work on stuff. There is a bunch of other interesting things (such as runtime model evals) we now adding. If this would be of interest -- open source of course -- please drop me a note here, it will incentivise me to finally extricate it from our broader system:

Slopsite here: https://piproxy.latchlabs.dev

nixpulvis

2 hours ago

A coworker was trying to tell me that models perform better in their own agent harnesses. I use both `pi` and `omp` and I'm somewhat skeptical. I understand that the tool calls might be slightly different. But really how much impact on the model itself does the harness have?

jupp0r

2 hours ago

I think it's often the other way around. The differences in perceived coding productivity that many people attribute to claude vs codex is more the harness than the model it's running (if running comparable classes of models).

nixpulvis

2 hours ago

What is the harness doing that's not the model.

I've been assuming a harness is basically a set of tools and a TUI for passing text to the model and the model coming back with tool calls and user responses.

Are the tools really that complex and different between harnesses?

fishfasell

2 hours ago

I'm no academic, but I have read that harnesses dictate the output more than the models themselves. I'm not educated enough on the topic so I will defer to those smarter than me to chime in.

Pxtl

2 hours ago

I have run into some models that seem to mind. Like for the life of me I couldn't get North Mini Coder to play nice on Pi, which was sad since it seemed good otherwise. It just couldn't grasp the tools.

nixpulvis

an hour ago

Doesn't pi just have 4 tools?

- read - write - edit - bash

Pxtl

an hour ago

Yes but somehow it would tool call and then end turn. Couldn't get it to properly consistently continue on the with.

hhh

8 hours ago

I don't really understand the criteria for when something is 'proven' to the Pi team. Jev and the like took off less than a month ago, but MCP has been growing for nearly 2 years, and it only gets support now?

Pi felt nice when I used it, and I do value keeping things minimal, but I just find the criteria very uneven.

Zambyte

8 hours ago

Classification models have been around for literally almost a century at this point. I think it's safe to say they are a proven technology.

The only thing that makes Jev and the likes particularly interesting is that it is a general purpose classifier. In the past, classification tasks meant training a new model to solve your problem. Now you can just use an off the shelf general purpose model and hit the ground running.

prometheus1992

8 hours ago

>>The only thing that makes Jev and the likes particularly interesting is that it is a general purpose classifier.

General purpose classifiers have existed and proven useful for quite a while now. We used these last year. for vision and text both.

peab

5 hours ago

the only thing novel about Jev is the incredible PR/Marketing push that they achieved

alex7o

8 hours ago

Even jev is not truly novel, but it's latency is, you can use a reranker and get the same things but not the same speed.

Foobar8568

7 hours ago

Well, according to claude and Jevbench, Qwen 3.6 35b with ninfer on a RTX 5090@480W is like 3-5 time slower but 10%-15% better performance on the public set, I could see prefill > 15k for 700-800decode. Latency against what and which hardware? I don't really get jev...

alex7o

7 hours ago

Look I can convince my boss to pay for jev, but I won't convince him to run our prod stuff on a rented vast.ai 5090. And the pricing wouldn't be worth it. If you have ideas I would be glad to hear them

luipugs

5 hours ago

Stage a coup to usurp your boss.

bathtub365

6 hours ago

What’s the earliest classification model you know of?

doormatt

6 hours ago

Frank Rosenblatt introduced the Perceptron in 1957–1958.

tel

an hour ago

Probably some kind of agricultural taxation scheme from 2000 bce or so.

Or Fisher in the 1930s with data driven linear didcriminants.

charcircuit

8 hours ago

But why does it need to be integrated with a minimal coding agent? Trying to support every possible thing that exists goes against being minimal.

the_mitsuhiko

8 hours ago

It is in that sense not integrated with the coding agent. It's just that some things cannot be done with bash alone, at least not as trivially. So if you were asking Pi to utilize Jev, it would not really have the right tools available to make sense of it, even though pi-ai, the underlying library, can make requests to it.

Codemode as a mechanism can expose non LLM functionality to the coding agent. In that sense, Pi does not have a tool for Jev or other classifiers. It just now makes it easier for the agent to utilize it in the same way as it's otherwise quite creative in using bash.

charcircuit

8 hours ago

>it would not really have the right tools available

The point of Pi is that the user can tell the agent to improve itself and give it the tools it does need. The minimalism comes from the user creating what they need instead of the maintainers trying to support everything for the users. The fact that it doesn't have everything the user needs out of the box is intentional.

the_mitsuhiko

7 hours ago

> The point of Pi is that the user can tell the agent to improve itself and give it the tools it does need.

The point of Pi is to be minimal but also follow what the models need. We were pretty outspoken that models need code execution, and that's why Pi to this day has a very small set of tools available. However as more and more training with these models abstracts even over toolcalls themselves with code mode and similar things, it requires changes to Pi.

Mario and I talked about this last week if you want to know our thinking: https://x.com/pidotdev/status/2104510506627121451

And yes, that's why there is no Jev tool in Pi either.

pkulak

8 hours ago

Sure, but some things are too low-level to be skills or extensions. Code mode seems like that to me.

charcircuit

8 hours ago

With Pi the agent edits agent itself. That's one of the reasons it's written in typescript, to make such iteration fast. Going even lower, into the language runtime or operating system shouldn't be necessary but technically also possible.

coldtea

7 hours ago

The agent code is minimal. What it supports doesn't have to be, when that support doesn't require much of it.

alexhans

8 hours ago

It was already very good and has been used/battle tested by many us for a long time.

Some tools used to be 0.x for ages and, in this case, the 1.0 signals they're happy enough and allows them to promote things in a better way.

This (edit the durable part) is I guess the natural evolution of playing around building temporal like things for a need that many have.

rsalus

8 hours ago

the latest 07-28 MCP spec is quite different than the previous iterations of MCP, so I understand the delay there tbh.

the_mitsuhiko

8 hours ago

Armin from Earendil here. I think the question is fair, and quite frankly the answer is pretty disappointing: we look at what the models are doing. They are trained on their respective harnesses and we're not here to fight their behavior.

Codex in particular is using responses lite internally and relies on codemode for parallel tool calling. So codemode was a given.

Jev on the other hand is new but it's not the first type of model we had troubles with supporting in Pi and we looked at how to make that make sense. The internal pi-ai SDK supports image generation and classifier models, but without building an extension it was never possible for you to utilize it.

So there was a while functionality of Pi that few people used, because there were no obvious ways to hook it up with the coding agent. Codemode also allows us to close that gap.

And once you have codemode, modern MCP can work quite well if the servers cooperate.

octoberfranklin

16 minutes ago

and we're not here to influence their behavior

That is totally disappointing.

extr

8 hours ago

I agree. I don't necessarily "trust" Anthropic and OpenAI when it comes to CC/Codex respectively, but I respect that they have immense internal resources and telemetry to be able to understand what features move the needle and nudge traces in the right direction. I don't understand how non-labs judge feature inclusion? Just vibes?

Aperocky

8 hours ago

What makes you think that labs don't operate on "vibes"?

If there's anything that I can conclude about Anthropics idea of how a LLM should speak. Vibes would have been an euphemism

ryanisnan

7 hours ago

Human judgement is a thing.

andix

6 hours ago

Yeah, they are a small team, they just take a decision. Done.

platinumrad

7 hours ago

The thing I don't like about minimal plugin-based harnesses is that I don't always have the time to figure out which plugins and safe and sensible, and at least one of those is false more often than not when it comes to AI tools. Sorting by popular does not solve the problem.

apatheticonion

5 hours ago

Wish Pi (and Opencode, DeepSeek Harness, Claude, Claude Desktop, Codex Desktop) was written in a memory and performance efficient language.

I love alternatives to the big players but why is everything written in TypeScript or Python and takes up a gigabyte of ram.

I don't want to `npm install -g` something, just give me a single statically compiled binary that does the thing.

AI lowers the barrier of entry to Rust to virtually 0. As a side experiment, I have been rewriting Codex Desktop in Rust using native desktop APIs (gpui) and have made a cross platform copy that works on Windows, Linux, and MacOS. It runs at 120+fps and uses 40mb of ram. It's not that hard.

In a previous life, before the layoff times, I was working on a FaaS platform. If you need plugins, embed v8, quickjs or wasmtime/wasmer/etc.

People are acting like AI didn't eat up all the RAM on Earth. I had to sell my left kidney for the 8gb ram upgrade in my MacBook

bel8

4 hours ago

There are Rust alternatives to pi and folks are welcome to use them.

I find Typescript more approachable in many ways like compilation speed, extensibility, disk space used by cargo, LLM knowledge, and most devs I know already have node or bun installed anyway but not cargo, including me.

The speed in which pi can modify and extend itself is part of the appeal to me.

apatheticonion

4 hours ago

Goose and the Pi rust rewrite are great options - but lag behind big-brand competitors in terms of token usage and generated code.

This is more about demanding more of the big software vendors than it is about making an argument for the general software developer to write programs in Rust or Go.

We are talking about trillion dollar companies with highly paid engineers and unlimited token budgets.

As someone who has been writing TypeScript since the beta and started writing Rust professionally only 5 years ago, I'm about as productive in Rust as I am in TypeScript - so if I were distributing software, I'd want to ensure the end user has the best possible experience and that's hard to achieve with the node/python ecosystem.

"Run this bash script to install my CLI tool" behind the scenes it downloads a full copy of Node.js, installs the npm dependencies, add executable scripts for the entry points, updates PATH. It takes almost a second to start up, has no threads and uses way more memory than is necessary. Extend that to Electron applications which not only bundle Chromium, but also bundle Node.js - that's two v8 engines running and a process that starts with a memory footprint of almost a gigabyte.

Compare that to just downloading a portable self-contained single executable and running it. No package manager, no install scripts - just double click.

The end user is not installing cargo, compiling, or anything - they just run the binary.

bel8

2 hours ago

Those who use a static executable are not the target audience of pi.

It's minimal and intended to be modified.

apatheticonion

an hour ago

A static executable doesn't prevent program extensibility. You can use plugins just fine. A static executable makes distribution easier (no npm install, runtime versioning, etc)

When was the last time you patched Pi / OpenCode / Claude dist or source code before running it?

Most people use plugins, and native apps have no issues with that.

redrix

4 hours ago

They actually mention this at the end of their post on Pi Durable[0]: > Why TypeScript again? Because it is the easiest way to bootstrap this. But as everybody knows by now, it's very easy to port everything to Rust or assembler. We're not ruling this out in the future, but at the moment we are focusing on TypeScript.

[0]: https://earendil.com/posts/pi-durable/

joshAg

4 hours ago

> I love alternatives to the big players but why is everything written in TypeScript or Python and takes up a gigabyte of ram.

Same reason everything's an electron app now. First mover matters to the makers and to the consumers more than performance and attention to those details.

schlarpc

4 hours ago

Totally agree with this sentiment. On your plugin point, I recently did a PoC of QuickJS in wasmtime with a restrictive sandbox (10 syscalls total) for running untrusted plugin code and it was great. Took maybe 3-4 days to pull together and performed more than adequately for the kind of thing this class of software needs, with a security posture that beats pretty much anything widely deployed. When this level of engineering excellence is so cheap to achieve, we really need to bully companies that refuse to do it.

Bluestein

4 hours ago

Good grief, a voice of reason.-

I am really hoping a combination of the RAM-pocalypse and AI coding will result in less bloat. At some point ...

jacquesm

4 hours ago

I was so frustrated about this that I ended up writing my own.

solarkraft

4 hours ago

> AI lowers the barrier of entry to Rust to virtually 0

Not really. It lowers it, sure. By a lot even. But you still have the system requirement for compilation and ecosystem to deal with.

pkthunder

6 hours ago

I'd _love_ to get some feedback on how people use Pi after initial setup. I (like others) am pretty heavily "invested" in Claude Code CLI. After trying out Pi and a local model, I realized how MUCH the `claude` CLI was lifting. I'd like to strip a lot of the fluff out and build my own, but it feels like I need to see what other people are doing too.

lo5

5 hours ago

Pi with rpiv-ask-user-question, pi-subagents (if you don't want to use tmux), pi-web-access (if you have a subscription to some search backend), plus agent-browser CLI. I don't miss anything in Claude Code.

pkthunder

5 hours ago

Love it - thanks. I basically dropped into Pi, tried prompting a simple prompt (e.g. "What's the name of this project?") and realized how little it did OOTB. I know oh-my-pi exists, but I'm trying to reduce complexity for local model runs.

CharlesW

4 hours ago

As someone similarly invested in Claude Code and initially reluctant to try other harnesses, I recommend the batteries-included Pi distribution oh-my-pi (omp.sh) over Pi and OpenCode. I switch between Claude Code, omp, and Codex regularly, and it feels fine.

KnlnKS

6 hours ago

I've recently adoped pi at work and its been a treat. I think just starting with the base agent and installing (or creating) plugins as the need arises is best. If you really want some plugins to start with pi-subagents and the rpiv collection are what I'd recommend.

pkthunder

5 hours ago

Thanks - I think I more need to work on the prompting.. possibly. IIRC I was struggling with local operations as basic as finding files/reading files/correlating classes in the same folder.

kimseungyong

2 hours ago

I'm not sure which has more advantage compared to using only Claude Code.

I'm working with Claude's workflow, but I haven't yet felt any demand for customization.

For those who use this well, could you share examples of how you use it?

puilp0502

2 hours ago

I'd say it's the other way around: I like Pi because it's minimal. Not like claude code spinning up superpower:* skills, 10 background agents, etc. Also, it's a useful building block for so-called "agentic workflows" precisely because it's minimal.

EDIT: forgot to mention local models

warmwaffles

an hour ago

The minimal setup is nice to customize per project or set of projects. Tailor made specific for the use case. Only grab extensions where necessary, I've made a few for myself and work to help me.

imnotr0b0t

8 hours ago

I like that Pi is holding the line on minimalism instead of absorbing every new trend. Curious how Pi Durable differs from existing durable-execution setups for agents

sgustard

8 hours ago

All companies with LOTR names are war profiteers right?

jszymborski

8 hours ago

the exception to prove the rule I guess

ghm2180

5 hours ago

Awesome! Congrats on the release. As an indie developer this is big!

It addresses is a lot of pain points were built as internal tooling I maintained before this e.g. the need for a daemon for a number of good reasons e.g. executing/resuming a session from any machine, following conversations on my phone, having agents respond to comments on my CRM or asking interfacing it my homegrown PR review system. I can now have the harness run on that system and a durable pi session on a central server.

sheepscreek

5 hours ago

My hot take on Pi Durable

A framework/harness to develop capabilities such as OpenAI dot/Grok Bot. Can handle parallel conversations/forked conversations. But it doesn’t have to be user-facing at all.

It could be used to create an agent that sits inside your infrastructure - say constantly monitoring the firewall, taking actions autonomously (within hard guardrails I hope) and leaving an audit trail.

To be clear, they say nothing about guardrails or audit trails, it’s just how I would do build something like this.

sanex

5 hours ago

I didn't even think of that aspect of it. Just a poor little guy who sits there watching journalctl and occasionally yells when he sees something.

darkotic

5 hours ago

Congrats on the release. I'm looking forward to using Durable with some of my custom extensions and tools. The MCP specs have changed for the better, so makes sense to me with the inclusion.

browningstreet

6 hours ago

How do we know how different the code of pi vs opencode vs {commercial harness} is? I’m pretty happy with opencode but can’t quite understand whether I should spend the time to understand how different pi would be.

floydnoel

6 hours ago

Pi is very minimal. That's the main difference between it and OpenCode. Although OpenCode has a new version called OpenCode Mini... which reminds me I told Dax I'd give it a whirl- so thanks for the reminder, stranger!

I wrote my own minimal coding harness last year because I hate software bloat, but Pi scratches that itch for me now.

browningstreet

5 hours ago

:-)

Is that part of opencode v2?

Minimal alone isn’t a driving force for me. Coding intelligence and output is. I know Pete mostly codes with OC but farms hard jobs out to Codex. Teknium says he only codes in Hermes. I do iOS apps in Claude but everything else in deepseek or opus. I suspect things are about as good as they can be in terms of actual code.. across all levels.

MisterBiggs

8 hours ago

I've been full time building on pi since January and its been incredible. I'm not sure what they did to make it so easy to vibe code against but agents really just "get it".

ad_fontes

8 hours ago

Can you explain your workflow a bit please? Do any of these tools work with Claude/Codex subscriptions or are they API only?

I actually built my own tool that maintains a work graph (DAG-like) with task leases. It allows me to copy and paste pre-written prompts into Claude Code, Codex, or OpenCode and all the agents self-coordinate through MCP calls.

I built this after trying hermes and Openclaw but not liking the lack of human-in-the-loop judgement. So I'm wondering if I should keep refining my tool, or evaluate something like pi?

kulahan

6 hours ago

People in tech are so terrible at naming things. To clarify for anyone else, this is something to do with open software, I guess? Not the raspberry pi, and not the math concept, and not the book character and not…

truculent

6 hours ago

IIRC, this was a deliberate choice from the creator who originally wanted the project to be hard to find!

kulahan

6 hours ago

Ugh. BRB researching cucumber, gherkin, eggplant, …wait when did my homesteading books get out here!?

sroerick

8 hours ago

Pi is really good. I use it for a majority of my work.

I also like Autolith. The freedom of having a lisp machine is, to me, much more enjoyable than trying to maintain Typescript. But I'm not a typescript guy.

I do largely stick with Pi because it's very bulletproofed

Zambyte

3 hours ago

Woah, this is my first time hearing about Autolith. Definitely looks cool, I might have to play around with it. How do you find models do with Lisp? I have had some trouble with my models getting tripped up pairing parenthesis in my GNU Guix configuration.

rcarmo

7 hours ago

Well, check out rcarmo/gi - I am using my clojure interpreter inside it as a scripting engine.

rcarmo

7 hours ago

Neat, but I keep having to edit the pi stub to remove the "/bin/env node" and replace that with bun instead, because, well, somehow that's still hardcoded.

ricardobeat

6 hours ago

I enjoyed Pi for a few weeks, but ultimately moved to other harnesses - the plugin ecosystem became a sea of slop, large vibecoded projects that don't work at all, and yet have thousands of stars. At some point I gave up trying to get subagents working.

bityard

6 hours ago

I had the same concern last time I looked at Pi. There's no way to tell which are useful and semi-vetted and which are junk. I came to the conclusion that most people had their AI build them whatever plugin they needed, and I think this is even something they recommend.

What harnesses do you recommend?

2001zhaozhao

6 hours ago

FINALLY, I can support Pi in my orchestrator system that relies on integrating agents with my custom MCP server.

fhn

6 hours ago

I keep reading positive comments about Pi but it never worked well for me. Hermes just worked.

vblanco

8 hours ago

Built in codemode is rather nice. Its the feature i like the most from OMP which is Pi + lots of plugins.

semiquaver

8 hours ago

I know this is going to get downvoted but what drives people to use javascript of all languages to build these fundamental pieces of tooling? We have so many better options, especially now since humans aren’t writing most of the code. It’s hard to take seriously anyone that wants to make a primarily CLI tool with heavy interactivity and parallelism requirements and decides to use a joke language that happened to luck its way into prominence because of web browsers.

sieve

a minute ago

It is written in TypeScript, not JavaScript.

TS probably has the most expressive type system of any language that I have used, and you can develop at lightning speed without fighting the borrow checker or anything else. The ability to share the exact same code across the front and back end, and encode API contracts in the type system, is a superpower for webapps built with node.

Whether an LLM writes the code or not is besides the point. What matters is that the code should be testable, and understandable. TS wins on both counts, like most sane alternatives.

I personally do not program using any language that does not have the ability to specify types.

droidjj

7 hours ago

I wouldn't go as far as calling it a joke language (in some ways, it's incredible), but I did come here wondering if other people felt this way. The language choice has always confused me.

On the other hand, I don't think there's anything Pi does that another language would do noticeably better from a user's perspective. Any performance complaints I have using Pi come from twiddling my thumbs waiting for Sam Altman's servers to bestow tokens upon me.

At any rate, they'll probably have Opus 6.5 and GPT-7 Galactica rewrite it in rust in a couple months...

pezgordo

8 hours ago

What would be a better language? Most of the harness apps will be spending most of their time waiting for the models response and tool calling rather than running their code.

Languages with less opensource footprint or too verbose are at the losing side in a llm-driven world.

semiquaver

6 hours ago

Go, rust, zig would be my choices in that order.

> most of their time waiting for the models response and tool calling rather than running their code.

You’d think that! Yet claude-code spends a very surprising amount of CPU just doing text layout work and other mysterious things, likely due to their decision to use React to build a TUI for some reason.

Zambyte

3 hours ago

Those three languages would be very difficult for creating a system with the level of extensibility that Pi has.

semiquaver

3 hours ago

Why? Lots of systems written in those languages are extremely extensible.

Zambyte

3 hours ago

You either need to rebuild the harness every time you want to make a change, or a lot of deliberate effort is required to maintain an API surface for extensions, distinct from internal implementations, or you can embed an interpreter like Lua, Python, or... JavaScript. Or you could instead go the Pi route and use an interpreted language, and just load extensions into the interpreter, alongside the program itself. When one of the main goals is extensibility, the latter seems like the obvious choice.

nicce

7 hours ago

I feel like TypeScript is very verbose language to be honest.

arecsu

7 hours ago

Pi is extensible, and to iterate new extensions, install them, create your own, even if the agents needs to, it is much faster and easier to manage that than a compiled language I would suppose. Most of the time it's really the waiting time than anything else. If any, the "resource intensive" parts of the app could be turned into low-level extensions such as writing or reading files, maybe, but the main part of the app makes total sense. The language and ecosystem is fairly accessible as well, which serves as a further argument. Interesting choice of words when it comes to calling it "joke language" really.

crooked-v

7 hours ago

One reason: it's really easy to have a lightning-fast dev loop when the entire running process can hot-swap almost every piece of code, when then also extends to all extensions written against the core functionality.

razster

6 hours ago

Which I believe is what the developer was looking to do. I personally enjoy it being JavaScript. I've had it redo some functions on the fly which to me is perfect.

lionkor

8 hours ago

I love how consistent pi has been, especially in regards to not breaking ux

Yizahi

6 hours ago

Earendil, really now? Do these CEOs even like Lord Of The Rinds? Earendil sacrificed his personal future to make humanity's future better. And these guys are peddling a human replacement and sociaty disruptor (eventually) under that same name. At least Peter Thiel had the guts to pick a thematic name for his spyware, despite probably hating both Tolkien's message and humanity altogether.

How do people read these famous books and deliberately get them wrong again, and again, and again?

https://www.youtube.com/watch?v=pBbDxDOV6J4 (relevant comedy skit)

toephu2

5 hours ago

When I first saw the domain it looked to me like someone's personal blog. I felt like they should have posted this on pi.dev...

kergonath

6 hours ago

> despite probably hating both Tolkien's message and humanity altogether.

Everything points to Thiel not understanding a thing about Tolkien. Tolkien was an old-fashioned conservative. He was all about protecting the environment and the old way of life (both things Thiel and modern self-styled "conservatives" strive to destroy). His role models were great because they made great sacrifices and showed strength of will, not because they used power for power’s sake and as a weapon for domination.

Thiel just does not understand the "humanity" aspect. I’d rather have them stick to Ayn Rand references. It made ignoring them or laughing at them easier.

bibstha

8 hours ago

Is claude code or codex subscription supported by pi?

bakies

8 hours ago

Claude is not but codex is. Which is why I switched.

blinded

2 hours ago

use it daily, its great.

0gs

8 hours ago

congrats to earendil and keep up the awesome stuff.

WA

8 hours ago

Run in sandbox, container, or VM?

pkulak

7 hours ago

I like a sandbox, but there's arguments for all three. Jai is still my favorite on Linux.

Computer0

8 hours ago

Cool I hope to try it someday when I can run a local model good enough for coding. Until then I will probably stay with opencode for the time being.

pizzafeelsright

8 hours ago

Local Qwen 3.5 on CPU was good enough for small tasks.

KeplerBoy

8 hours ago

You can use it with oai subscriptions

octoberfranklin

37 minutes ago

Full-screen mode by default

Man, first MCP then this? The main reason I use Pi is because it didn't try to reinvent my terminal's buttery-smooth native scrolling -- something no terminal client can ever match.

Did you all get acquired by private equity or something? The enshittification is coming at us fast.

popalchemist

8 hours ago

Does this replace Claude Code in VS Code entirely?

rickreynoldssf

8 hours ago

This is hitting at the right time. Codex is already in the enshitification phase. They just broke their CLI version with some new thing that no one likes.

andix

7 hours ago

Im disappointed. I’ve expected a bump to 3.14.x

wgd

8 hours ago

Sigh, looks like Pi's days as a nice minimal agent TUI are numbered. I guess no third-party offering can fight that entropy for long and I'll just have to polish up one of my toy projects for personal use.

badlogic

7 hours ago

I've read this a bunch of times around socials now these past days and I'd really like to understand what exactly indicates that the minimal agent TUI days are numbered for Pi?

I did not read this when I added support for AGENTS.md, skills, llama.cpp, extensions, alt TUI mode, mid-convo system messages and tool set changes to preserve KV cache, image model support, and everything else I added since November last year.

Codemode and MCP support are the latest additions. We follow what the models are trained on. E.g. the GPT family of models is actually trained on codemode for parallel tool calls now. The MCP spec has gotten a major update recently that makes it much less bad than it used to be in the past 24 months. Combined with codemode, it is now passable, so it got added to pi.

All of these features are still entirely optional and the only thing I could think of that could be considered "bloat" is the additional few megabytes for the QuickJS WASM blob.

So, I mean this in earenst and absolutely not combative: could you explain what exactly flips the switch between "pi is minimal" and "pi is not minimal"?

wgd

7 hours ago

Fullscreen mode as the default is a big one, I prefer my agent harness to be a CLI rather than a TUI and in fact my personal one doesn't even try to wrap text. Pure CLI output model.

That said I also dislike many of those other changes and would prefer a hypothetical version of Pi which didn't have them, so this is in some sense just me looking up at the sound of a v1.0 release and realizing "oh hey, I don't really like the direction this has been trending for a while"

badlogic

7 hours ago

Cheers, appreciate the answer!

steezeburger

3 hours ago

> and would prefer a hypothetical version of Pi which didn't have them

If only there was some way to... ah no time to be snarky. It's open source and MIT licensed and you're in a thread discussing AI coding agents.

realty_geek

7 hours ago

Must be super frustrating for you to hear that.

Sounds to me like things people say just to have something to say. True, it is good to listen to feedback but feedback without evidence is only going to waste your time.

Thanks for all your hard work and keep going in the direction that makes sense to you!

rcarmo

7 hours ago

Well, I'm happy. Thanks for the new harness, ripping out the guts of piclaw to use it, and also flipped a few other small tools to pi-durable, which is nicely streamlined.

I can't for the life of me figure out why people would think pi is bloated.

girvo

6 hours ago

Fullscreen mode is my only real gripe. That kind of terminal behaviour is exactly what I was trying to get away from. My work's agent (that I use Pi to replace) does this and it is annoying as all get out... but I haven't tried yours yet, so we will see. Hopefully your implementation is better!