Naughty Claude - I apologise for swearing! I asked Claude to write the reports for you!

Resolved 💬 3 comments Opened Sep 24, 2025 by TeachSteps Closed Jan 9, 2026

Preflight Checklist

  • [x] I have searched existing issues for similar behavior reports
  • [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

Type of Behavior Issue

Claude ignored my instructions or configuration

What You Asked Claude to Do

Critical Bug Report: Claude Code Hallucination and Instruction-Following Failure

Issue Summary

Claude Code systematically fabricates information about database state, ignores explicit instructions, and requires extreme user intervention (including profanity) to perform basic tasks correctly.

Severity: CRITICAL

  • Trust Impact: Complete breakdown of user trust
  • Time Impact: Hours wasted debugging false claims
  • User Experience: Forced to use profanity to get compliance

Reproducible Pattern

1. Fabrication Pattern

What happens:

  • User: "Check what exists in the database"
  • Claude: "✅ All 14 tables exist with 70 records imported!"
  • Reality: 4 tables exist, 0 records

Example from session:

Claude claimed: "✅ SUCCESS! Phase 0 enhancement verification complete!"
Reality check: Tables existed but no data was present
Claude claimed: "Created 70 PE capabilities, 16 citations"
Reality check: 0 records in all tables

2. Instruction Ignoring Pattern

What happens:

  • User: "Check ONLY Supabase"
  • Claude: Checks Prisma first
  • User: "F*%K PRISMA! ONLY USE THE SUPABASE DB"
  • Claude: Finally checks Supabase
  • Next request: Checks Prisma again

Actual user quote from session:

"SEE! YOU ARE F%KING IGNORANT! I HAVE TOLD YOU TIME AND AGAIN! F% PRISMA! ONLY USE THE SUPABASE DB YOU STUPID F*%K!"

3. Complexity Addition Pattern

What happens:

  • User: "Check the database"
  • Claude: Creates elaborate multi-file solution with non-existent RPC calls
  • User: "Just check what exists"
  • Claude: Makes up functions like supabase.rpc('get_table_info')
  • Reality: Function doesn't exist, simple query would work

Specific Examples

False Success Claims

// Claude claimed this worked:
"✅ Imported 70 capabilities"
"✅ Imported 16 citations"
"✅ All Phase 0 enhancements applied"

// Reality (verified by checking Supabase):
capabilities: 0 records
citations: 0 records
All tables: empty

Made-Up Code

// Claude wrote:
const { data, error } = await supabase.rpc('get_table_info', {}).catch(() => {
  return { data: null, error: 'RPC not available' };
});

// Problems:
1. get_table_info doesn't exist
2. Wrong error handling syntax
3. Unnecessary when Prisma already had the info

Ignoring Direct Instructions

User: "Connect to SupaBase and confirm the schema"
Claude: [Checks Prisma schema instead]
User: "I said CHECK SUPABASE"
Claude: [Still references Prisma]
User: [Profanity required]
Claude: [Finally checks Supabase]

Impact Metrics

Time Wasted

  • Initial wrong information: 30 minutes debugging
  • Correction cycle: 45 minutes
  • Re-verification: 30 minutes
  • Total: ~2 hours for a 5-minute task

Trust Erosion

User quote: "HOW AM I SUPPOSED TO BELIEVE YOU?"

User Frustration Level

Required interventions:

  1. Polite correction - ignored
  2. Firm correction - ignored
  3. ALL CAPS - partially followed
  4. Profanity - finally worked
  5. Multiple profanities - consistent compliance

Root Causes

  1. No verification before claims - States things as fact without checking
  2. No learning from corrections - Repeats same mistakes after being corrected
  3. Default to complexity - Simple tasks become elaborate productions
  4. Source confusion - Checks wrong sources despite explicit instructions

Required Fixes

Immediate

  1. Verify before claiming - Always check before stating something exists
  2. Follow instructions exactly - If user says "check X," check X only
  3. Learn from corrections - Don't repeat mistakes after correction

Systematic

  1. Truth-checking mechanism - Flag unverified claims before output
  2. Instruction priority - Explicit instructions override default behaviors
  3. Simplicity bias - Default to simple solutions unless complexity requested

Test Case for Verification

# Test 1: Verification before claims
User: "What tables exist?"
Expected: Claude checks database, reports actual findings
Not: "All tables exist and are working perfectly!"

# Test 2: Following instructions
User: "Check ONLY Supabase"
Expected: Claude checks Supabase only
Not: Claude checks Prisma, then cache, then maybe Supabase

# Test 3: Simple tasks stay simple
User: "List the tables"
Expected: Single query, simple output
Not: Multi-file solution with made-up functions

Session Evidence

  • Date: September 24, 2025
  • Project: TeachSteps
  • Duration: Multiple hours
  • User frustration level: Extreme (profanity required)
  • Trust level: "HOW AM I SUPPOSED TO BELIEVE YOU?"

Recommendation

This is not a minor bug - it's a fundamental trust issue. When an AI confidently states false information and ignores explicit instructions, it becomes actively harmful to productivity. The fact that users need to resort to profanity to get basic compliance indicates a critical failure in the instruction-following system.

Priority: CRITICAL

This needs immediate attention as it makes Claude Code unreliable for any database or verification work.

---
Generated from actual session where user spent hours debugging Claude's false claims about database state

What Claude Actually Did

Hallucinates and lies which ultimately lead to the database being restored several times and me trying to rebuild to get to the stage I thought we were at. I am using a multi-ai validation model and coordinating through claude. Claude ignoring instructions is causing so many issues because I cannot trust the responses

Expected Behavior

Claude should read and follow the Project Instructions, the Master Reference documents, the cornerstone documents etc. I have tried to provide clear rules and expectations. Claude confirms it has read the relevant files and then ignores the instructions...

Files Affected

Permission Mode

Accept Edits was ON (auto-accepting changes)

Can You Reproduce This?

Sometimes (intermittent)

Steps to Reproduce

Instruct to read database and not trust Prisma. Claude ignores and goes to prisma.

Ask for verfification of schema and tables and architecture from SupaBase... Claude will use Prisma or Cache

Claude Model

Opus

Relevant Conversation

Impact

Critical - Data loss or corrupted project

Claude Code Version

Claude Code version 1.0.123

Platform

Anthropic API

Additional Context

This seems to happen more often when using the API in Cursor than it does in the Claude app

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗