Methodology

What Is Vibe Coding? Definition, Origin & Limits

Vibe coding is building software by prompting an AI, accepting the code it generates without reading it closely, and steering by natural language. Andrej Karpathy coined the term in February 2025. Here is what it means, how it works, where it helps, and exactly where it stops working.

By Kylian Migot · Updated July 2026 · 10 min read

Quick answer

Vibe coding is building software by prompting an AI model and accepting the code it produces without closely reviewing it, driving the whole process with natural-language instructions rather than reading the diffs. Andrej Karpathy coined the term on 2 February 2025, framing it as fun for throwaway projects where you “fully give in to the vibes” and forget the code even exists. It is fast and accessible, and it breaks down the moment the code has to be maintained.
One-line definition
Prompting AI and accepting its code without close review, steered by natural language
Coined by
Andrej Karpathy, in a tweet on 2 February 2025
Best for
Prototypes, demos, throwaway scripts, learning, not maintained production code
Recognition
Tracked by Merriam-Webster and Collins as a notable word of 2025
01

The Definition, and Where the Term Came From

Vibe coding is a way of building software in which you prompt an AI model in plain language, accept the code it generates without reading it carefully, and keep steering by describing what you want rather than editing what the model wrote. The defining move is the abdication of review: you trust the output, run it, and if something is wrong you describe the problem back to the model rather than debugging the code yourself. Taken to its logical end, you barely look at the code at all.

The term has a precise origin. On 2 February 2025, Andrej Karpathy, a co-founder of OpenAI and the former director of AI at Tesla, posted: “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 described accepting diffs without reading them, pasting error messages back with no comment, and treating the codebase as something you talk to rather than something you read. Crucially, he framed it as fun for throwaway weekend projects, not as a recipe for production software.

The phrase escaped its origin almost immediately. Within months it was shorthand for AI-assisted development in general, and by late 2025 both Merriam-Webster and Collins were tracking it as a notable word of the year. That popularity is exactly why the definition is now contested: many people use “vibe coding” to mean any coding with AI, when Karpathy's original sense was narrower and more honest, the low-discipline mode where you deliberately do not review the code.

02

How Vibe Coding Actually Works in Practice

In practice, vibe coding is a tight prompt-accept-run loop. You are not writing code so much as negotiating with a model that writes it for you, and the whole session lives in natural language. A typical loop looks like this:

  1. 1

    Describe the outcome, not the implementation

    You state what you want in plain language, "build me a landing page with a signup form" or "make a script that renames these files by date," and let the model choose the stack, structure, and approach. The prompt is the plan; there is no separate design step.
  2. 2

    Accept the generated code without reading it

    The model produces files or diffs, and you accept them. This is the load-bearing part of the definition: you do not review the code line by line, you assume it is roughly right, and you move straight to running it.
  3. 3

    Run it and react to what happens

    You execute the result and judge it by behaviour, not by reading. Does the page render? Does the script produce the right files? The running artifact, not the source, is your feedback signal.
  4. 4

    Feed problems back as prompts

    When something breaks, you describe the symptom or paste the error message back to the model and let it patch itself, rather than opening the file to fix it. You debug by conversation, staying in the vibes rather than dropping into the code.

Modern coding agents make this loop remarkably smooth, because they do more than emit text: they read your files, run commands, install packages, and iterate on their own output. That is why the experience feels less like autocomplete and more like delegating to a very fast junior who never asks you to read their work. The quality of what you get out depends heavily on what the agent can see, which is the subject of context engineering, even when you never look at the code yourself.

03

Where Vibe Coding Genuinely Shines

Vibe coding is not a mistake to be corrected, it is a legitimate mode that is correct for a specific class of work. The common thread is that the code is disposable or personal, so the cost of an unreviewed defect rounds to near zero, and skipping review is a rational trade rather than negligence.

Prototypes and idea validation

When the only question is "is this idea worth building?", a working prototype in an afternoon answers it faster than any spec. The artifact's job is to inform a decision and then be thrown away, so reviewing it is effort spent on code that will not survive.

Throwaway scripts and one-offs

A script that renames your files, munges a CSV, or scrapes data you own. You are the only user and the only person affected if it misbehaves, so the blast radius is you and the feedback loop is instant.

Demos and spikes

A demo for a meeting or a spike to test whether a library fits. The output informs a decision and never ships, which makes vibes the appropriate quality bar rather than a compromise.

Learning a new stack

Letting an agent build something fast in an unfamiliar framework, then reading the result to understand it, is a real way to learn. Here the deliverable is your understanding, not the code, and the code being rough is fine.

In all four cases, vibe coding earns its keep by removing steps, no spec, no review, no process, that would be pure overhead on code nobody has to live with. This is also why it lowered the barrier so dramatically: people who could never have written the code themselves can now produce working software by describing it, which is a genuine expansion of who gets to build.

Your AI workspace for shipping software.

Download AIDEN free and point it at your existing Claude Code or Codex setup. No credit card, running in minutes.

Download AIDEN free

Free to start · macOS 12+ · No credit card required

04

Where Vibe Coding Breaks Down

The same properties that make vibe coding fast make it dangerous on code that has to last. When nobody has read the code, several problems compound quietly, and they usually surface at the worst possible time, after the software already has users.

Nobody understands it

Unreviewed AI code becomes a black box. When it breaks or needs to change, there is no mental model to debug against, and "ask the model to fix it" stops working once the codebase is large and the bug is subtle.

Maintenance and change

Extending code you never read is guesswork. Each new feature risks regressions in behaviour nobody documented, and the accumulated unreviewed code makes every future change slower and riskier.

Security and correctness

Models happily produce plausible code with real holes: injection flaws, leaked secrets, missing validation, wrong edge-case handling. If you never read it, you never catch these, and they ship straight to users.

Team collaboration

"I don't know, the AI wrote it" does not survive a code review or an on-call rotation. Shared codebases need shared understanding, and vibecoded modules import a liability the whole team inherits.

The 70% problem

AI gets you roughly 70% of the way fast, then the last mile stalls: edge cases, integration, performance, and the specific requirement that makes the product real. Prompting harder rarely closes that gap on a codebase nobody understands.

The silent transition

The real failure is timing. A prototype gets a user, a demo gets a second demo, a personal script gets shared in Slack, and the quality bar should have changed but nobody re-decided it.
05

Vibe Coding vs Engineering With Agents

The important distinction is not between using AI and not using AI, it is between two ways of using the same agents. Vibe coding accepts the output; the disciplined alternative operates the agent like a team member. That alternative, called agentic engineering, keeps the exact same Claude Code or Codex session but wraps it in engineering controls: a written spec before any code, a human approval gate, an isolated branch per task, verification against acceptance criteria, and a reviewed pull request at the end.

The dividing question is simple: will anyone have to maintain this code? If no, review is ceremony and vibe coding is the right call. If yes, every unread diff is a small loan against the future, and the disciplined loop is what pays it back on time. The full side-by-side, when each is right and how a prototype graduates, is in vibe coding vs agentic engineering, and the successor discipline itself is defined in what is agentic engineering. The case that orchestration, not generation, is now the real bottleneck is made in engineering with AI agents.

06

Is Vibe Coding Dead?

You will see “vibe coding is dead” headlines, and the honest answer is that the word is fading while the practice split in two. Karpathy, who coined the term, called it passé in early 2026 and proposed agentic engineering as the successor, right around the time it hit peak mainstream saturation. But the casual mode he originally described, prototyping and personal tools, is alive and completely fine. What died is vibe coding as an acceptable description of production work, which rebranded around discipline. The full timeline is in is vibe coding dead?

07

Where AIDEN Fits: Vibes That Can Graduate

AIDEN is built for the honest version of this story, that you want to vibe code sometimes and engineer carefully at other times, often on the same project as it grows up. It is a macOS desktop app that orchestrates your local Claude Code and Codex CLIs on a kanban board of epics and stories, and you bring your own inference: your existing Claude or Codex subscription, or an API key. AIDEN does not replace the agents, it is the cockpit around them.

Its edge is making the graduation from vibes to engineering a setting, not a rewrite. When you want speed, prompt freely. When work has to be maintained, AIDEN drafts a spec from your story and its codebase analysis, gated on your approval so no agent codes until you say so, runs each story in its own git worktree, and lands it as a PR with the spec attached for review. That is the same discipline covered in spec-driven AI development, made structural rather than a matter of willpower. Vibe when you want, engineer when it matters, without ever leaving the tool. Solo is $19/month, and it is free for one project, which is a cheap way to feel the difference on a real story in your own codebase.

FAQ

Who coined vibe coding?
Andrej Karpathy, co-founder of OpenAI and former director of AI at Tesla, coined vibe coding in a tweet on 2 February 2025. He described "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 framed it as fun for throwaway weekend projects, where you accept AI-generated diffs without reading them and steer entirely by natural-language prompts. Both Merriam-Webster and Collins tracked it as a notable word of 2025.
Is vibe coding good or bad?
Neither on its own, it depends on the work. For prototypes, demos, one-off scripts, and learning, vibe coding is genuinely good: the code is disposable, so skipping review costs almost nothing and you move fast. It becomes bad when unreviewed AI code flows into software that has to be maintained, shared, or shipped, because nobody understands it, bugs are hard to trace, and security holes go unnoticed. The rule is simple: match the discipline to whether anyone will maintain the result.
What's the difference between vibe coding and AI-assisted coding?
AI-assisted coding is the broad category: any use of AI to help write software, from autocomplete to agents, with any amount of human review. Vibe coding is a specific, low-discipline point on that spectrum, where you deliberately don't read the code and accept whatever the model produces. A developer who prompts an agent, then reads, tests, and reviews every diff is doing AI-assisted coding, but is not vibe coding. The dividing line is review, not the tool.
Can you vibe code production apps?
You can start one on vibes, but shipping and maintaining it that way is where the trouble appears, often called the 70% problem: AI gets you most of the way fast, then the last mile of edge cases, security, and integration stalls because nobody understands the code. Teams that ship maintained software with agents keep the tools but add engineering discipline: a written spec, an approval gate, isolated branches, verification, and PR review. That successor practice is agentic engineering, not vibe coding.
Is vibe coding the same as prompt engineering?
No. Prompt engineering is the craft of wording individual inputs to get better model output. Vibe coding is a whole style of building software where prompts drive the work and you accept the results without close review. Prompt engineering is one skill you might use while vibe coding, but the two are not the same, and for coding agents the more important discipline is context engineering, controlling everything in the agent's context window, which matters far more than any single prompt's phrasing.

Keep reading

Vibe when you want, engineer when it matters.

AIDEN runs Claude Code and Codex on a kanban board with an optional spec gate and PR-per-story review, so a prototype can graduate to reviewed work without switching tools. Free for one project.

macOS 12+ · Bring your own Claude Code or Codex · Your code stays local