Hacker News new | ask | show | jobs
by jen729w 328 days ago
This is all very emotive and I'm sure is a dream many of us would love to live.

But does Claude's code work? Does it work to the level where you'd depend on it yourself; where you'd bill customers for it; where you'd put your reputation behind it?

I say no. And it's because I use Claude. Two events changed how I use Claude: now it's an advisor, and I mostly type the code myself. Because I don't trust it.

First, I caught it copying one of my TypeScript interfaces and modifying it. So now we have User which looks like my actual user, that I defined, and UserAgain which does not, and which Claude is now using and proudly proclaiming that my type checks all pass. Well of course they do!

Second, I was told that the best way to catch this sort of thing is to get it to write tests. So it wrote some tests, and they failed, and it kept going, and it eventually wrote an un-failable test. The test mocked itself.

So, sure, enjoy time with your kids. Please don't ask me to use your app for anything important.

3 comments

It's interesting reading comments on both sides of this. Some people are answering no, and others are answering yes to your question and succeeding at it... so far.

I've experienced the exact issues you've described. I've also drastically reduced these issues via good instructions and automated followup passes that eliminate code that was created from ignored instructions.

It all feels like a hack, but the more I choose to trust it and treat it like it's the correct path and that it's just a different set of problems that need to be solved, the more success I have.

I feel that it is a commom thing. You just have to "keep an eye on it". There are several failure modes with Claude. Maybe the most annoying is that it often uses kind of defensive programming, so it is harder to detect that there is a fatal mistake somewhere. It can hide those really well. And it loves to fix linter issues with any type in typescript.

Im using it regardless. Ive just learnt to deal with these and keep an eye on them. When it creates a duplicate interface I roll back to earlier prompt and be more explicit that this type already exists.

I try to not argue whether something it does is wrong or right. There is not point. I will simply rollback and try with another prompt. Claude is not a human.

I had Claude, as an agent, get into an infinite loop trying to resolve a diagnostic in Java test that any human would easily figured out and fixed in a second.