To be fair, Pi only had to be useful. Claude Code had to solve the difficult unsolved problem of making a terminal print text, so naturally they built a small game engine [1]
Yes, and to solve the equally tough problem of actually writing the game engine's screen updates to the terminal, they used the log-update library which cleared the screen area it was going to update before writing the text, resulting in horrendous screen flickering.
Now, a mere human might have fixed this by removing the flicker-inducing clear-before-write, but Anthropic had a powerful AI-hammer at hand that was cleverly (after months of deep thought) able to turn this tough problem into a nail-like band-aid which they duly applied... leave the root-cause clear-before-write bug in place, and have the terminal cover it up by buffering and combining the clear+update !
My own experience: much less context bloat, and hidden system prompts. Can tune it to your own workflow, instead of dealing with whatever hidden system prompt Claude Code forces on you.
I didnt personally used OpenCode for heavily, but i remember when i ran it on the server it's TUI was more expencive to run, comparing to PI, so it lagged af. Meanwhile PI doing the same (or even better) job, has very minimalistic and fast TUI, it is like as minimal as possible agent CLI tool.
[1] https://x.com/trq212/status/2014051501786931427