How the Claude Code team does code review

(claude.dev)

91 points | by pretext 1 hour ago

25 comments

  • visarga 3 minutes ago
    All good ideas, I have been doing something similar for half a year. The most important thing is to reduce bugs and ensure the code does what you wanted. Writing code tests, logging, interacting with the running app are essential. For intent realignment I like to have the agent re-read all user messages posted in that project. It only takes a few minutes even on a 10,000 message project. Then use this fresh derivation of user intent to check code and tests. For long spans of work I prefer to generate a todo list which remains as a document in the project. Each closed gate tracks feedback from the agent on what happened. This task file is also reviewed twice - once before implementation and once after. So the formula is - review agents - tests - user message logs.
  • grey-area 23 minutes ago
    At 30k commits a day, is there anything that can meaningfully be called review?
    • stillpointlab 15 minutes ago
      I'm thinking about high volume mass manufacturing as an example here. I like those "How it is made" type YouTube videos. You see a production line that has some kind of QA process where cameras + automated systems do spot checks at high speeds and these crazy actuators are punching out bad examples. These processes often also involve spot checks where some statistical sample is selected and viewed carefully.

      I don't think we've gotten to that level of reliable review with code, but I don't see any reason we can't continue moving in that direction.

  • YmFzZTY0ZGFkZHk 27 minutes ago
    And so the wildly unprofitable AI company explains how it token maxes it's code and review process.

    Authors should really try and view this article from the perspective of someone who has to think about cost to use the models.

  • jwpapi 29 minutes ago
    What I’m more worried about is feature identification and how to monitor them. How can you get the product to the next level?

    Honestly I’m not worried about code anymore in my codebase I’ve not had bug problems for a while and incidents get fixed automatically.

    I monitor new features with an agent who checks recordings.

    Most actually good features need still 20-30 iterations to design the userflow to actually be interactive, but then there is also another challenge to translate usage patterns into features and how to present functionality with the least amount of friction as possible.

    How to efficiently run monitors without wasting your token spends. A best 'monitor' best practice would be nice.

    Still this article was very helpful and gave me a lot of new ideas.

  • RGS1811 34 minutes ago
    How is the ability of a human to understand the code via hands-on familiarity not a direct dependency of their ability to do manual code review? I don't get it. Having claude write an explainer (something I do a lot!) doesn't get you to the point where you can confidently assess a complex diff. And you've funneled your priors on what the diff says and does through the same system that already reviewed and approved it. This article isn't bad but it doesn't give enough weight to the human context-building part of the problem.
  • dylanhouli 1 hour ago
    Here I am still unable to stop myself from doing line-by-line code review. I notice too many things (redundant code, duplicate code, overly complex architecture, etc.) by doing it that I feel it would be careless not to.
    • stillpointlab 54 minutes ago
      My advice is to start a totally vibe coded side project. You will never gain confidence until you experiment, find the failure cases, learn to deal with them, etc.

      Choose something you want to do but don't really care that much about. Be more ambitious than you think you could be, have a high bar on the outcome but purposefully choose to completely ignore the actual code. Make it write tests, dashboards, monitoring - whatever you need other than code to feel confident.

      Now is the cheapest time it will ever be to experiment.

      • troupo 37 minutes ago
        [flagged]
        • dang 28 minutes ago
          Please don't do this here.

          (You're welcome to make your substantive points thoughtfully, of course.)

          https://news.ycombinator.com/newsguidelines.html

        • stillpointlab 30 minutes ago
          Issue: I am still unable to stop myself from doing line-by-line code review

          Response: Try experimenting in a low stakes environment

          From Google: "Exposure therapy is a psychological treatment designed to help people confront their fears, break cycles of avoidance, and reduce anxiety."

          • g-b-r 0 minutes ago
            The thing is that's not an issue in the slightest, it doesn't need therapy!!

            It's those who don't do it who'd need a talk

        • BobbyJo 31 minutes ago
          I think the intended takeaway is to learn to solve those problems without line by line review. Start by being hands off on a low stakes project, and see how the model fails. Then, come up with, and try, solutions that aren't you doing archeology.
    • benoau 1 hour ago
      This is why I like GitHub Copilot's autocompletion, I'm right there guiding and policing the code as it appears.
    • g-b-r 1 hour ago
      You're unable to stop being responsible? Tragic!
      • spiderice 11 minutes ago
        Is it responsible to move slowly when your competitors are moving quickly? Depends on how your competitors perform. If they perform well, then your "responsibility" suddenly becomes your extinction.
        • tripleee 2 minutes ago
          Apple's iPhone Duo seems like it'll be a huge hit.. how many years after the competitors?

          They've built an entire strategy around moving slow and doing it better

    • dyauspitr 1 hour ago
      No one cares about good code. It’s a means to an end. Your code doesn’t need to look pretty or be well documented or any of that stuff anymore because people are not looking at it. The only thing people care about is performant and error free code.
      • tripleee 1 hour ago
        People saying this are telling on themselves that they have no idea what quality code is. It's not about looking pretty or nice variable names.

        Code quality matters to AI just as much as it did to people

        • bbctr1 1 hour ago
          Do you have any data backing this statement? Or is it just your experience?
          • tripleee 58 minutes ago
            Simple example: code duplication all over the place, something AI loves to do. Update one of those without the others and you now have a bug.

            Temporal coupling: if you architect your logic in such a way that it assumes x always happens before y, and there's nothing absolutely enforcing that anywhere, and you then write new code without taking it into account.. now you have a bug

            If you write code in such a way that it depends on a certain data shape (maybe in a string, which static typing won't catch) and you change it... now you have a bug

            If you do ALL of these things all over the place.. now you have a fucking shitshow and might need a rewrite of your app. Lets hope Opus 7 can do it.

            There are 1000000 things that can bite you that aren't "ooh that code is so pretty!"

            • piker 21 minutes ago
              Yep.

              The worst part about this is that if you aren't watching it, the AI will "solve" this with a thousand assert_3_plus_5_equals_8() test cases that just further clutter the workspace and the context window. Churn baby churn.

              • Rudybega 12 minutes ago
                I haven't had this issue since like last year with frontier models. What are you using?
            • SmirkingRevenge 22 minutes ago
              The models are pretty good at finding code duplication and eliminating it though, and it's usually part of my AI review process at this point

              If you let it go buck wild on a massive change, there are those times where it sort of paints itself into a corner but rewrites are cheap (for now), so it's just not that big of a deal, imho

              • tripleee 7 minutes ago
                > The models are pretty good at finding code duplication and eliminating it though

                Depends what you mean I guess. They're useful, but they're not accurate at it nor autonomous. In my experience Opus 5.5 can throw me 10 ideas after the fact, of which only 1-2 of them end up being good. Saves time but yeah

          • bpeng2000 22 minutes ago
            Personal experience:

            AI tends to add new wheels for a new feature in a large codebase, because finding, understanding, and generalizing the existing code to integrate a new feature will likely break existing features, cost more effort (and token) to implement and test. Human reviewers also tend to like these code since they are clean, easy to review, and get the job done, especially when they are not familiar with existing codebase.

            The issue is that wheels like these accumulate in the codebase, and they inevitably entangle. When an upstream specification changes, when a new feature that works with many existing features are introduced, all these wheels need to be revisited, and in many cases they are not because the new test cases do not cover all the paths. The code base got larger and more complex, and contains more bugs than the unit tests can cover, especially when unit tests are often "bent" to fit the wrong behavior unnoticed.

      • gwynforthewyn 59 minutes ago
        Literally 50 years of engineering history and culture cares about whether code is good. There are libraries worth of books about it, not as a means to an app but for its own beauty. Just read “The Elements of Programming Style”, for example.

        Do what you want, write apps with AI and don’t review code, it doesn’t impact me. The claim that no one cares about good code is demonstrably false, and that’s all I’m objecting to.

        • g-b-r 57 minutes ago
          > it doesn’t impact me

          so long as his software isn't used for anything that can affect you

      • nerdo 1 hour ago
        Not true, LLM’s will struggle with badly organized and designed large codebases just the same, though likely with less errors and profanities.
        • copperx 57 minutes ago
          The biggest concern is that AI can doxx you and find where you live if your code sucks. If that doesn't scare you, nothing will.
      • g-b-r 1 hour ago
        Good code is a means to the end of the code being error (and vulnerability) free, maintainable and performant.

        And if people are not looking it, those people don't care about their customers.

      • drewg123 43 minutes ago
        The way you phrase it makes me realize its almost like a GPL contamination. Eg, once you pull in GPL code, your project is infected and can never use a BSD (or other GPL incompatible) license.

        Similarly, once you pull in terrible AI slop code, the project becomes unmaintainable by humans and you need to maintain it with AI.

        • gwynforthewyn 17 minutes ago
          There’s a little irony about the example you picked of the GPL, just because in the US the output of an LLM cannot be covered under copyright. The GPL works as an assignment of rights under copyright.

          This is, of course, tangential to your point.

      • troupo 36 minutes ago
        Code that isn't duplicated in 15 places, that doesn't read the whole database to fetch just 1 record, that doesn't do 15 database reads where one would suffice, that uses an optimized algorithm instead of an exponential one recreated badly from scratch... all that is also good code, and is just as important in LLM-slop era.
  • koolba 36 minutes ago
    > Low - Docs, copy, internal-only features, additive changes behind a flag

    > None required once automated review and security checks are green

    How anybody can let an LLM write docs and not even read them is pure insanity.

  • ativzzz 31 minutes ago
    It looks like they are specifically optimizing for incidents/reverts and shipping faster

    > The goal hasn't changed: less human time per change, and no more reverts than before.

    Is this Goodhart's law in action? Less reverts and less incidents was measured and became the target. Is this then still a good measure? I guess Revenue is a more direct measure, but we don't have access to that one.

    • enraged_camel 17 minutes ago
      From my perspective as a power user, the product has improved substantially over the past six months. It has gained new features that are actually useful, lots of UI/UX/perf improvements, and bug fixes as well.

      New features have actually been remarkable. For me they are almost always in one of two categories: things I've always wanted (but never actually bothered communicating to the devs), and things I didn't know I needed but did. The product team is clearly very tuned in.

      All in all, I'd say their approach is working.

  • vavkamil 1 hour ago
    > Security gets its own automated review too. ... You either fix it or close the thread with a short reason, which is how you clear a false positive.

    I hope this is only for low-risk false positives. Dismissing a critical finding as a false positive should still involve AppSec.

    You could improve revert rates while simultaneously introducing more security vulnerabilities.

    And the linked "claude-code-security-review" explicitly states in the README

    > This action is not hardened against prompt injection attacks

    That's a significant limitation for an AI security review control, no?

  • hyperpape 1 hour ago
    I'm somewhat surprised they would say Claude is writing 90% of their code at this point. Did they get tired of reporting new milestones, or has there been a plateau?
  • corentin88 12 minutes ago
    Claude Code is great, but do you really push that much (new) code every day?
  • typesanitizer 1 hour ago
    FWIW, Pangram identifies several sections as 100% AI-written.
  • rileymichael 45 minutes ago
    what are people using for automated code review these days? the claude code review product originally mentioned it cost "$15-25 per review" (which is absurd), but it seems like they've removed that from their docs with the launch yesterday. we've looked at various products in the space (coderabbit, greptile, etc.) but have gripes with each.

    honestly i'm thinking it might be easier (and cheaper) to launch our own agent from GH webhooks and trigger `/code-review`..

    • walthamstow 4 minutes ago
      Using a different lab's model to review the code to the one that wrote it. Claude model plans/codes, OpenAI model reviews, or vice versa, or DeepSeek or GLM or whatever.
    • warkdarrior 30 minutes ago
      > the claude code review product originally mentioned it cost "$15-25 per review" (which is absurd)

      If an engineer paid $150,000 a year reviews some code manually for about 30 minutes, the cost of their time is about $36.

      • rileymichael 22 minutes ago
        in a vacuum, sure. the average pull request will have multiple commits once opened (i.e. to address feedback or perhaps it was opened too early), each triggering a review. it's very easy to rack up $100+ per pr (and an eng may open a dozen prs in a single day)
  • stymaar 1 hour ago
    Poorly I'm afraid, given how many new bugs make their way to the claude code CLI every update.
  • foolfoolz 18 minutes ago
    everything is shipped with auto reviews behind a flag. then you need a human approver to launch

    good model

  • thisisauserid 1 hour ago
    Remind me to invest more in the clouds they are burning those tokens in.
  • crooked-v 1 hour ago
    Well, that explains the Github repo with 5000 issues, maybe about a third of which are random regressions of previous behavior.
    • AlexErrant 1 hour ago
      I just learned that manually invoked skills MUST be the _first_ thing in the prompt, e.g. you can't have `disable-model-invocation: true` and say "Hi, /grill-me on X".

      Worse, everything after the /grill-me is injected a second time into the prompt as a <command-args> so your prompt is literally added to the context TWICE. (first time in the original user prompt.)

      I swear Anthropic is intentionally bloating your context so you burn tokens on useless bullshit like this.

      • svachalek 47 minutes ago
        Oh /loop was the crowning achievement. Basically guarantees you'll run a prompt at max context without caching over and over.
    • layman51 1 hour ago
      I was running into something similar where I had it working on a single Python file. Maybe part of the issue is that I had memory turned off, and the conversation might have spilled into two conversations. I wasn't using version control either, but since it was a single file with about 1000 lines of code, it didn't seem too hard to eventually get all of my features back.
    • devin 1 hour ago
      I snorted laughing at this. "We are experiencing tremendous growth" and it's just a codebase with 1,000 agents endlessly adding markdown documentation for every 1 line change.
  • gonzalohm 1 hour ago
    That explains why the UI keeps changing.

    How is this a proper product? Every time you open the desktop app the buttons may be on a completely random place

    • enraged_camel 6 minutes ago
      The UI has improved substantially over the past six months. New capabilities are prominently featured and less-used ones are de-emphasized or removed. Every product goes through this type of evolution. The difference with Claude Code is that at the speed they iterate, it happens a lot faster and is therefore more noticeable.
  • nakul_ 1 hour ago
    I wonder how they maintain the quality of tests for such a massive codebase and frequent commits.
    • owebmaster 1 hour ago
      That's the trick: they don't
  • mixtureoftakes 1 hour ago
    30 thousand changes merged per day? no. like just no. what are we doing? I'm trying to understand
    • devin 1 hour ago
      There was a post some months back called "Lines of Code Got a Better Publicist" or something along those lines. This is just more of that. I am not impressed by 30 thousand "changes" per day in the slightest without significant added context. When I logged in and prompted Claude today, do I feel like I got +600,000 change value from when I logged in a month ago?
      • grey-area 21 minutes ago
        I’m horrified by it. There is no possible justification for it but it does explain their buggy products.
    • JackSlateur 1 hour ago
      I, too, can write and merge 30000 changes per day. Even 300000 if I've up to.

      Of course, just like "line of code" is a worthless metric, "change merge per day" is;

        for i in {1..10000000}
        do
          echo "I am working !" >> README.md
          git add README.md
          git commit -s -m "feat: working with AI"
        done
      
      (automerged PR, JOB IS DONE)
    • aacid 1 hour ago
      The premise is clear, is one agent can do what developer can, but quicker, why not speed up the whole workflow to match it?
      • ActionHank 1 hour ago
        Have you used Claude Code?

        Have you seen the benefit of the churn of 1000 PRs a day?

        • leoqa 1 hour ago
          It’s only about 10 per engineer. I’m not at Anthropic and before 2026 I was regularly hitting 1400 commits / year on my GitHub. If agents made me 2x faster (they have, review is still slow; I currently have 40 PRs open) that’d be the same rate.
      • _verandaguy 1 hour ago
        Right, but why do things this fast to begin with, especially for a product that's already publicly available?

        I don't want to use a product that shifts under me as I use it several times a day. I want a product that actually moves slowly and works very reliably.

        As an end user: why would I care about how many hundreds of releases a month are being pushed if maybe 1% of them have features I care about?

        Speed is not the product.

      • Andrex 1 hour ago
        Humans don't operate at AI speeds. We're making the car go from 0 to 5000 mph in 1 second and the drivers are turning to goo in the seat.
      • sp4cec0wb0y 1 hour ago
        More code output isn't a metric of success per se. Goodhart's law.
  • jstummbillig 1 hour ago
    That's a shockingly low number.
    • t-writescode 1 hour ago
      1000/day in what sounds like a single repo is a low number?
      • jstummbillig 1 hour ago
        I am not sure what it is you are saying. What I am saying: I would have supposed that Claude writes 99.x% of Claude's Code code, and that ~no code at Anthropic is written by humans anymore.
        • sandeepkd 1 hour ago
          I agree finding out who is writing that 10% of the code in the AI company is important. Maybe time to identity them and put them on PIP since they are slowing down everyone else and giving a bad name to the AI company
      • ActionHank 1 hour ago
        to achieve what?

        Honestly not sure that there are that many effective changes a day given how little complexity there is to their public facing product.

      • oofbey 1 hour ago
        No. 90% sounds like a low number. That implies something else is writing 10% of the code? People? Other models? What on earth is writing that other 10%?
  • luisgvv 1 hour ago
    And yet they can't fix the janky bugs when you scroll or show/hide chain of though, commands executed, configuring plug-ins from the options menu etc.
  • surgical_fire 8 minutes ago
    Anthropic's solution to anything is to simply burn more tokens. Because of course.

    Anyway, flagging as misinformation.

  • JackSlateur 1 hour ago
    90% ?

    A random twitter said that, 6 month ago, it was 100% !

    DECLINE ! SELL THE STOCK OPTIONS ! (wait, there are none, confused!)

  • ChrisArchitect 1 hour ago
    Title is: How the Claude Code team does code review