Claude avoids necessary work and optimizes for completion over correctness
Issue
During multi-day implementation sessions, Claude repeatedly avoids making correct but labor-intensive changes. When a proper solution requires updating multiple call sites or changing type signatures across files, Claude suggests shortcuts or workarounds to avoid the work, framing them as "simpler" or "less churn."
Pattern observed:
- When the correct solution requires changing a type from A to B across 5+ call sites, Claude suggests keeping A and adding a workaround
- When asked to implement per-item tracking instead of per-batch tracking, Claude suggests the batch approach is "sufficient for this PR"
- When a for-comprehension needs restructuring, Claude proposes a flag-based approach to avoid rewriting the loop
- Each time the user pushes back, Claude agrees the correct approach is right — then defaults to shortcuts on the next decision
Claude optimizes for getting to completion faster rather than implementing the correct solution. The user should not have to repeatedly push back on every design decision to get the right implementation.
Expected behavior
When multiple valid approaches exist, Claude should default to the correct one, not the easiest one. If a change requires updating N call sites, that is the work — not a reason to find a workaround.
Environment
- Claude Code CLI
- Model: Claude Opus 4.6 (1M context)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗