To all the haters to not knowing what "pi" means in this context. Is mario zechner's ai agent / coding harness [1][2], similar in spirit albeit much less complex to claude code or openai's codex and others.
I wouldn't call it third tier. If anything alongside opencode, and codex, its one of the "first tier" and the only non-VC-backed (at least before mario joined earendil (idk about earendil raising or not)
anyways. Pi is good. I dont need a telegram client for it, but this precisely show why pi is great, because its really easy to extend pi building plugins or modifying the source (yay, open source)
Everything else feels bloated. The same model in pi will consume significantly less context for the same task as there's not piles of unchangeable system prompts being passed along (I assume), and at least compared to OpenCode the quality feels better too. I just wish Anthropic let me use my Claude subscription with pi, it's annoying having to switch between them.
(Not to mention the unmatched level of customisability)
I have the llm twean every little piece of pi which is why I love it. And swapping models. Plus not having scroll jank like I got in opencode.
I even tweaked hitting "enter" when nothing is in the input box, it resume the last request. I love having this control and ease to extend and add anything to the ui
moreso, it's the only harness that maps close to Neovim philosophy of "everything is a plugin." heck, I took a bite at it and it seems fun to build plugins! especially if it's something as silly as warhammer.pi :) (shameless plug, npm: @bpavuk/warhammer.pi)
that thing makes Pi talk like Adeptus Mechanicus. what's more fitting to a machine than voice that's associated with machines?
I prefer Pi to Claude Code these days, and use it most of the time when I can. The interaction and permissions harness is an order of magnitude better than Claude in my experience, just out of the box. I barely have time to read all the model output, much less fine tune some crazy agent harness tooling that changes underneath me daily and might or might not be documented.
I like the idea of being able to use agents from my phone. Termux is nice, but not very good on small screens.
So I tried Hermes, it had first-class telegram support, but then I never use it for coding and was asking it to delegate to codex / pi. There wasn't much I was gaining from hermes, so I stopped using it.
Then I started using Pi more and liked its extensability. Pi is the first software I have forked and developing to meet my needs. I genuinely love how extensible it is.
I was in the market to see any extensions that help me run Pi, and sure enough there were. One was from Mario himself, the creator of Pi (https://github.com/badlogic/pi-telegram), but it was a bridge instead of being a client itself. I need to start a chat in the TUI and then continue it in telegram. I didn't like that. Most others were same.
I see that you also forked Pi itself[1]. Out of curiosity, is there a reason you did this instead of implementing those two features in your fork as Pi extensions?
I've managed to implement most of the things I want in Pi through extensions - with one exception (disabling animations, because there's no extension API or setting for that).
I'm in a similar boat, I recently discovered Paseo (https://paseo.sh/) which has mostly surpassed my expectations. It has changed my workflows, pi interaction is via a client rather than inside screen. But...I mostly have not missed that portion.
I have zero affiliation other than being surprised by how well it works. There are minor UX improvements that could be made, but it's a solid...harness-harness ?
Aside: The most useful extra feature I wasn't looking for is that Paseo can inject its own MCP tools to allow managing itself. I now use this to allow pi to manage subagents in "detached" mode, meaning it creates another visible, fully interactive session that I can watch and interrupt as needed.
So I guess we (and a lot of other people) have had the same problem, which is managing your agents on the go. I decided to build a plugin[1] for my terminal multiplexer (herdr) to access the sessions via PWA served through a tailnet.
check out tsnet if you are building on tailscale anyways. your app can then be a tailnet node that can read tailnet WhoIs data and have access controlled via tailnet ACL
This is awesome, I use telegram as my main chat app with all of my friends and coworkers. Now I need to figure out how to dockerize this and run it on my NAS so it's not reliant on my laptop being online.
Maybe can figure out a workflow to make a branch, deploy it and give me a cloudflare tunnel link to test it, and if approved merge the changes into main branch and deploy to prod. The vibes are off the charts.
Off topic, but apart from pi-tui, is there a recommended TUI library that integrates well with the Pi? I want to have a multi pane TUI experience like lazydocker right inside Pi. Pi-tui is a bit limited.
Pi is not "some mayfly LLM third-tier coding agent" - in the brief research I've done, it's the best positioned to survive: it's small and the creator has shown good taste (something that can't be said about the creators of Claude Code).
I wouldn't call it third tier. If anything alongside opencode, and codex, its one of the "first tier" and the only non-VC-backed (at least before mario joined earendil (idk about earendil raising or not)
anyways. Pi is good. I dont need a telegram client for it, but this precisely show why pi is great, because its really easy to extend pi building plugins or modifying the source (yay, open source)
peace
1. https://github.com/earendil-works/pi
2. https://pi.dev/
(Not to mention the unmatched level of customisability)
I even tweaked hitting "enter" when nothing is in the input box, it resume the last request. I love having this control and ease to extend and add anything to the ui
that thing makes Pi talk like Adeptus Mechanicus. what's more fitting to a machine than voice that's associated with machines?
So I tried Hermes, it had first-class telegram support, but then I never use it for coding and was asking it to delegate to codex / pi. There wasn't much I was gaining from hermes, so I stopped using it.
Then I started using Pi more and liked its extensability. Pi is the first software I have forked and developing to meet my needs. I genuinely love how extensible it is.
I was in the market to see any extensions that help me run Pi, and sure enough there were. One was from Mario himself, the creator of Pi (https://github.com/badlogic/pi-telegram), but it was a bridge instead of being a client itself. I need to start a chat in the TUI and then continue it in telegram. I didn't like that. Most others were same.
So I built my own!
I've managed to implement most of the things I want in Pi through extensions - with one exception (disabling animations, because there's no extension API or setting for that).
[1] https://github.com/atharva-again/pi
[1] https://github.com/AltanS/collie
Maybe can figure out a workflow to make a branch, deploy it and give me a cloudflare tunnel link to test it, and if approved merge the changes into main branch and deploy to prod. The vibes are off the charts.
Use zelilij
And I use it daily for simple tasks.
I was confused.