~/blog/what-is-vibe-coding

What Is Vibe Coding, Actually?

July 6, 2026 · 5 min read

In early 2025, Andrej Karpathy, the AI researcher who co-founded OpenAI and previously led AI at Tesla, posted about a new way he had been writing software. He called it vibe coding: you describe what you want to an AI, accept what it gives you, and mostly stop thinking about the code itself. You give in to the vibes. He was at least half joking. The internet took it completely seriously, and the name stuck.

A year and a half later, the term has outgrown the joke. Collins Dictionary named vibe coding its word of the year for 2025, which is a strange sentence to type about a programming workflow, but here we are. So what does it actually mean, and is it a real way to build software or a punchline with a job title?

The literal definition

Vibe coding is building software by describing what you want in natural language and letting an AI coding tool write the actual code. In its purest form, you do not read the code at all. You look at what the program does, tell the AI what to change, and repeat until the thing works. The code becomes an implementation detail, the way assembly became an implementation detail when compilers arrived.

In practice, most people use the term more loosely. Any workflow where the AI writes the majority of the code and the human steers by intent gets called vibe coding, even when the human reviews every diff. Purists object to the loose usage. Purists objected to the term in the first place. Language does not ask permission.

Why it landed when it did

The term arrived at the exact moment the tools got good enough to make it possible. Earlier AI coding assistants were autocomplete with ambition: useful for a line or a function, hopeless for a feature. By 2025, agentic tools could take a task, form a plan, edit multiple files, run the tests, read the failures, and fix their own mistakes. That is a different category of tool, and it needed a different name for the different way people used it.

It also landed because it named something people were slightly embarrassed about. Plenty of developers were already shipping AI-written code and describing it in careful, dignified language. Karpathy gave the undignified version a name, and naming the thing made it discussable. Within months, vibe coding went from confession to job skill.

What vibe coding looks like day to day

A typical session is a conversation punctuated by results. You describe a feature. The agent proposes an approach, touches a handful of files, and runs the tests. You look at the outcome, not the keystrokes, and respond at the level of intent: the empty state looks wrong, the API should paginate, that name is confusing. The agent handles the mechanical translation of your opinions into code.

The skill that matters shifts accordingly. Typing speed is irrelevant. What matters is being able to describe a problem precisely, to notice when the output is subtly wrong, and to know which parts of the system deserve your suspicion. Experienced developers tend to be startlingly good at vibe coding for exactly this reason. They have spent years developing taste, and taste turns out to be the scarce input.

Where Claude Code fits

Claude Code is Anthropic's coding agent, and it runs in the terminal, which made it the natural home for a lot of this culture. It reads your codebase, plans multi-step work, edits files, and runs commands, with you approving what it does along the way. You can keep a CLAUDE.md file in your repo to teach it your project's conventions, define slash commands for repeated workflows, and let it work through a plan before it touches anything.

That last part is the quiet answer to the biggest criticism of vibe coding. The stereotype is reckless acceptance of whatever the model produces. The reality of the tooling is a lot of structure: plans you review before execution, permissions you grant explicitly, and a running record of what changed. You can vibe responsibly. The tools are ahead of the discourse on this one.

The honest criticisms

Vibe coding earns some of its criticism. Code nobody read is code nobody understands, and a codebase built entirely on vibes accumulates decisions no human can explain. Security reviewers have found real problems in AI-generated code that a careful human would have caught. And there is a real difference between a prototype you vibed into existence over a weekend and a system that handles money.

The mature position, which most working developers seem to have arrived at, is that vibe coding is a mode rather than an identity. You go full vibes for a throwaway script or an exploration. You review carefully for anything that ships. You keep your own judgment engaged for architecture, security, and the parts of the code where being wrong is expensive. The mode-switching is the actual skill.

From workflow to culture

Whatever you think of the practice, vibe coding became an identity, and identities produce artifacts. The phrase shows up in conference talks, in bios, on laptop lids, and yes, on hoodies, including ours. Our Vibe Coder Hoodie exists because the term earned its place, the way earlier generations put I read your email or There is no place like 127.0.0.1 on cotton.

The pattern is old even when the joke is new. Developer culture has always converted its inflection points into wearables. Vibe coding is simply the current inflection point, and it happens to be a genuinely funny name for a genuinely large shift in how software gets made. Both things can be true. Around here, both things are.

from the shop

Vibe Coder Hoodie

Vibe Coder Hoodie

Claude Code Terminal Tee

Claude Code Terminal Tee