Now Anyone Can Interact with a Computer in Terminal Like a Developer
Every piece of software you use has two faces. Every computer has two methods for interacting with it. The first one you know well: the screen — the windows, the buttons, the menus, the search bars. The second one is older and plainer but more powerful and flexible: a text window where you type a command and the computer answers in text. Most people meet the first face and never meet the second. They use only the first method and call it the Matrix when they accidentally see the second. Programmers interact with both. Many are almost always in the Matrix's version.
Two doors into the same machine
The Graphical User Interface (UI or GUI) is the visual face of software. Windows, icons, menus, buttons. You point at things, you click them, the machine responds. Every click is a translation: that button becomes that instruction underneath.
The Command-Line Interface (CLI, or "the terminal") is a plain text window where you type precise commands and the computer answers in text. No icons, no menus — just verbs and nouns. You say what you want; the machine does exactly that.
Both are conversation layers sitting on top of the same machine. Two doors into the same house. Almost anything one door can do, the other can too — the difference is what the trip through each door costs you.
As for when each arrived: the terminal came first, born in the 1960s with time-sharing systems — computers answered typed commands because typed commands were all there was, and screens that could draw pictures weren't affordable yet. Unix in the 1970s turned typed commands into an entire culture. The GUI arrived as 1970s research at Xerox PARC and went mainstream with the Macintosh in 1984 and Windows soon after — for the best possible reason: it put computers into the hands of people who had no interest in memorizing command languages. You shouldn't have to learn a language just to open a file.
Both doors are still wide open today. Every programmer you will ever meet uses both — but the terminal is where the real work gets done. (AI agents use it too. But we'll get to that.)
Why the terminal is more flexible and customizable
1. Speed: Looking Up Complex Information Instantly
Finding specific data in a UI usually requires clicking through folders, waiting for previews to load, and manually sorting columns. In a terminal, you can pinpoint exactly what you need in seconds using text filters.
The UI way: Imagine you need to find a specific receipt from 2024 that contains the word "Server" inside a folder of 10,000 PDFs. You have to open the folder, type in the search bar, wait for the computer to index and visually render the files, and click through them one by one.
The terminal way: You use a tool like grep or find. You type a single command that tells the computer: look through all files, ignore anything not from 2024, and instantly print only the text lines that contain "Server." The terminal bypasses the visual rendering entirely, reads the raw data, and spits out the answer in milliseconds.
The difference isn't just seconds saved. It's that in the UI, the computer spends its effort showing — fonts, thumbnails, scroll bars — and in the terminal, it spends its effort answering.
2. Flexibility: Chaining Commands Together
The true power of the terminal lies in piping — the | character. Piping takes the output of one command and immediately feeds it into another command, like an assembly line. Each tool does one job and hands the result to the next tool down the line.
In the UI, programs rarely talk to each other seamlessly. You can't easily take a list of names from a text file, automatically run them through a web search, filter out the duplicates, and save them into a new folder — not without a massive amount of manual copying and pasting between windows.
In the terminal, you can link completely unrelated tools together in one line:
history | grep "git" | sort | uniq -c
Translation: take my entire command history → filter out only the lines containing "git" → sort them alphabetically → count how many times I used each unique command. Four tools, one line, zero clicks. The UI has no equivalent of that | character — and that single missing symbol is the whole difference between an assembly line and a desk covered in open windows.
3. Customization: Building Your Own Shortcuts
Because the terminal operates entirely on text, you can customize the environment to fit your personal workflow — in ways a UI will never allow, because a UI belongs to everyone and the terminal belongs to you.
Aliases (custom shortcuts): If there's a long, tedious command you have to type every day, you can create a one-word nickname for it. You can program the terminal so that typing the single letter p instantly pulls the latest code from your team's server, clears your screen, and launches your development environment — three chores becoming one keystroke.
Shell scripts (personal automation): You can save a whole sequence of commands into a plain text file — a script. If your morning routine involves opening five specific server connections, checking disk space, and clearing out your temporary downloads folder, you can write a script that does all of it automatically the moment you launch the terminal. Your routine stops being something you do and becomes something that happens.
How I interact with a terminal everyday
One of the most complex parts of my job is understanding every integration, every bug, every update, every bug fix etc. Whenever a ticket comes in from a customer, I have to go through the complex and tedious steps to verify if what they are reporting really is a bug or just a bad set up in their account.
When I need to check whether a feature of an integration is working — did this event actually send its API calls to every item it was supposed to reach? — the UI version of that check is a long series of clicks, pages switching, and comparing logs.
The manually interacting through the UI
To verify one event manually, I move through two apps, three modules, and about eight screens:
- The ticket in the support app (about 3 clicks): open the ticket, read the transcript, open the recording.
- Getting into the account (about 3 clicks): log in to the admin panel, find the customer's account, impersonate it.
- The scheduling module (about 6–8 clicks): search for the event, open the Details tab, and scroll to the override setting. History tab: scroll 37 rows to find the access change and the cancellation. Schedules tab: check the recurrence. Items: see which items are on the event.
- The Integration Module (about 4 clicks): My Modules → Integration Module → Integrations → the specific integration.
- The integration logs (34+ clicks): expand each of the 17 individual integration item logs one at a time. Scroll each 50-row log, read every description for this event's name and dates, and note the times. Then do the buffer math by hand — start time minus 30 minutes.
- Optionally: open the integration's own portal and cross-check its event tracker.
Add it up and one verification costs roughly 50–60 clicks and 17 separate log grids to read and line up by hand — realistically 30 to 60 minutes, and it's easy to miss one item along the way. And remember the quiet multiplier: the more items the event was supposed to reach, the more of these tours there are. The work scales with the interface, not with the question.
Why my agent version takes a few minutes
An AI agent can run this exact check in a fraction of the time, and how it does it is a tidy summary of everything this article has taught so far:
- It reads data, not screens. It pulls text and form values straight from the pages. The item toggle was a checkbox it read as
true— no scrolling, no squinting at switch colors. - It uses the page's own data call. Every item's log grid loads its rows from the same URL (
GetItemLogs). The agent runs that one call for all 17 items in a single script and keeps only the rows matching this event's ID and its two dates. - It does the math and the comparison in one pass. It converts every timestamp to Pacific time, checks each one against the 30-minute buffer, and compares the results against the History tab automatically.
Zoomed out, the whole check is the pipe from reason two, running for real: one data call, scripted across every item, filtered down to one event, timestamps converted, buffer math checked — a pipeline. Or in its small, generic shape:
curl -s "https://api.example.com/events/8841/logs" \
| grep "API call sent" \
| cut -d'"' -f4 \
| sort | uniq -c
Fetch the event's log stream → keep only the lines where an API call was sent → extract the destination item → sort them → count each one. Three items or three hundred, it's the same single pass, finished in about a second. The sub-windows don't expand — they simply never open.
And the honest part, which the agent itself will tell you: it isn't magic. Someone still has to log in and impersonate the account. The agent can only see what the software logged. And the result still needs a person's judgment before it goes to Dev or the customer. The text door isn't a replacement for the person — it's the difference between the person spending an hour collecting evidence and a few minutes judging it.
How agents interact with a computer
When an AI agent (or any external software tool) needs to interact with a proprietary application, it doesn't "look" at the screen, move a virtual mouse and click buttons like a human does (unless it needs to verify the result from a click in a QA test). Instead, it bypasses the visual interface entirely and uses the Command-Line Interfaces (CLIs) and Application Programming Interfaces (APIs) we just talked about. Here is exactly how the agent leverages this to work at lightning speed:
1. It skips the visual "weight." When you open a proprietary app like Salesforce, Microsoft Excel, or eSPACE, your computer spends a massive amount of energy loading fonts, colors, sidebar menus, and icons. An AI agent doesn't need any of that. By using text-based commands behind the scenes, it requests raw data directly from the software and receives pure text — usually a lightweight data structure called JSON — in milliseconds, completely skipping the time it takes to render a webpage or app screen.
2. It uses precise "hooks" (APIs). Instead of searching blindly, the agent uses the specific digital instructions the software company itself provides:
- The human way: Open the browser → click the search bar → type a customer's name → wait for the page to load → scroll down to find their email address.
- The agent way: Sends a single hidden text request directly to the application:
GET /customers?name=JohnDoe. The software instantly returns just the exact data the agent asked for — nothing else.
3. It "pipes" and filters data automatically. Just like using grep in a terminal, an agent can instantly sift through millions of rows of software data. Ask an agent to "find the highest-paying client from last month" and it doesn't open client files one by one. It requests the raw list of transactions through the backend interface, instantly filters out everything except last month, sorts the numbers mathematically, and hands you the winner in a split second.
4. It chains tasks together. Because the agent operates in this text-and-command layer, it can bridge completely separate proprietary apps with the same piping that chains terminal commands. It can grab data from your email app, filter it, send a command that updates a row in your spreadsheet app, and then trigger a notification in your chat app — all in the span of a single second, because it's piping text from one system's entry point to the next.
Read that list again and notice something: every single item is something the first half of this article already taught. Raw text instead of rendered screens — that's reason one. Precise requests instead of browsing — that's the API version of a one-line command. Instant filtering — that's grep. Chaining unrelated systems — that's the pipe. The agent isn't doing anything conceptually new. It's doing what Unix programmers did in the 1970s, on your behalf, across your entire stack of software at once.
Now anyone can do this
Everything above comes with an honest catch — the same catch that decided computing history. The terminal speaks a language, and learning that language (the commands, the flags, the syntax, what to do when the answer comes back as a wall of text) was the price of admission. That's why the GUI won the mainstream in the first place. Most people were never unwilling to be fast; they were unwilling to memorize.
AI agents removed the catch. You don't write the command — you describe what you want in plain English, and the agent writes it, runs it, reads the output, and explains what it found. "Find the receipt from 2024 with 'Server' in it, in that folder of 10,000 PDFs" becomes the grep pipeline from earlier. "Check whether event 8841 sent its API call to every item it should have" becomes the curl-and-filter one-liner from my integration example — I describe the check in everyday words, the agent assembles the pipeline, and the answer comes back in about a second. The agent is a translator standing between you and the command line: you speak human, it speaks terminal.
Which means the three reasons from earlier are no longer members-only:
- Speed — you get the instant, raw-data answer without ever needing to know
grepexists. - Flexibility — you get the chained pipeline without writing the chain yourself.
- Customization — the agent remembers what you ask for repeatedly and can turn your plain-English requests into your own reusable scripts.
None of this required the terminal to change. It only required a translator to show up. The thing that made programmers fast was never the typing — it was the model: precise text in, raw data back, filter, chain, answer. That model is now available to anyone who can describe what they want. Now anyone can interact with a computer in terminal, like a developer, without ever having to learn to speak like one.
The Bottom Line
The UI and the terminal are two doors into the same machine, and both are still used by programmers and others today. The GUI just made interacting with a computer visual, which resulted in the learning curve being so low that anyone could easily learn to talk to a computer. That remains today the main way that most interact with computers and by extension, search engines, websites, social media platforms, cloud software etc. The terminal never became obsolete because it answers faster than it shows, chains tools into pipelines the UI can't, and bends to whatever shape your personal work takes (for those who use it).
And now, just like with almost everything these days, agentic AI has changed that. The same text-first, pipe-and-filter, chain-everything approach that lets a programmer check a thousand log entries with one line in a minute is exactly how an AI agent checks your software, fetches your data, and updates your systems — and it takes requests in plain English.
For forty years, the terminal's speed came with a steep learning curve and boring visuals: learn a programming language and then you type strict and specific commands perfectly, and the computer will do what you want. AI agents put this type of power into the hands of the average person. The next time an agent tells you it confirmed an integration event reached every one of its items, you'll know how it did it: not by expanding thirty sub-windows, but by running the one line — a line you asked for in everyday words.
The UI is for looking around and doing specific actions like clicking buttons and verifying the action. The terminal — and the agents that live there — is for getting just about any answer you want and in practically lighting fast time. And for the first time, thanks to AI agents, anyone can interact with a computer like a developer!