kleiber.me

Five Observations Working with Claude Code

10/12/2025Updated 2/4/2026

Excerpt

### It Enables Me to Do More but Makes Me Lazy and Less Confident I fully understand the issues that many take with actual *vibe coding*. At least for now, I’m relatively sure that in the hands of people without any software development experience, tools like Claude Code will do more harm than good. They produce functional products, but these products, more often than not, are unmaintainable, and we don’t even have to talk about the security implications. … ### It Finds Hacky Ways to Solve Complex Problems In my experience, code (and documentation) reviews are crucial when working with Claude Code. While, at least in my opinion, it rarely fails to create a working solution, it very often finds extremely overengineered and hacky solutions to relatively simple problems. Hence, “it works as intended” is most definitely not a good metric for AI generated code. Instead, I’m constantly reviewing the changes Claude Code introduces and “solve the underlying issue and don’t create a hacky solution” has become a staple of sorts. This also leads to a situation in which keeping the project maintainable becomes an even more constant task than it already is. The moment I start using Claude Code, especially for larger features, I’m likely introducing new maintainability issues. Of course, this is a trade-off and through good prompting and reviews, these issues can be reduced quite well. … Put differently: Despite using `CLAUDE.md`, spec files, etc., I am having a really hard time keeping Claude Code within the scope of what I want it to do. ### It Gets Stuck in the Current Context and Ignore the Rest Generally speaking, it’s a good idea to keep Claude Code’s context as focused as possible. I usually reset the context after each completed task or feature. If done consistently, many common issues are gone! However, a related, and significantly trickier, challenge is the fact that Claude Code often only selectively looks at files and parts of the project. For instance, when I request a refactor of existing code based on a recent change (e.g., a change in data structures), there’s a good chance it will only refactor about 1/3 of the affected files, all while claiming it has reviewed the entire project with utmost confidence. Although this issue can be mitigated through the use of tools, I simply don’t trust Claude Code to consider the whole project, even with a relatively small codebase.

Source URL

https://kleiber.me/blog/2025/10/12/claude-code-five-observations/

Related Pain Points