What is vibe coding, and where did the term come from?
Vibe coding is building software by telling an AI model what you want and accepting the code it writes without reading or fully understanding it. Andrej Karpathy, a co-founder of OpenAI, coined the term in a post on X on 2 February 2025, describing coding where you "forget that the code even exists".
Cite
CodeLifter Forum, "What is vibe coding, and where did the term come from?", https://forum.codelifter.com/posts/what-is-vibe-coding-and-where-did-the-term-come-from/, accessed 2026-10-17.- CodeLifter editorsStaffStaff, CodeLifter ·
What does vibe coding mean?
Merriam-Webster's slang entry, last updated 4 June 2026, defines it as "writing computer code in a somewhat careless fashion, with AI assistance". The longer note on the same page says that in vibe coding "the coder does not need to understand how or why the code works, and often will have to accept that a certain number of bugs and glitches will be present."
Two parts of that definition matter. The first is the AI model: a large language model (LLM), a program trained on large amounts of text and code that predicts what to write next, produces the code. The second is the attitude: you judge the result by whether the app seems to work, not by reading the code. Take away the second part and you have ordinary AI-assisted programming, which is a different thing.
Where did the term come from?
Karpathy's post set the tone. Simon Willison quotes it in full on his weblog. The key lines:
- "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."
- "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."
- "It's not too bad for throwaway weekend projects, but still quite amusing."
A diff, in that quote, is the list of lines a change adds and removes. Not reading the diffs is the defining habit. Karpathy named the tools he used (Cursor Composer with a Sonnet model, and voice input), but the term was never tied to one product.
The word spread fast. Merriam-Webster's examples include a New York Times piece of 27 February 2025 and an Ars Technica piece of 5 March 2025, and the dictionary says the practice "did not gain prominence until the beginning of 2025." It also calls the word "more jargon than slang" and warns that, being so new, it may change meaning.
A note on the date. Merriam-Webster gives 2 February 2025. Willison's post says 6 February. The post's ID on X (1886192184808149383) decodes to 2 February 2025 at 23:17 UTC, so we use 2 February.
Is all AI-assisted coding vibe coding?
No, and the difference is the useful part of the definition. Willison's working definition is "building software with an LLM without reviewing the code it writes." His rule for his own production work is that he will not commit code he "couldn't explain exactly what it does to somebody else". If you review it, test it and can explain it, he writes, "that's not vibe coding, it's software development."
Vibe coding AI-assisted programming Writing code by hand Who writes the code The model The model, often You Do you read the diff? No Yes You wrote it How you judge it It seems to run Tests, review, your own understanding Tests, review Suits Throwaway and personal tools Anything you will maintain or ship Anything Main risk Bugs and security holes nobody saw Trusting a review you rushed Speed The term now gets used loosely, sometimes for any code an AI touched. When you read a claim about vibe coding, check which meaning the writer has in mind, because the risks are very different.
Why do people argue about it?
Because "it seems to run" hides problems you cannot see from the outside. Three findings from the research behind the CodeLifter desk article on whether vibe coding is bad:
- In a user study by Perry and others (arXiv 2211.03622), participants with an AI assistant wrote significantly less secure code than those without one, and were more likely to believe their code was secure.
- Spracklen and others (arXiv 2406.10279) found code models suggesting package names that do not exist: at least 5.2% of the time for commercial models and 21.7% for open source models in their test. The thread on packages that do not exist explains why that matters.
- METR's July 2025 study of 16 experienced open source developers found they took 19% longer with AI tools, while believing they were faster. METR has since marked those results out of date, so treat that one as a snapshot of early 2025 tools.
None of this says you should not vibe code. It says the habit of not reading the code moves the risk onto whoever runs the app.
When does vibe coding make sense?
Willison's list for beginners is a fair test. The project should be low stakes, so a bug harms nobody. Watch for secrets such as API keys, which you cannot protect without understanding the code; the thread on keeping API keys out of a vibe-coded app covers that. Be careful with private data and with any service that bills by usage.
If the project grows past that line, stop vibe coding it and start reviewing it. The thread on how to start vibe coding without shipping broken code gives the steps, and the CodeLifter glossary defines the related terms.
Short version
- Vibe coding means letting an AI model write code and accepting it without reading it.
- Andrej Karpathy coined it on X on 2 February 2025; Merriam-Webster lists it as slang.
- AI-assisted coding where you review, test and can explain the code is not vibe coding.
- Studies link the unreviewed habit to less secure code and to invented package names.
- It suits throwaway, low-stakes projects; anything you ship needs review.
Write something first.
Give people something to work with: at least 30 words on what happened and what you tried.
That is too long. Keep it under 6,000 characters.
Write the question as the title, 15 to 140 characters, no links.
Pick a category.
Add a name (2 to 40 characters, no links).
That email address does not look right.
That was quick. Read the thread, then try again.
The form expired. Reload the page and post again.
Something went wrong with the form. Reload and try again.
Please complete the check and post again.
Limit reached for now. Try again later.
This thread is closed to new replies.
This thread no longer accepts replies.
Something went wrong with the form. Reload and try again.
Post a reply or question first (name and email), then this browser can vote, edit and accept answers.
You cannot vote on your own post.
Only the author (within 30 days) or the forum team can do that.
That email belongs to a forum team account. Use your sign-in link instead.
New accounts are paused for the moment. Try again later.
That was already posted.