# Hallucination guard: refuse when answer isn't in sources — Claude XML example

> Force a clean refusal when retrieval comes up empty instead of confabulating.
>
> Source: https://claudexml.com/examples/hallucination-guard/ · Last updated 2026-05-25

Home / Examples / Hallucination guard: refuse when answer isn't in sources
    RAG · intermediate

# Hallucination guard: refuse when answer isn't in sources

    Force a clean refusal when retrieval comes up empty instead of confabulating.

    RAG over a sparse knowledge base: most questions can't be answered. You want crisp refusals, not plausible-sounding hallucinations.


## The prompt

    Copy this verbatim. Replace the `{{ … }}` placeholders with your values.


```xml
<documents>
{{ retrieved_passages }}
</documents>

<instructions>
You will receive a user question and zero or more documents.

Procedure:
1. Reason inside <thinking>. List facts that are stated in the documents. Quote them.
2. Decide whether those facts are sufficient to answer the question.
3. If yes — answer concisely inside <answer>, citing [doc-N] for each claim.
4. If no — return exactly inside <answer>:
   "I don't have enough information in the provided sources to answer that."

Do not use any knowledge outside the documents. Do not make plausible guesses.
</instructions>

<question>{{ user_question }}</question>
```


## Sample input


```xml
Question: What's the company's policy on remote work?
Documents: (only contain pricing and SLA info)
```


## Expected output


```xml
<thinking>
The documents cover pricing tiers and SLA uptime targets. Neither mentions remote work.
Insufficient to answer.
</thinking>
<answer>
I don't have enough information in the provided sources to answer that.
</answer>
```


## Notes & tuning tips


- The explicit "list facts → decide → answer or refuse" procedure cuts hallucinations dramatically vs. just "answer using sources."
- Use the exact refusal string for a deterministic UI handoff.
- Combine with retrieval confidence: if your top-k similarity scores are low, you can short-circuit before calling the model.


## What this example uses

    Tags: <documents> <instructions> <thinking> <answer>

    Patterns: rag context chain of thought


## More like this


      rag
### RAG over docs with [doc-N] citations
Answer a question from retrieved passages and cite every claim by source ID.

      rag
### Multi-document compare-and-contrast
Synthesize three vendor quotes into a table plus a one-paragraph recommendation.




Cite this page

`Hallucination guard: refuse when answer isn't in sources. claudexml.com. https://claudexml.com/examples/hallucination-guard/`
