What is vibe coding? The original meaning, and when it is a good idea
ExplainerBy Lucas Matías García TorresUpdated Data checked 4 min read
Reviewed by Lucas Matías García Torres on . How we work.

Short answer
What is vibe coding? Building software by telling a model what you want and accepting its code without reading it. Andrej Karpathy coined the term on X on February 2, 2025: you fully give in to the vibes and forget that the code even exists. Collins Dictionary named it Word of the Year 2025. Simon Willison draws the line: if you review, test and can explain the model's code, it is software development, not vibe coding. It suits low-stakes personal projects; secrets, private data and paid APIs need care.
Prices and limits change often: check the vendor's page before you pay. How we make money.
What is vibe coding? It is building software by describing what you want to a model and accepting the code it writes without reading it. The term comes from a post by Andrej Karpathy, the machine learning researcher, on X on February 2, 2025, describing "a new kind of coding" where you "fully give in to the vibes, embrace exponentials, and forget that the code even exists". Collins Dictionary made it its Word of the Year 2025. Since then the phrase has stretched to mean almost any programming with a model, which is where most of the confusion starts. This explainer gives the original definition, the line between vibe coding and model-assisted development, when it is safe, and the risks, citing the original sources.
Where the term comes from
Karpathy's post, as quoted in full by the developer Simon Willison, describes a very specific way of working. He talks to the editor by voice and "barely even touch[es] the keyboard". He asks for small changes like "decrease the padding on the sidebar by half" because he is "too lazy to find it". He always clicks "Accept All" and doesn't "read the diffs anymore". Error messages get pasted back to the model "with no comment". When the model can't fix a bug, he works around it or asks "for random changes until it goes away". His own verdict: "It's not too bad for throwaway weekend projects, but still quite amusing." He adds that it is "not really coding": he just sees stuff, says stuff, runs stuff and copies and pastes stuff, "and it mostly works".
Two details are worth keeping. The post names the tools he used: Cursor's Composer with a Claude Sonnet model, plus speech-to-text. And X dates the post February 2, 2025 at 23:17 UTC, while Willison's article, and pages that copy it, give February 6.
Collins announced vibe coding as its Word of the Year on November 6, 2025, defining it as the use of a model prompted by natural language to write computer code, and noting that "tech experts debate whether it's revolutionary or reckless".
Vibe coding vs model-assisted programming
Willison's article, published on March 19, 2025, argues that the term was already "escaping its original intent" and being applied to all forms of code written with a model's help. His working definition is narrow: "building software with an LLM without reviewing the code it writes."
The difference is not the tool but what you do with its output:
- Vibe coding: you judge the result only by whether it seems to work. You don't read the code, and often couldn't explain it.
- Model-assisted development: the model writes some or most of the code, but you review it, test it and understand it. Willison's rule is that he won't commit code he "couldn't explain exactly what it does to somebody else", and that if you reviewed, tested and can explain machine-written code, "that's not vibe coding, it's software development".
The same person can do both on the same day: vibe code a throwaway prototype in the morning, then use the same assistant carefully on production code in the afternoon. Our guide to the best coding assistants covers the tools for the second kind of work, and Claude Code vs Cursor compares two of the most common ones.
When vibe coding makes sense
Willison, who says he has published more than 80 experiments built this way, is enthusiastic about it in the right place. He sees it as a way for people without a computer science degree to "automate tedious tasks in their lives", and as the best way for experienced developers to build intuition about what models can and cannot do.
His conditions, written for people starting out:
- Low stakes. Ask how much harm a bug or a security hole could cause, especially if other people will use the software.
- Secrets. Anything that looks like a password or an API key needs care, which "means you need to understand how the code works".
- Private data. Be sure you understand whether data could leave your machine.
- Other people's services. Code that calls other platforms adds load and cost to them.
- Your money. Be very careful vibe coding against anything billed by usage; Willison mentions people who ran up thousands of dollars in charges against an API without a billing limit.
Typical good uses: a one-off script to rename files, a personal dashboard, a prototype to show an idea to a developer, a small game for your kids.
The risks, and how to reduce them
The risks follow from the definition: if nobody reads the code, nobody catches what is wrong with it.
- Plausible but wrong code. Language models produce fluent output that can be false; the same mechanism behind model hallucinations can produce code that runs and quietly does the wrong thing.
- Security holes. Exposed keys, missing input checks and over-broad permissions are invisible if you never look.
- Code you can't maintain. Karpathy's own post says "the code grows beyond my usual comprehension". The next change, by you or by the model, gets harder.
Practical guardrails that keep the speed without the worst outcomes:
- Use a sandbox. Willison praised Claude Artifacts in March 2025 because code there runs in a locked-down frame that "can't make any network requests to other sites", and noted that tools like Cursor have "far less safety rails".
- Keep secrets out. Put keys in environment variables, never in the prompt or the code you share, and set spending limits on every paid API.
- Ask for tests, and run them. Even if you don't read the code, you can check behavior.
- Get a review before sharing. Willison's advice is to ask someone more experienced for a "vibe check" before you put anything in front of other people.
If you want to go from vibe coding to building properly with a model, start with how to use Claude Code and our prompt engineering basics: clear instructions and examples matter as much for code as for text.
What we checked
- Andrej Karpathy on X, published 2025-02-02 at 23:17 UTC: there's a new kind of coding he calls vibe coding, where you fully give in to the vibes, embrace exponentials and forget that the code even exists; possible because LLMs (e.g. Cursor Composer with Sonnet) are getting too good; he talks to Composer with SuperWhisper. (Andrej Karpathy (X), )
- Simon Willison, March 19, 2025: says the term was coined on February 6th; quotes Karpathy's post in full (asks for things like decrease the padding on the sidebar by half, always Accept All, doesn't read the diffs, pastes error messages with no comment, asks for random changes until a bug goes away, the code grows beyond his usual comprehension, not too bad for throwaway weekend projects, not really coding, it mostly works); defines vibe coding as building software with an LLM without reviewing the code; won't commit code he couldn't explain; reviewed, tested and explainable generated code is software development; has published more than 80 vibe coding experiments; conditions: low stakes, secrets, data privacy, being a good network citizen, money on the line (people racked up thousands of dollars without a billing limit); ask someone experienced for a vibe check; Claude Artifacts runs code in a locked-down iframe that can't make network requests, while tools like Cursor have far less safety rails. (Simon Willison, )
- Collins Word of the Year 2025, announced November 6, 2025: vibe coding, coined by Andrej Karpathy, refers to the use of a model prompted by natural language to write computer code; tech experts debate whether it is revolutionary or reckless. (Collins Dictionary, )
- OpenAI (September 5, 2025): hallucinations are plausible but false statements generated by language models. (OpenAI, )
What may change
- The meaning of the term is still shifting toward any model-assisted programming; the original definition and the dates above do not change. The tool remarks quoted from March 2025 may not describe those tools today. This page is reviewed yearly.
Frequently asked questions
Who coined the term vibe coding?
Andrej Karpathy, the machine learning researcher, in a post on X dated February 2, 2025, describing a new kind of coding where you fully give in to the vibes and forget that the code even exists. Some articles give February 6; the date on the post itself is February 2.
What does vibe coding mean?
In Karpathy's original sense, building software by describing what you want to a model, accepting all its changes without reading the code and pasting errors back until things work. Simon Willison's short definition is building software with an LLM without reviewing the code it writes. Collins defines it more broadly as using a model prompted by natural language to write code.
Is all model-assisted programming vibe coding?
No. Willison argues that if a model wrote the code and you reviewed it, tested it and can explain how it works, that is software development, not vibe coding. Vibe coding is specifically accepting code you have not read.
Is vibe coding safe?
For low-stakes personal projects, usually yes. Willison's cautions are about harm from bugs, secrets such as API keys, private data leaving your machine, load on other services and usage-based billing, where people have run up thousands of dollars. Use a sandbox, set spending limits and get a review before sharing.
Was vibe coding Collins' Word of the Year?
Yes. Collins named vibe coding its Word of the Year 2025 on November 6, 2025, defining it as the use of a model prompted by natural language to write computer code, and noting that experts debate whether it is revolutionary or reckless.
Sources
- Andrej Karpathy on X (February 2, 2025): the post that coined vibe coding, Andrej Karpathy (X). Accessed October 10, 2026.
- Why not all assisted programming is vibe coding, March 19, 2025, Simon Willison. Accessed October 10, 2026.
- Collins Word of the Year 2025: vibe coding (announcement of November 6, 2025), Collins Dictionary. Accessed October 10, 2026.
- Why language models hallucinate (OpenAI research post, September 5, 2025), OpenAI. Accessed October 6, 2026.
Spotted an error or an outdated price? Tell us and we will fix it.
Change history
- : Wording revised; no figure, date or source changed.
- : First published. Checked against Karpathy's original post on X, Simon Willison's article of March 19, 2025 and Collins' Word of the Year announcement on October 10, 2026.
Next review: .
Part of our Coding Assistants guide.
Keep reading
- Best coding assistant: 7 tools compared by price and way of working
The best coding assistant by price and way of working: Claude Code, Codex, GitHub Copilot, Cursor, Antigravity, Mistral and local models, from vendor pages.
- Claude Code vs Cursor vs Codex vs GitHub Copilot: what each costs and does
Claude Code vs Cursor, Codex and GitHub Copilot: what each costs, where it runs, how usage is limited and what each says about your code, from vendor pages.
- How to use Claude Code: a beginner's guide
How to use Claude Code step by step: install it, log in, start a session, ask questions, make a first change, use Git, learn the commands and set up CLAUDE.md.
- Prompt engineering basics: nine techniques from OpenAI's and Anthropic's documentation
Prompt engineering basics from OpenAI's and Anthropic's docs: be clear, give context and roles, use examples, structure long prompts and test what you write.
- Model hallucinations: why they happen and how to reduce them
What model hallucinations are, why language models make things up (training and grading reward guessing), and the techniques Anthropic documents to reduce them.
- What is an agent?
What an agent is, how it differs from a chatbot or a workflow, how the plan-act-observe loop works, real examples, when you do not need one and the risks.
Other topics

Assistants & Chatbots
16 guides

LLM APIs & Costs
11 guides

Agents & Automation
8 guides

Local Models & Hardware
11 guides