I have a confession. I was, until very recently, terrified of the Terminal. Watching engineers open the Terminal and type in random commands they’ve memorized over the years to execute various scripts on their computer felt like watching a wizard cast some magic incantation that I could never understand. I would see them stare at the output and marvel at all the random emojis popping up with checks and failures, agape at wild and marvelous technical trickery that is for sure way above my head as a lowly designer.
When I got into vibe-coding and was working on my iOS app, I knew I had to use Git to commit to the repo and I knew XCode had built-in functionality to push to Github. When I asked my engineering buddies about how to do it, they laughed at me. Their responses ranged from “Are you insane?” to “Why don’t you just push using the Terminal?” to “The XCode Git push functionality makes me want to rip a hole in spacetime.” Dejected, I turned to YouTube, looked up some tutorials, and figured out how to use the XCode Source Control functionality to push to my Github repo. I was determined not to open the Terminal. And this worked fine. I got into the flow of connecting to a repo, creating a new branch, staging and committing changes with a commit message, and pushing to the repo all through the XCode Source Control GUI. I literally did this every single time for 200+ commits when I was working on Poker Slam.
I’ve written code over the years, back when I was doing some lightweight web development and making Framer prototypes. But I never opened the Terminal unless I had explicit instructions from someone on how to run a command to save disk space or authenticate some admin thing with a sudo command. My fear of typing the wrong command being presented with “error” and not knowing what to do next overrode any logical recommendation to try and learn it. I also didn’t understand the point of it. Why would I navigate to a directory through the Terminal when I could just do it through the Finder? Like, what? What is the point? This is how I went about my life, casually and unwarrantedly hating on the Terminal, until my buddy Claude came along.
• • •
I had used Cursor, Antigravity, ChatGPT, Gemini, and many more IDEs. They were all specific apps that you install and download a .dmg for and then move to the Applications folder, like you would with a regular app. But there was one tool I was avoiding knowing that it ran entirely in the Terminal: Claude Code. As soon as I heard about the fact that it didn’t have a dedicated IDE, I hopped off the train. I didn’t want to touch it and I didn’t want anything to do with it. I was happy in my IDE land with a GUI that I could interact with. But over the months, more and more designers started embracing Claude. I saw skills and workflows and best practices come up, and I said screw it. I’ll give it a shot.
The hardest part about Claude Code is running the command to install it (you literally just copy and paste it into the Terminal). After that, once you have it running, you literally just talk to it. In the Terminal. That’s all. That’s literally all you do. What was once a paralyzing experience of needing to memorize obscure commands and knowing how to structure them and type them correctly became a seamless prompt that you just gave Claude. The programming language went from CLI commands that you needed to know to plain English.
My previous and tedious workflow of checking out a new branch, pulling in the latest changes from the main branch, working on it, staging it and committing with a message, and pushing it to the remote repo that took five separate commands turned into two seamless prompts that I could directly tell Claude. It felt powerful to have this at your fingertips. I literally didn’t need to memorize any commands. I could just tell Claude what I wanted to do and it would do it. This really unlocked a new level of possibilities in my mind.
At DoorDash, all designers are expected to commit PRs into production. I had a tedious workflow for this involving creating bazel builds with BuildBuddy, authenticating through GitHub and other package management libraries with SSO, creating branches, and opening PRs with specific templates. One day, I asked Claude to automate this entire thing. It started writing bash scripts to automate this fully. I even asked it to implement the AskUserQuestion Tool to literally interview me about the changes I wanted to make. I now went from a workflow that required dozens of clicks and taps and authentication and Git commands to a seamless back-and-forth conversation with Claude.
And then it clicked for me. This was the power of the Terminal, the thing that I had avoided for so many years. I record-scratch rewinded in my mind back to a decade ago when I was writing CoffeeScript to animate some prototypes with transitions and realized how incredible this would have been for my tedious workflow of uploading icon assets to an AWS server and importing them into my prototype. My mind raced further back to when I used to create Photoshop Actions to bulk-resize images at specific resolutions for my marketing job in college and how using Terminal scripts to do it would have been a 10x unlock if I only had the know-how to do it back then.
Years of avoidance and being afraid to take the dive culminated in a euphoria moment when I realized that because Claude Code runs in my Terminal and has visibility into my entire machine, I could automate and do anything. I could make Blender models and export them in specific file formats into Unity or Godot. I could connect a CMS to my local repo and keep it up to date. I could have it write scripts that cleaned up my disk space and automatically uploaded files to the cloud. The possibilities were literally endless.
• • •
And that’s just the start. Claude skills and sub-agents take things to an entirely different level where you can inject your own preferences and infuse Claude with specific behaviors and rules created by others to shape the consistency and precision of the output. It’s all incredibly impressive and the skill ceiling for what you can do is sky high. On top of all this, Claude can run inside any IDE. But I’m learning to prefer the Terminal for its ubiquity and all-seeing eye powers that connect various applications and programs on my Mac that would otherwise never talk to each other and optimize workflows.
Best of all, Claude has taught me not to be afraid of the Terminal. I’m one of those people that watch the AI output like a hawk when vibe coding. I don’t just “let it run” and go do something else. I look at exactly what it’s doing and try to spot issues or learn how it’s architecting the software. I’ve learned a lot about Terminal commands like which and && and sudo just by watching Claude execute them. I’ve also learned about when to use which command and what to do when errors show up. It’s literally like watching an experienced engineer do it when you’re pair programming with them or something.
I can’t believe it’s taken me this long to embrace the Terminal. What was once a scary and daunting tool which I watched engineers use with ease while typing magical spells like brew or node or npm install turned into a friendly and approachable tool where I could explain what I wanted to do out loud and watch the AI implement it with the commands. In many ways, it feels like we’ve come full circle back to the command line days of PCs before GUIs. We went from the command line era to the other extreme of graphical design tools and now are back to command line interfaces for maximum efficiency. Using a mouse pointer to click a thing in a design tool feels like ancient history now.
It really feels like we’re in the command line era of AI tools, and I’m personally interested to see where things develop from here. We likely won’t go into interfaces and will probably leapfrog directly into wearables or neural interfaces where a thought becomes a command. The gap between intent and action will continue to narrow and approach zero as the models get better. In the meantime, we have a lot to grapple with about how much power and water it takes to power the infrastructure for all this and and whether or not the 98% of AI slop generated is actually worth the 2% of efficiency gains for creators. It’s a truly weird time to be living through this transition, but I do know for sure that the next decade is going to look very different and more unpredictable than we think.