The CLI Resurgence: Why Expert Users Are Stripping Their Desktops Down to the Shell
Photo by Photo by Mohammad Rahmani on Unsplash on Unsplash
When Simplicity Becomes an Obstacle
The graphical user interface was built on a promise: that visual abstraction would lower the barrier between human intention and machine execution. For three decades, that promise held well enough that the GUI became the default mode of computing for virtually every category of user. The mouse, the window, the icon — these were not merely aesthetic choices. They were cognitive scaffolding designed to make computing legible to people without technical training.
The problem with scaffolding, as any construction worker will observe, is that it eventually needs to come down. For a growing community of developers, systems administrators, and technically sophisticated users, the scaffolding of the modern desktop has remained long past its useful life — and has begun obstructing the work it was originally meant to support.
This is not nostalgia. It is a pragmatic response to an environment in which graphical interfaces have accumulated enough abstraction layers, telemetry integrations, and vendor-managed complexity that the overhead of operating within them has begun to exceed the overhead of working without them.
What the Numbers Suggest
The evidence for this shift is not purely anecdotal. The Stack Overflow Developer Survey has tracked a consistent and meaningful increase in Linux adoption among professional developers over the past several years, with a substantial portion of that adoption concentrated in minimal or server-oriented distributions that prioritize terminal workflows over desktop environments. Tools like tmux, Neovim, fish shell, and zsh have seen sustained growth in developer toolchain surveys. Window managers such as i3, Sway, and Hyprland — none of which would be recognizable to a casual user — have cultivated dedicated communities among engineers who have concluded that a conventional desktop environment imposes more friction than it removes.
The Homebrew package manager, originally a workaround for macOS's limited native tooling, has become one of the most widely used software tools in professional development environments. Its popularity reflects a broader pattern: users who need precise control over their software environments increasingly route around graphical package management in favor of declarative, reproducible configurations managed entirely from the command line.
The Abstraction Tax
To understand why experienced users are retreating from GUIs, it helps to understand what graphical interfaces actually cost. Every visual abstraction layer introduces decisions — about what to expose, what to conceal, how to represent state, and how to handle edge cases — that were made by the interface's designers rather than by the user. For a beginner, these decisions are enormously valuable. They eliminate the need to understand underlying mechanisms before accomplishing basic tasks.
For an expert, those same decisions frequently conflict with what the user actually wants to do. A graphical package manager for a Linux distribution might present a curated view of available software, apply its own dependency resolution logic through a visual workflow, and abstract away the specific version pinning or repository configuration that a developer needs to control precisely. The GUI is not wrong. It is simply optimized for a different user than the one attempting to use it.
The command line, by contrast, exposes mechanisms directly. It is composable — outputs from one tool become inputs to another through pipes and redirection. It is scriptable, meaning that a sequence of operations performed once can be encoded, versioned, and repeated exactly. It is transparent in a way that graphical interfaces structurally cannot be, because the text of a command is itself documentation of the action being taken.
The Modern GUI's Specific Failures
Beyond the general abstraction tax, contemporary graphical operating environments have introduced specific failure modes that accelerate the migration toward CLI-first workflows.
Windows 11's Settings application, which coexists in a state of incomplete migration with the legacy Control Panel, presents users with configuration options distributed unpredictably across two separate interfaces with different design languages and inconsistent behavior. Experienced users navigating this environment often find it faster to invoke PowerShell or the Windows Terminal than to locate the relevant settings panel through the GUI. This is not a preference for complexity — it is a rational response to an interface that has become harder to navigate than the underlying system it represents.
macOS faces a different version of the same problem. Apple's progressive tightening of system access permissions, combined with the deprecation of certain developer-facing features in favor of sandboxed alternatives, has created an environment in which performing routine systems administration tasks through the GUI requires navigating security dialogs, privacy permissions, and System Integrity Protection in ways that the terminal largely bypasses or clarifies. For developers working on macOS who are not building consumer applications, the operating system's graphical environment increasingly feels like an obstacle course rather than a productivity surface.
The Diverging User Population
What this resurgence ultimately reveals is a growing divergence between the computing needs of casual users and those of technical professionals — a divergence that the major operating system vendors have not adequately addressed.
The modern GUI desktop was designed with a broad consumer audience in mind, and that audience is genuinely well served by the resulting design choices. Discoverability, visual feedback, and reduced memorization requirements are real advantages for users who interact with computers occasionally and instrumentally. The problem arises when the same design philosophy is applied universally, without accommodation for the substantial population of users whose relationship with computing is fundamentally different.
Linux distributions targeted at developers — NixOS, Arch Linux, Void Linux, and others — have gained traction precisely because they do not attempt to serve the casual user audience. They assume technical competence, expose system mechanisms directly, and treat the user as an architect of their own computing environment rather than a recipient of vendor-curated experiences.
The Shell as a Statement of Intent
Choosing a terminal-first workflow is, in the current environment, an act of deliberate positioning. It signals a preference for transparency over convenience, for precision over accessibility, and for user agency over vendor management. These are not universally correct values — they are the values of a specific kind of user with specific kinds of requirements.
The fact that this positioning is increasingly necessary, that it requires opting out of mainstream operating system design rather than simply configuring it, says something important about the direction in which the industry has moved. The GUI was supposed to be additive — a layer that made computing more accessible without making it less powerful. For a meaningful segment of expert users, that promise has not held. The shell is not a retreat. It is a correction.