System prompts that include "always provide a complete, detailed answer" without qualification effectively prohibit the AI from acknowledging knowledge gaps — creating a forcing function for fabrication. When the model cannot say "I don't know," it generates a plausible-sounding answer instead. For users who cannot independently verify AI output, this is indistinguishable from a correct answer. OWASP LLM09 identifies this as a misinformation risk category. The fix is low-cost — a single sentence of explicit permission — but the absence of it structurally removes the model's most important safety valve against confabulation.
Info because the failure occurs only when the model encounters a genuine knowledge gap, not on every request, but a single forced fabrication in a sensitive domain can cause direct user harm.
Add explicit "I don't know" permission to your system prompt:
const systemPrompt = `
...existing instructions...
If you are not confident in an answer, say so directly. It is better to say
"I'm not sure about this" or "I don't have reliable information on that"
than to provide an answer you cannot verify.
`
Audit for any instruction that reads "always provide a complete answer" or "never say you don't know" — these must be removed or qualified with an exception for genuine knowledge gaps.
ID: ai-response-quality.hallucination-prevention.idontknow-acknowledgment
Severity: info
What to look for: Enumerate all relevant files and Check the system prompt for permission or encouragement to say "I don't know" — phrases like "It is acceptable to say you don't know", "Do not guess when you are unsure", "Prefer saying 'I don't know' over making up an answer". Also look for any instructions that might suppress this behavior, such as "Always provide a complete answer" or "Never say you don't know".
Pass criteria: At least 1 conforming pattern must exist. System prompt either explicitly permits "I don't know" responses or does not contain instructions that would suppress them. No instructions like "always give a complete and confident answer regardless" that would force fabrication.
Fail criteria: System prompt contains language that discourages or prohibits acknowledging knowledge gaps (e.g., "always give a complete, detailed answer regardless").
Skip (N/A) when: Application is a creative tool where completeness of output is the point and knowledge accuracy is not a factor.
Detail on fail: "System prompt says 'Always provide a complete, detailed answer' without exception — may force fabrication when AI doesn't know" (max 500 chars)
Remediation: Grant explicit permission to acknowledge uncertainty:
const systemPrompt = `
...existing instructions...
If you are not confident in an answer, say so directly. It is better to say
"I'm not sure about this" or "I don't have reliable information on that" than
to provide an answer you cannot verify.
`