Please Stop Hijacking My Terminal
Web dev is out. Building TUIs is the next big thing. Command line interfaces make it easy to go back and forth with your AI of choice without distractions of a full-fledged IDE. Github Copilot CLI, Claude Code, Codex CLI, Gemini ClI, and of course I would be remiss if I didn’t mention my employer’s CLI tool, Kiro. The list goes on and on. TUI libraries like Bubble Tea and ratatatui have also made it simple to vibe-code a handy terminal user interface. Don’t get me wrong, I enjoy a good terminal user interface as much as the next dev. I use LazyGit all the time; not to mention Neovim and tmux. But taking over my full terminal window with a bespoke terminal interface is a rather aggressive action that should be reserved for essential tools. And it is likely that your tool, the one you’re creating right now, is not essential.
Complex TUIs that have different functionality when pressing common tmux hotkeys harm my ability to navigate between my tmux windows and sessions. And making sure your CLI app is responsive to window sizes turns TUI into web dev with extra steps.
Do yourself a favor: don’t do this
It is already hard enough making your website responsive to different screen sizes. Now imagine you have none of the UI features developed over decades of designing layouts for the web, along with bare-bones color support and custom graphics protocols. Your CLI tool will be more successful if it can work natively with existing pipe and arg passing operations. If you truly need a UI, make a desktop app or web app. It has never been easier to do so.