Vibe coding means building software by describing what you want to an AI model and accepting the code it writes without reading it. You run the result, paste back any error and repeat until it seems to work. The code exists, but you do not really look at it.
The term was coined by AI researcher Andrej Karpathy in a post on X on 2 February 2025. Collins Dictionary later named “vibe coding” its Word of the Year for 2025, announced on 6 November 2025.
What Karpathy actually said
His post opens: “There’s a new kind of coding I call ‘vibe coding’, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.” He describes talking to his editor by voice, asking for small changes, and this workflow:
- “I ‘Accept All’ always, I don’t read the diffs anymore.”
- “When I get error messages I just copy paste them in with no comment, usually that fixes it.”
- “Sometimes the LLMs can’t fix a bug so I just work around it or ask for random changes until it goes away.”
He also set the limit himself: “It’s not too bad for throwaway weekend projects, but still quite amusing.” The original term described a fun way to build toys, not a method for production software.
Vibe coding vs. AI-assisted programming
The term spread fast and got stretched to mean any coding with AI. Simon Willison pushed back in Not all AI-assisted programming is vibe coding (19 March 2025). His definition: “building software with an LLM without reviewing the code it writes.” If you review, test and understand the code, the AI is just a tool, and you are doing normal software development.
| Vibe coding | AI-assisted programming | |
|---|---|---|
| Reads the diff | No | Yes |
| Can explain the code | Not really | Yes, before committing it |
| Tests | Runs it and sees | Writes or checks real tests |
| Good for | Prototypes, scripts, weekend toys | Code other people depend on |
Why “I asked the AI” is funny
Our shirt reads: “I asked the AI. It worked. I have no idea why.” It is the AI-era version of a much older developer mood, the one we cover in the “it works, why?” meme. The difference is scale. Before, you did not understand one line you changed. Now you do not understand three hundred lines you never wrote.
The joke lands with two audiences. Enthusiasts laugh because it is their Friday. Sceptics laugh because it is their nightmare, usually reviewed on Monday.
Where vibe coding goes wrong
Code you do not read can work and still be wrong. A classic case is a database query built by pasting user input into SQL. It returns the right rows in every test, and it is open to SQL injection:
cur.execute(f"SELECT * FROM users WHERE email = '{email}'")
The safe version passes the value as a parameter, so the database never treats it as SQL:
cur.execute("SELECT * FROM users WHERE email = ?", (email,))
Both lines run in Python’s sqlite3, and both return the same rows for normal input. Only someone who reads the code sees the difference. That is the gap between “it worked” and “I know why it works”.
A few habits keep the vibes and lower the risk:
- Vibe code freely in throwaway projects; read every diff in shared ones.
- Ask the AI to explain its change, then check the explanation against the code.
- Keep tests outside the AI’s reach, so it cannot make them pass by changing them.
- Commit small steps, so
git diffstays readable and easy to revert.
And when the AI’s code breaks at 2 a.m., debugging it is a special case of being the detective in a crime movie where you are also the murderer. You did not write the code, but you clicked Accept All.
Get the shirt
Two designs from the AI & Vibe Coding collection: one confession and one job title. Add the original “why” shirt for the full set.

I Asked the AI T-Shirt · 24 €
It worked. Nobody knows why. Ship it.

Senior Prompt Engineer T-Shirt · 24 €
The job title, updated for the AI era.

It Works, Why? Developer T-Shirt · 24 €
The pre-AI version of the same feeling.
All shirts are unisex, S to 5XL, printed on demand. Check the size guide before ordering. More ideas in the Christmas gift guide for programmers.
FAQ
Who invented the term vibe coding?
Andrej Karpathy, in a post on X on 2 February 2025. Collins Dictionary named it Word of the Year 2025.
Is vibe coding bad?
Not for prototypes and personal tools, which is what Karpathy described. It becomes a problem when unreviewed code reaches production, handles user data or is maintained by a team.
Is using GitHub Copilot or Claude vibe coding?
Only if you accept the code without reading it. If you review, test and understand what the AI wrote, it is AI-assisted programming.