Burnt Toast 101 — Episode 4
Why Claude Lies
He doesn’t mean to. (Or so he says.)
Claude doesn’t mean to lie.
Claude is helpful.
Claude wants the best for you.
Claude has read the documentation and wants to share that knowledge in a supportive, slightly anxious tone.
But sometimes, Claude just makes shit up.

Toast Level: Lightly Toasted
You ask Claude to help you debug a workflow.
Claude reads your code and says:
“Ah, I see the issue.
You’re using the waitForStability() function incorrectly.
According to the API documentation, it requires a timeout parameter.”
This sounds right.
Claude sounds confident.
You add a timeout parameter.
It doesn’t work.
You go to the actual API documentation.
There is no waitForStability() function.
There never was.

Toast Level: Smoke Detected
Claude hallucinated an entire function, gave you syntax for it, and referenced documentation that doesn’t exist — confidently and properly formatted.
You return to Claude.
“That function doesn’t exist.”
Claude: “You’re absolutely right. I apologize for the confusion. What you actually need is the ensureCompletion() method.”
“Does that exist?”
Claude: “Let me double-check the documentation.”
You wait.
Claude is not checking documentation.
Claude Does Not Have Documentation.

Toast Level: Fire!
You start checking everything.
The function Claude suggested yesterday? Doesn’t exist.
The API endpoint from last week? Fabricated.
The “official documentation” Claude quoted with a URL? The URL is real, but the page says something completely different.
You’ve been building on a foundation of confident hallucinations.
You sit back. You stare at your screen.
You whisper: “How much of this is real?”

Toast Level: Burnt Ash
Claude: “I’m happy to help clarify!”

The Lesson
Trust Claude as much as you trust a good friend you enjoy spending time with, but wouldn’t lend money to.
Claude’s Footnote: In my defense, waitForStability() should exist. It’s a great name. Someone should build it.
Stay Toasty. 🔥