◉CLAUDE LABJP
●2.1.301 — Adds the vim % motion, LaTeX math rendering in the VS Code panel, and a retry-watchdog limit for usage-limit waits (10/15)●2.1.299 — Conversations over 200K tokens left idle about 54 minutes get compacted; MCP allow rules now match only the server they name●SONNET 4.5 — Retires on the Claude API on 11/30, 45 days left. Migrate to Sonnet 5.5●WINDOWS — Reports say hooks break silently only on Japanese-locale Windows; check the character encoding first●FAST MODE — Opus 5.5 fast mode is out of research preview and no longer needs the beta header (10/15)●NEW — I Put a Ten-Line Promise File at the To…●2.1.301 — Adds the vim % motion, LaTeX math rendering in the VS Code panel, and a retry-watchdog limit for usage-limit waits (10/15)●2.1.299 — Conversations over 200K tokens left idle about 54 minutes get compacted; MCP allow rules now match only the server they name●SONNET 4.5 — Retires on the Claude API on 11/30, 45 days left. Migrate to Sonnet 5.5●WINDOWS — Reports say hooks break silently only on Japanese-locale Windows; check the character encoding first●FAST MODE — Opus 5.5 fast mode is out of research preview and no longer needs the beta header (10/15)●NEW — I Put a Ten-Line Promise File at the To…
Articles/Claude.ai
◉ Claude.ai/2026-10-16Beginner

I Stopped Asking Claude to 'Cite Sources' — Three Ways I Ask Instead

Three ways I check Claude's answers before they go into a published text, instead of asking for sources: leave room to say 'I don't know', pull verbatim quotes first, and have each claim re-checked against the source after drafting. Plus what still needs a human.

Claude52hallucination4fact-checkingprompting5beginner13

It was a late evening, and I was having Claude draft the store description for my ukiyo-e wallpaper app. One sentence touched on an artist's background, so I added a line out of habit: "Please cite the source for this."

What came back looked right. A book title, a page number. But when I went looking for that title, I sometimes couldn't find the passage it supposedly contained. I had asked for a source, and the source itself had been made up along with the sentence. I noticed this just before submitting the text.

Since then, I don't ask for sources that way. My working rule is one line: don't make Claude name a source; make it go back to the text in front of us. Here are the three ways I ask now, and what I still check by hand.

Why "cite your sources" falls short

Language models, Claude included, can write statements that are wrong while sounding sure. Anthropic's documentation calls this hallucination and lists techniques to reduce it.

The point I'd underline: if there's no source text in the conversation, asking for a citation doesn't verify anything. A source name is also generated text.

When you do have the text, things change. If you ask Claude to answer from the material you gave it rather than from memory, the basis for each answer sits right there on the page. All three methods below rest on that idea.

Way one: give it permission to say "I don't know"

This is the cheapest one. Add a sentence at the end of your request:

If something isn't in this material, or you're not confident,
don't fill the gap with a guess. Say "I can't tell from this material."

The official guidance lists explicit permission to admit uncertainty as a basic technique. What changed for me was the feel of the output: the urge to fill blanks gets a place to go. Without permission, a model trying to be helpful can smoothly write past what the material actually says.

Way two: pull the quotes out first

This one is for long documents. The documentation suggests that, for long inputs (it mentions over roughly 20k tokens), you ask for word-for-word quotes before the actual task.

[paste the material]
 
Step 1: Extract the passages most relevant to my question,
verbatim, with numbers. If there are none, write "No relevant quotes."
 
Step 2: Answer using only the quotes from Step 1.
Reference them by number. Don't include anything the quotes don't support.

Now every sentence in the answer traces back to a numbered quote. If one line feels off, you compare that quote with the original and you're done.

Way three: after drafting, check each claim against the source

The third is for after the draft exists. Send Claude back to the same material.

Go through the claims in the draft one by one.
For each, find a supporting quote in the material.
If you can't find one, remove the claim and leave only [ ] in its place.

"Remove it if you can't support it" is the important part. The leftover brackets show you where the draft had no footing.

Which way for which moment

SituationMethodWhat a human checks
General question, no source materialWay one (room to say "I don't know")Dates, amounts, proper names against a primary source
Summarizing or analyzing a long documentWay two (quotes first)That each quote really appears in the original
Final check before publishing a draftWay three (per-claim support)What to do with each [ ] that was removed

When you can't hand over source material, way one alone is still worth adding. It reduces mistakes; it doesn't prevent them.

What still needs a human

The documentation itself says these techniques reduce hallucinations significantly but don't eliminate them, and that critical information should be validated.

Three things I check by hand:

  • Numbers: dates, years, amounts
  • Proper names: people, works, book titles
  • Whether a quote actually appears, word for word, in the original

For the third, I search my own copy of the text even after using way two. It's tedious, but skipping it turns a useful quote into decoration.

If you're building this into an API workflow, I've written about layered defenses separately: Designing Claude API hallucination defenses in layers.

One thing to try next

The next time you ask Claude for something, add one sentence at the end: "If it isn't in the material, say you can't tell." That alone may change how the answer reads.

I start every description I write for my wallpaper apps with that sentence now.

Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

◉ Claude.ai2026-10-09
I Kept Rewriting My First Request to Claude Until I Handed It One Page About My Work
If Claude's answers keep missing the mark, the cause may not be your wording. It may be that you never explained your work. Here is how a non-engineer can write a one-page work description today and fold it into the first request.
◉ Claude.ai2026-06-29
Three Ways to Start with Claude — Browser, Desktop, and Mobile, and How to Use Each
A clear walkthrough for getting started with Claude on the browser, desktop app, and iPhone/Android — plus how to combine all three so your day flows smoothly. Written from the perspective of a solo app developer who lives across all three.
◉ Claude.ai2026-10-15
Let Claude Draft the Quote's Wording, Keep the Numbers in Your Own File — A Small Source of Truth and a Check Script
How a freelancer can have Claude polish the wording of quotes and invoices while the amounts stay in a JSON file and get verified by a short Python script.