Most agentic UIs are structured exactly the same regardless of the interface. TUIs are not composable in any possible meaning of that word (unlike CLI/REPL), they are GUIs on a fixed cell grid. Real TUI aren't unified either.
They are rich TUI but they remain somewhat scriptable environments. From the plain claude -p to run Claude code unattended, all the way to setting up hooks, MCP tools and injecting key presses. Complex and hackish yes, but probably not worse than attempting to automate fully GUI tools like Claude desktop which is meant to automate stuff, not the other way around.
All that is completely UI-agnostic and not related to GUI/TUI distinction in absolutely any way. Keypress automation is terrible, if you have to resort to jank like this you'd better use something like AT-SPI (which no TUI implements) or at least DOM manipulation and userscripts on web, although I've never seen a use case for that, sanely designed agents are malleable enough to avoid it.
The point is that I agree with the OP, terminals are fundamentally unfit for applications like agents that are not REPL and need complex interfaces. All attempts to fit them into it I've seen are 99% cargo cult, like the entire TUI zoo that keeps layering the cruft just because people are culturally averse to clean first-principle designs. This incidental complexity is destined to snowball into web/Electron-like Rube Goldberg machines pretty fast.