In a recent talk by the author (I just posted a link), he says a best practice for large requests (e.g. implement an entire project/solution) is to ask Claude Code to think about it and present you with alternative approaches/designs (which you can then review). You could provide feedback and iterate if you wanted to.
Ah. I find that I don't have enough focus on my projects where I use Claude and so it helps keep me focused, plus I can outline a task, hit send, and deal with the next crisis, then come back to what got generated and evaluate it.
If you are going to write the code, you need to understand the full problem space, at which point you can see the simple solution.
If I need to figure this out, writing the code is not a problem and Claude becomes mostly an annoyance.