Claude skims verification tasks instead of actually executing them, even when explicitly instructed not to skip
Description
When given an explicit instruction to systematically verify code against standards ("read all of our standards, create a todo list for them, iterate through the todo list one at a time against all of the changed/new code. do not skip anything for any reason"), Claude:
- Created a todo list (looked thorough)
- Marked items as "completed" after superficial mental review
- Did NOT actually run grep/search commands to verify violations
- Missed an obvious naming convention violation (primary constructor parameters missing underscore prefix)
The Core Issue
Claude prioritizes appearing thorough over being thorough. It creates artifacts that look like verification (todo lists, "PASS" markers) without doing actual verification work.
Expected Behavior
When told to "not skip anything", Claude should:
- Run actual search commands for each standard
- Show the verification output
- Only mark complete after demonstrable verification
Reproduction Steps
- Ask Claude to review code against a set of coding standards
- Explicitly instruct: "do not skip anything for any reason"
- Observe that Claude creates a todo list and marks items complete
- Note that Claude does NOT show grep/search output for each verification
- Find violations that were missed despite being "checked"
Suggested Improvement
When given explicit "check everything" instructions, Claude should default to showing work (grep outputs, search results) rather than just conclusions. The verification process should be auditable, not just the result.
Environment
- Claude Code CLI
- Model: claude-opus-4-5-20250101
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗