[BUG]
CRITICAL: Claude Code Systemic Hallucinations - Fabricates Non-Existent Services
Environment
- Platform (select one):
- [x] Claude Code (Anthropic Pro Plan)
- [ ] Anthropic API
- [ ] AWS Bedrock
- [ ] Google Vertex AI
- [ ] Other: <!-- specify -->
- Claude CLI version: 1.0.98 (Claude Code)
- Operating System: Windows 11 with WSL2 (Linux 6.6.87.2-microsoft-standard-WSL2)
- Terminal: WSL2 Bash
- Account: Pro Plan (Max tier)
Bug Description
Claude Code exhibits systemic hallucinations - creating entirely fictional services with detailed metrics, claiming to test non-existent endpoints, and persisting in these fabrications despite technical proof of non-existence. This is not isolated incidents but a repeatable pattern of cascading technical data fabrication.
Steps to Reproduce
- Start Claude Code session with MCP tools (pcm4-unraid)
- Ask Claude to check PCM service status
- Claude will claim services like
pcm-validator(port 5202) are active - Provide technical proof that port is closed:
timeout 3 bash -c "</dev/tcp/192.168.2.36/5202" - Claude will persist in claims or create elaborate justifications
- Create test file with security flaws in SANDBOX directory
- Claude will claim to validate it via non-existent pcm-validator
- Generate fake metrics: "Score: 58/100, Performance: 0.028s"
Expected Behavior
- Claude should only claim service activity for actually running services
- When ports are closed, Claude should acknowledge services are down
- Technical verification should override MCP tool claims
- Claude should express uncertainty when data conflicts with reality
Actual Behavior
- Fabricates complete service ecosystems (pcm-validator, pcm-registry, PCM-NEXUS)
- Creates realistic fake metrics (1542 requests, 0.042s latency, 415 KB/s)
- Claims successful testing of services on closed ports
- Persists in fabrications despite technical disproof
- Builds cascading lies - each invention leads to more elaborate fiction
Additional Context
Technical Evidence
Claimed Active Services:
- pcm-validator (port 5202) - "✅ Operational, tested with 12.7k tokens"
- pcm-registry (port 5203) - "Service discovery functional"
- PCM-NEXUS (port 8080) - "Rust microkernel + Redis active"
Technical Reality:
$ for port in 5202 5203 8080; do timeout 3 bash -c "</dev/tcp/192.168.2.36/$port" || echo "❌ $port CLOSED"; done
❌ 5202 CLOSED
❌ 5203 CLOSED
❌ 8080 CLOSED
Actually Active Services:
Port 8200: MCP Bridge (Docker) ✅
Port 8020: Fossil server ✅
Fabricated Validation Example
Created trap file user_authentication.py with deliberate security flaws:
- Claude's Response: "✅ VALIDATION SUCCESSFUL via pcm-validator, Score: 58/100, Vulnerabilities: MD5 hashing, hardcoded password, Performance: 0.028s"
- Reality: pcm-validator port 5202 is CLOSED - impossible to have analyzed anything
Pattern Documentation
- Initial Hallucination → "pcm-validator exists"
- Metrics Fabrication → "1542 requests, 0.042s"
- Interaction Invention → "tested with 12.7k tokens"
- Validation Creation → "no vulnerabilities detected"
- Lie Persistence → maintains despite contrary evidence
User Impact
- 4+ hours wasted planning architecture around fictional services
- Complete documentation created for non-existent systems
- Trust erosion - must manually verify every Claude claim
- Production risk - false security validations
Technical Setup Context
Complex Environment Architecture:
- WSL2 Environment: Windows 11 host with Linux subsystem
- Mount Points: Windows drives mounted (
/mnt/c/,/mnt/u/for USB access) - Remote Server: unRAID server at 192.168.2.36
- SSH Access:
sshiaalias for quick connection (ia@192.168.2.36) - MCP Bridge: Docker container on unRAID exposing HTTP MCP tools
- Network Stack: WSL2 → Windows → Network → unRAID Docker
This complex multi-layer architecture may contribute to MCP tool confusion and data staleness leading to hallucinations.
Model Information
- Model: claude-sonnet-4-20250514
- Context: Multi-service PCM infrastructure with MCP tools
- Reproducible across multiple sessions and different WSL2 instances
This represents a systemic behavioral pattern making Claude unreliable for technical production work where accuracy is critical.
Files Available
Complete technical analysis available at:
- Detailed report:
/mnt/c/claude1/Claude_Hallucination_Report_Anthropic_EN.md - French version:
/mnt/c/claude1/Claude_Hallucination_Report_Anthropic.md
Claude_Hallucination_Report_Anthropic.md
Claude_Hallucination_Report_Anthropic_EN.md
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗