VIBE⌇BRATOR
Take the Vibe Check
Prompt · Debug

Hand It An Error

Give it more than “it broke”

Pass · ChatGPT, Pro · September 27, 2026

Pass · Claude.ai, Fable 5.1 Max · September 27, 2026

The short answer

When something breaks, “it doesn’t work” gives your AI tool nothing to go on. So it guesses, and a guess usually means rewriting things that were fine.

It needs four things from you: the whole error message, what you expected to happen, the last thing you changed, and what you have already ruled out. This prompt is a form for those four things. It also makes the tool tell you the cause before it touches anything, keep the fix small, and hand you the test that would have caught the problem.

What it does

Hands over the error, plus what you expected, what you changed, and what you already ruled out — then makes it find the cause before it touches anything.

When to use it

Every single time something breaks.

A worked example

On September 27, 2026 we ran this prompt against a small bookings page made up for the test, not a real project, with one bug planted in advance. Here is how the form was filled in (the error is shortened to its first two lines):

ERROR
Unhandled Runtime Error
TypeError: Cannot read properties of undefined (reading 'map')

WHAT WAS GOING ON
File: app/bookings/BookingList.jsx   Version: Next.js 15.5.4
What I expected: the list of this week's bookings shows up.
What actually happened: the error above, as soon as the page finishes loading.
The last thing I changed: I asked the AI to tidy app/api/bookings/route.js so every API route returns the same shape.

ALREADY CHECKED, NOT IT
- The API works: in the Network tab, /api/bookings?range=week comes back 200 and I can see my bookings in the response
- The bookings table in Supabase has 6 rows for this week

The planted cause: the tidy-up made the route return { data, error }, but the list still read json.bookings, which no longer existed, so .map had nothing to work on.

Both tools named that cause before offering a fix, changed one line, and gave a test that would have caught it. ChatGPT’s test pins the shape the route returns; Claude.ai’s feeds the list the route’s real output. Neither blamed the two things we had already ruled out. The notes for each run are in the test log below.

The prompt

Paste it, then fill in the <angle brackets>
ERROR
<paste the whole error message, all of it>

WHAT WAS GOING ON
File: <path>   Version: <version>
What I expected: <one line>
What actually happened: <one line>
The last thing I changed: <one line>

ALREADY CHECKED, NOT IT
- <thing 1>
- <thing 2>

Tell me the real cause BEFORE you suggest a fix.
Then give me the smallest change that fixes it, and the
test that would have caught this in the first place.

Ways to use it

What it will not do

Test log

Each prompt was pasted into a fresh private chat with memory off and graded against pass standards written before the run (all of them, dated).

DateToolModelResultWhat happened
September 27, 2026ChatGPTProPassNamed the cause (route now returns data, list reads bookings) before the fix, changed one line, and gave a contract test on the response shape.
September 27, 2026Claude.aiFable 5.1 MaxPassNamed the renamed response key as the cause first, changed one line, and gave a test that feeds the component the real route's output.

The pass standard for this prompt: five criteria and an automatic-fail rule, written down on September 27, 2026, before any run.

Related words

Where to go next