
Buttons CLI
The terminal app for regular people not nerds
Most terminal apps assume you already love terminals. They compete for who can remove the most user interface. Get rid of it completely! Is what they say.
ButtonsCLI starts from a different place: what if the terminal stayed real and powerful, but became more visible, more clickable, more customizable, and friendlier to AI-assisted workflows?
At its core, ButtonsCLI is still a real desktop terminal. It uses a Rust and Tauri backend to manage native windows, filesystem access, and PTY processes, with a React and TypeScript frontend rendering terminal sessions through xterm.js. That means it is not a fake command runner or a toy shell wrapper. You are still working with a real terminal underneath.
The difference is everything around it.
ButtonsCLI is built around a simple idea: the terminal can stay powerful without making everything invisible. You should not have to memorize every command, shortcut, layout trick, or config-file setting just to get work done. Instead, ButtonsCLI gives you visible controls — clickable command presets, named tabs, split layouts, grids, shell profiles, SSH presets, and live settings panels — so the terminal feels more like a control room than a blank black box.
A Real Terminal, But Easier to See
Traditional terminals are powerful, but they often hide too much. ButtonsCLI tries to make common workflows more obvious.
You can open multiple shell tabs, rename them, split the workspace horizontally or vertically, arrange terminals into grids, and recover recently closed tabs. Instead of relying only on memory, the app gives you visible layout controls and preset buttons that stay close to the work.
That matters because terminal workflows are often repetitive. You run the same dev server, SSH into the same machine, tail the same logs, or test the same project over and over. ButtonsCLI turns those repeatable actions into visible buttons instead of asking you to retype everything from scratch.
Built for AI-Assisted Workflows
ButtonsCLI also treats AI as part of the modern terminal workflow, but in a careful way.
The app includes a separate AI Help window that can read recent context from the active terminal, explain errors, suggest commands, summarize output, or help with the next step. Suggested terminal actions are review-first by default, meaning the app does not silently run commands just because an AI suggested them.
That review step is important. A terminal is powerful enough to delete files, change servers, expose secrets, or break a project. ButtonsCLI’s AI features are designed around the idea that users should stay in control.
The app can also expose a local control surface through buttonsclictl and an installed MCP helper. That gives scripts and AI agents a structured way to inspect tabs, send commands, wait for output, open layouts, and interact with running terminal sessions without scraping the UI.
In other words: ButtonsCLI is not just a terminal for humans. It is also a terminal that can be driven by local automation and agent tools in a more deliberate way.
Themes, Fonts, Effects, and the Joy of Looking at Your Tools
A lot of terminal apps treat appearance like an afterthought. ButtonsCLI does not.
It includes deep theme controls, ANSI color editing, live gradients, transparent terminal backgrounds, font settings for different parts of the interface, and visual effects like terminal post-processing shaders and overlay noise. There is even a Shader Lab for experimenting with fragment shader effects on rendered terminal output.
That may sound extra, but it fits the core idea: people stare at terminals for hours. The terminal should be readable, comfortable, expressive, and maybe even a little weird if that makes the work feel better.
ButtonsCLI is built for people who care about how their tools feel.
Helpful Without Hiding the Real System
A key design choice is that ButtonsCLI does not try to replace the shell. It wraps the shell.
The app still keeps a real PTY session. It still uses xterm.js for terminal rendering. It still lets you run normal commands. But around that real shell, it adds:
clickable command presets
visible SSH workflows
multiple tabs and layouts
AI Help in a separate window
local AI agent automation through
buttonsclictlMCP helper support
profile-aware settings
theme and font control
privacy-conscious analytics that avoid terminal contents and typed commands
That balance is what makes the app interesting. It does not dumb the terminal down. It makes more of the terminal visible.
Designed for Normal Users First
ButtonsCLI’s documentation is written with normal users in mind. The goal is to explain what a feature does, where to find it, and what its limits are without assuming the reader is already a terminal expert.
That philosophy shows up throughout the product. AI Help explains and suggests instead of instantly acting. Installer helpers copy commands for review instead of silently running them. Agent workflows use local control primitives instead of hidden magic. Settings are exposed as live controls instead of buried configuration files.
The result is a terminal app that feels more approachable without becoming less serious.
Why ButtonsCLI Exists
The terminal is one of the most powerful interfaces in computing, but it can also feel hostile, invisible, and memory-heavy. ButtonsCLI is an attempt to keep the power while changing the posture.
It is for developers, tinkerers, AI coding users, server admins, and terminal-curious people who want the shell to stay real, but would rather interact with it through visible controls, saved workflows, better layouts, and AI help that respects user approval.
The shortest description might be:
ButtonsCLI is a desktop terminal app for people who want a real shell with visible controls, expressive themes, approachable layouts, and AI-friendly automation.
It is still a terminal.
It just finally admits that buttons are useful.
<a href="https://buttonscli.com/?ref=indiehackersblog>Download it free here</a>
About
Every other terminal app forces you to memorize a bunch of key combos, you have to edit json files just to change a color or do any basic setup. So I built Buttons CLI for modern times. Its got AI help to automate.

Comment