TryTerminal — teaching the command line in the browser
Claude Code is the best dev tool in years, but you need a terminal to use it — and most people have never opened one. So I built TryTerminal to close the gap.
My friend Marco asked me last winter what I’d been spending all my time on, and I tried to show him Claude Code.
I got about four seconds in before I realized he didn’t know what a terminal was.
Not in a “hasn’t used zsh” way. In a “I have never once opened that black window on my Mac, why would I” way. Marco is smart and curious and builds his own thing on the side. He just happens to have spent his whole career in tools with buttons. And here I was trying to hand him the best dev tool I’ve used in years, and the very first step was “open Terminal dot app”, and I lost him before I could say anything else.
I walked home kind of annoyed. Not at Marco — at myself for not having a good answer.
The gap nobody’s closing
Claude Code is genuinely the best thing that’s happened to my day-to-day in a long time. I tell everyone who’ll listen. And almost every time, I hit the same wall: to try it, you need a terminal. To use a terminal, you need to already know what a terminal is. There’s no ramp. You either grew up staring at a blinking cursor or you didn’t.
The docs are fine if you know what you’re looking at. They are not fine if the word “shell” means the thing on a beach.
So the question I kept turning over — how do I give Marco, and all the Marcos, a way from zero to “ready to install Claude Code” without making them feel stupid? Without an install, without an account, without me sitting next to them?
What I ended up building
TryTerminal is a virtual terminal that runs entirely in the browser. You type ls, you see a listing. You type mkdir projects && cd projects && touch hello.txt, and the file actually appears — not in some fake text blob, but in a macOS-style Finder window sitting right next to the terminal, updating in real time as you type.
That Finder mirror is the thing I’m proudest of. The whole problem with teaching the command line is that the command line hides its effects. You type something, the prompt comes back, and if you don’t already have a mental model you just see… nothing. The Finder window fixes that. You rename a file, it slides to its new name. You rm a folder, it vanishes. Two ways of looking at the same world, and the bridge between them is what I actually wanted to teach.
Under the hood it’s a real-ish shell. 40+ commands. Tab completion. Command history. Pipes. Redirects. Not a toy. When I tested it on Marco (eventually) he tried to break it for ten minutes and only got me once, and the bug he found was on me, not the premise.
Why a learning platform instead of docs
I thought about writing a long README. I had one drafted. It was bad.
The problem with docs for something like this is that reading about cd and actually typing cd are not the same activity, and only one of them sticks. You can’t learn to swim by reading. The only honest way to teach a CLI is to let someone type a command, be wrong about it, and have the environment tell them — gently — what to try instead.
So TryTerminal has guided tasks with live validation. “Create a folder called notes and put a file called todo.txt inside it.” The app watches what you do and tells you when you’ve got it. If you haven’t, it nudges. Progress saves to localStorage so you can close the tab and come back (no account, because accounts are where momentum goes to die).
The real destination
The tracks go: Terminal Basics (5 levels), Terminal Advanced (2 levels), then Git, Claude Code, Skills & Agents, Shell Customization — all coming soon. The basics tracks are the only ones live right now and I’m fine with that, because the basics are the actual bottleneck. Nobody’s stuck because they don’t know grep -v. They’re stuck because they’ve never typed pwd.
But the order of the tracks is the whole point. Terminal Basics is just the on-ramp. Where I want to land people is the Claude Code track and the Skills & Agents track. The whole thing is a corridor pointing at “here is the tool that will change how you work”, and the first door is “here is how to open a terminal without being afraid of it”.
Static, forkable, nobody’s problem but yours
Next.js 16 static export. React 19, TypeScript, Tailwind v4. No backend, no database, no signups. I deployed to Vercel, but you could shove it on GitHub Pages or an intranet at a school. MIT license. Fork it, strip my name off, teach your team. That was deliberate — I didn’t want “ah but it needs an account” to be anyone’s reason to bounce.
There’s also a speed test mode with a leaderboard (because once you’ve shown someone ls they immediately want to race) and a light/dark theme, because not everyone lives in a cave.
Marco finished Terminal Basics over a weekend. Last week he sent me a screenshot of a Claude Code session. The first message in it was /help.
That was the whole point.
-D