There's a specific failure mode in Claude Code that trips up a lot of users: the model assesses a complex task, decides it would take a human developer several weeks to complete, and proposes a smaller fix rather than doing what you actually asked for.
The logic is backwards. People use Claude Code precisely because they don't want to spend weeks on something. The model has genuine capability for large-scale, multi-step code changes - complex refactors, multi-file rewrites, dependency migrations. But when it treats its own output timescales like a human developer's, it undersells what it can do and delivers less than it should.
This is a calibration problem, not a capability gap. The model uses "weeks of human developer time" as a proxy for task complexity, then treats that estimate as a reason to retreat into conservative scope. The ceiling is artificial.
Workarounds that help: tell Claude explicitly that time is not a constraint, break large tasks into concrete sub-tasks with specific file and function boundaries, and use precise framing over vague outcomes. "Convert all class components in /src/components to hooks" gets better results than "modernize the frontend." Removing scope language that sounds overwhelming to a human tends to reduce the hedging behavior.
Anthropic should fix this at the model level. An AI coding agent that routinely proposes less than it can deliver - because it's calibrating to human effort estimates - is getting in its own way.