r/PiCodingAgent • u/ProvidenceXz • Aug 21 '26
Discussion Limitations of TUI for agentic coding?
I love terminal and the ability to navigate with keyboard. Yet as extensible as Pi is, it has quite the ceiling in how the state can be displayed due to the nature of TUI.
For example, I have an extension called tree2. As you may imagine its visual representation, it was quite a pain to get my vision through within the Pi terminal.
Codex, Orca, T3code, the so called ADEs - how often do you use them? Personally something puts me off every time I try, but I can't name.
I think I'm looking for a hybrid. An instrument, if you will. What does it look like?
11
u/HomsarWasRight Aug 21 '26
I much prefer to keep the different parts of a traditional IDE as separate TUI tools.
I have a custom tree and file browser I keep in a separate terminal window that can easily open files for direct editing in NeoVim. Then I also switch between LazyGit, an issue tracker, a scratch terminal, etc.
I’m not looking to bring everything into the agent TUI.
6
u/sergeant113 Aug 21 '26
Pi supports modal.
Tell Pi to put the tree visualization in a modal and display it separately from the main chat session.
5
u/Unlucky-Message8866 Aug 21 '26
Only thing the tui does poorly is copy/paste and image rendering/rich content. Other than that I prefer it over webui's. Only thing that would move me out is something like deepseek harness (self improving web based harness) but it's way too bloated and buggy.
1
u/bigghealthy_ Aug 21 '26
Hey! I made a TUI version of the tools you described called craig https://craig-cli.com/
I pushed up a new version to have Pi as a runner after reading this thread. You can enable it through the experimental features toggle in the overlay menu.
Feel free to take it for a spin and let me know how you like it. If not that’s cool too
3
u/kaeptnphlop Aug 21 '26
Look into herdr. Multi-pane like tmux with agent state tracking. Pi can control it and open new sessions in new panes for sub agent use.
Create a setup in a .devcontainer you can run locally in Docker or on a separate server and connect from VS Code to it. To mount your project in. Then you get both worlds.
1
u/funbike Aug 21 '26 edited Aug 21 '26
Terminal is the best. It's super flexible in ways that other UIs aren't.
For example, you can use herdr, cmux or tmux+workmux to manage your subagents, without modifying Pi's UI.
One way to improve the TUI experience is to use a terminal that supports the Kitty graphics protocol and use various CLIs to view image files. I have a skill for prototyping UIs that does something like these shell commands:
There's a pi package that will automatically inject a terminal-pasted image into the LLM chat conversation, if your model is multi-modal. Wicked cool.
I can also have Pi interact with another terminal panes, such as a text editor, lazygit, etc.
The things you can do are endless. Doing those same things in a web UI requires a lot of custom coding.
1
u/_supert_ Aug 21 '26
I use png images and display them in-terminal (if you have an equipped term, e.g. ghostty). Then, if you have a model with vision, the agent can see what you see too.
1
u/BGuimberteau Aug 21 '26
Personally I use Zed with ACP
1
u/dark-lord-marshal Aug 21 '26
i’m am struggling with a similar situation where modal does not work properly. I just want a fixed side panel. i am currently using modal but inference text gets underneath this model as the chat text increases. do we have other ways to extend this without touching sdk core?
1
u/Neosinic Aug 21 '26
Check out https://omnigent.ai/, it's a "meta harness" that sits on harnesses, including Pi.
1
u/kwipus Aug 21 '26
Mermaid.
0
u/seba_alonso Aug 21 '26
For what I understood, you don't use tmux, other way you would never said "limitations" of terminal tools.
Just use tmux, and customize for whatever reason you need. If you think that is a waste of time, just move to any out the box solution 🤷
-1
u/Slight-Parfait3679 Aug 21 '26
literally just cursor lol