Vibe coding is describing the outcome you want in plain language and letting an AI model write the code, without reading most of it. Andrej Karpathy named it in February 2025 - "fully give in to the vibes... and forget that the code even exists"1 - and it entered Merriam-Webster's slang dictionary the same year.2

It is not a lower standard. It is a different division of labour: you keep the judgement about what should exist, and hand over the typing and the recall.

What it is not

Not only for non-developers

Experienced engineers vibe code constantly, for work that is tedious rather than difficult. The practice is about which parts you choose to read - not whether you could.

Not the same as prompting

Asking a chatbot for a function and pasting it in is not vibe coding. The defining feature is that a loop runs, acts on your project, and checks itself - see what an AI coding agent is.

Where it breaks

Vibe coding works beautifully and then stops rather suddenly, and the turning point is not the size of the thing. It is verification: the moment nothing can tell you whether the last change broke something, progress reverses.

YOU CAN NO LONGER VERIFY A CHANGE SIZE OF WHAT YOU HAVE BUILT
A verification limit, not a complexity limit.

Which is why tests extend vibe coding further than any tool choice does. A test replaces "I understand this code" with "the machine can tell me if I broke it" - exactly the signal you gave up by not reading. The tools piece goes into where each kind of tool sits relative to that line.

How to do it well

Two habits carry most of it. Verify continuously - keep something running that can tell you the thing still works, because that is the signal you traded away. And commit constantly, because your undo is git rather than your memory of what changed.

The rest is judgement about where to spend your attention, which is what the longer piece on the tools is for - including the five-step practice, the failure modes, and what to do when a session starts fighting itself.

Which tool for which job

What you are makingReach for
A web app from nothingA prompt-to-app builder - it owns the scaffolding and hosting
A change to something that existsA coding agent in your editor or terminal
A script or automationA terminal agent, so it can run what it writes
Documents, decks, data workAn agent that is not code-only

The longer version, with the failure modes: the best vibe coding tools.

Check yourself

Three questions.

What defines the point where vibe coding stops working?

Karpathy's original framing was about forgetting the code exists. What does that trade away?

You want to change an app that already exists. What fits?

Sources

  1. Andrej Karpathy, the post coining "vibe coding", 2 February 2025.
  2. Merriam-Webster, "vibe coding", slang and trending words, 2025.

An agent that runs your checks

W1 does the work and runs the tests, which is the signal vibe coding needs most. Free during beta, on desktop, VS Code and the terminal.

Download free beta