b0a04gl 4 hours ago

>before this you had to trust that claude would follow your readme instructions about running linters or tests. hit and miss at best. now its deterministic. pre hook blocks bad actions post hook validates results.

>hooks let you build workflows where multiple agents can hand off work safely. one agent writes code another reviews it another deploys it. each step gated by verification hooks.

  • icoder an hour ago

    This nicely describes where we're at with LLM's as I see it: they are 'fancy' enough to be able to write code yet at the same time they can't be trusted to do stuff which can be solved with a simple hook.

    I feel that currently improvement mostly comes from slapping what to me feels like workarounds on top of something that very well may be a local maximum.

    • ramoz 23 minutes ago

      Claude Code is an agent, not an LLM. Literally this is software that was released 4mo ago. lol.

      1y ago - No provider was training LLMs in an environment modeled for agentic behavior - ie in conjunction with software design of an integrated utility.

      'slapped on workaround' is a very lazy way to describe this innovation.

    • Marazan an hour ago

      Someone described LLMs in the coding space as stone soup. So much stuff is being created around then to make them work better that at some point it feels like you'll be able to remove the LLM part of the equation

      • samrus 36 minutes ago

        We cant deny the LLM has utility. You cant eat the stone but the LLM can implement design patterns for example.

        I think this insistance on near autonomous agents is setting the bar too high, which wouldnt be an issue if these companies werent then insisting that the bar is set just right.

        These things understand language perfectly, theyve solved NLP because thats what they model extremely well. But agentic stuff is modelled by reinforcement learning and until thats in the foundation model itself (at the token prediction level) these things have no real understanding of state spaces being a recursive function of action spaces and such stuff. And they cant autonomously code or drive or manage a fund until they do

ainiriand 2 hours ago

I tried to make an app in claude code like they so much fanfare it could do, and it failed. It was obvious it will fail, I wanted something that I think it was not done before, using the Youtube api. But it failed nonetheless.

I am tired of pretending that this can actually pull any meaningful work besides a debug companion or a slightly enhanced google/stackoverflow.

  • ramoz 21 minutes ago

    If you do not know the software design, claude code will fail. If you know the software design, you can guide it toward success.

  • bognition an hour ago

    Interesting how long ago did you do this? How long did you spend on it?

    I was skeptical about Claude code and then I spent a week really learning how to use it. Within the week I had built a backend with FastAPI that supported user creation, password reset, email confirmation, a front end, and support for ouath into a few systems.

    It definitely took me some time to learn how to make it work, but I’m astounded at how much work I got done and for so little typing.

    • dakiol 29 minutes ago

      How do you know the code is solid? If your bar is “if it runs, then it is good”, then alright, otherwise you (or someone else) need to review that code. So, Yeah llms are nice but i don’t think we can just go and deploy whatever they throw at us.

      • timschmidt 16 minutes ago

        Do you allow interns to push to prod? Because I don't. The LLM is treated no differently. It's an extraordinarily fast, extraordinarily well read intern. You can ask it to do anything, it might succeed, anything it produces should be reviewed fully. I already interact with interns and open source project contributors in a similar fashion, so the LLM plugs right in.

  • samrus 32 minutes ago

    Its definitely not there yet. You have to babysit it alot. Its not autonomous.

    The utility i find is that it helps _me_ do the real engineering work, the planning and solution architechting, and then can bang out code once it has rock solid instructions (in natural language but honestly one level above psuedocode) and then i have to review it with absolutely zero faith in its ability to do things. Then it can work well.

    But its not where these guys are claiming it is

  • lukan an hour ago

    "I wanted something that I think it was not done before"

    But you do know, that this is what LLMs ain't good at.

    So your conclusion is somewhat off, because there are plenty of programming work of things that were done before and require just tweaking.

    I mean, I am also not hooked yet and just occasionally use chatGPT/claude for concrete stuff, but I do find it useful and I do see, where it can get really useful for me (once it really knows my codebase and the libaries used and does not jump between incompatible API versions)

  • solumunus an hour ago

    If you can’t build something without Claude you will probably fail to build it with Claude.

ramoz 12 hours ago

Really excited to see this implemented.

Hooks will be important for "context engineering" and runtime verification of an agent's performance. This extends to things such as enterprise compliance and oversight of agentic behavior.

Nice of Anthropic to have supported the idea of this feature from a github issue submission: https://github.com/anthropics/claude-code/issues/712

  • chisleu 11 hours ago

    It is indeed. I don't use Claude Code. I use Cline which is a VS Code extension (cline.bot).

    This is a pretty killer feature that I would expect to find in all the coding agents soon.

mkagenius 6 hours ago

As an aside, people say AI will eliminate coding jobs, but then who will configure these hooks? Or think about adding such a feature?

These kinds of tooling and related work will still be there unless AI evolves to the point that it even thinks of this and announces this to all other AI entities and they also implement it properly etc.

  • mrmincent 6 hours ago

    To misuse a woodworking metaphor, I think we’re experiencing a shift from hand tools to power tools.

    You still need someone who understands the basics to get the good results out of the tools, but they’re not chiseling fine furniture by hand anymore, they’re throwing heaps of wood through the tablesaw instead. More productive, but more likely to lose a finger if you’re not careful.

    • forgotoldacc 5 hours ago

      And we may get an ugly transitory period where a lot of programs go from being clearly hand made with some degree of care and some fine details that show the developer's craftsmanship, to awful prefab and brutalist software that feels inhuman, mass-produced, and nothing is really fit for the job but still shipped because it kind of works well enough.

      People go to museums to admire old hand-carved furniture and travel to cities to admire the architecture of centuries past made with hand-chiseled blocks. While power tools do let people make things of equal quality faster, they're instead generally used to make things of worse quality much, much faster and the field has gone from being a craft to simply being an assembly line job. As bad as software is today, we're likely to hit even deeper lows and people will miss the days where Electron apps are good compared to what's yet to come.

      There's already been one step in this direction with the Cambrian extinction of 90s/early 2000s software. People still talk about how soulful Winamp/old Windows Media Player/ZSNES/etc were.

      • konart 3 hours ago

        >nothing is really fit for the job but still shipped because it kind of works well enough.

        This is true for most of the software these days (except for professional software like Photoshop and the like) without LLMs.

        • trainerxr50 34 minutes ago

          Exactly. As a non-software engineer, people talk about software as some fine art on here while my experience as a user is that most software basically sucks in one way or another.

      • torginus 3 hours ago

        I kinda feel differently - it's more like how nowadays you have access to high-quality power tools at cheap prices, and tons of tutorials on Youtube that teach you how to do woodworking, and even if you can't afford the masterwork furniture made by craftsmen, you don't have to buy the shitty mass produced stuff - sure yours won't be as good, but it will be made to your spec.

        Moving on into a concrete software example, thanks to AI productivity, we replaced a lot of expensive and crappy subscription SaaS software with our homegrown stuff. Our stuff is probably 100x simpler (everyone knows the pain of making box software for a diverse set of customer needs, everything needs to be configurable, which leads to crazy convoluted code, and a lot of it). It's also much better and cheaper to run, to say nothing of the money we save by not paying the exorbitant subscription fee.

        I suspect the biggest losers of the AI revolution will be the SaaS companies whose value proposition was: Yes you can use open source for this, but the extra cost of an engineer who maintains this is more than we charge.

        As for bespoke software, 'slop' software using Electron, or Unity in video games exists because people believe in the convenience of using these huge lumbering monoliths that come with a ton of baggage, while they were taught the creed that coding to the metal is too hard.

        LLMs can help with that, and show people that they can do bespoke from scratch (and more importantly teach people how to do that). Claude/o3/whatever can probably help you build a game in WebGL you thought you needed a game engine for.

        • forgotoldacc 3 hours ago

          Hence the transitory period.

          We went through decades of absolutely hideous slop, and now people are yearning for the past and learning how to make things that are aesthetically appealing, like the things that used to be common.

          I think we're looking at at least a decade of absolute garbage coming up because it's cheap to make, and people like things that are cheap in the short term. Then people will look back at when software was "good", and use new tools to make things that were as good as they were before.

          And not limited to AI and power tools, it happened with art as well. Great art was made with oil paints, watercolors, and brushes. Then digital painting and Photoshop came around and we had a long period of absolute messes on DeviantArt and a lot of knowledge of good color usage and blending was basically lost, but art was produced much faster. Now digital artists are learning traditional methods and combining it with modern technology to make digital art that can be produced faster than traditional art, but with quality that's just as good.

          2005 digital paintings have a distinct, and even in the hands of great artists, very sloppy and amateurish feel. Meanwhile 2020s digital artists easily rival the greats of decades and centuries past.

    • floriferous 35 minutes ago

      Great metaphor, exactly how it feels to me too!

  • falcor84 4 hours ago

    Like in the story about cosmologist and the old lady, you seem to be asking "What is the AI standing on?", and the reply here is of course "You're very clever, young man, very clever, but it's AIs all the way down!"

    Many already let Claude Code update its own CLAUDE.md, so I don't see any reason why you couldn't (dangerously-skipping-permissions) let it edit its own hooks. And as in Jurassic Park, the question of whether we should seems to be left by the wayside.

  • wastewastewaste 4 hours ago

    Yea man, people say combine harvesters will eliminate agriculture jobs, but then who will operate these combine harvesters? Obviously every single manual farm laborer will just switch to being an operator of those.

    God, will we never move this discussion past this worthless argument? What value would there be in any of these automatization tools, be in in agriculture or AI, if it just made every single worker switch to being an [automatization tool] operator?

    • ath92 4 hours ago

      Barring population growth, there is essentially fixed demand for agriculture. For software we don’t know what the market will look like once everything about making it gets automated. Either we will churn out the same amount of software with fewer people, or the same amount of people will churn out larger amounts of software. Or maybe there will be even more people working on creating enormous amounts of software. I’d say the likely answer is somewhere between the first and second option, but time will tell.

    • pjmlp 3 hours ago

      Only a few lucky ones will get the operator jobs, everyone else will queue at the job center.

  • pjmlp 3 hours ago

    Except that for most people this is not coding, is administration work, DevOps kind of stuff.

    I already do lots of "coding" in SaaS products, that have very little to do with what most HNers think of proper coding.

  • energy123 5 hours ago

    If programmers become 10x more productive but demand only grows by 5x, what will happen?

    • falcor84 4 hours ago

      Obviously there will still be as many programmers, each working 2.5 days a week. </wishful-thinking>

  • yoavm 3 hours ago

    I generally agree that "we" will still be needed, but OTOH, who needs prettier if no human is ever going to read the code?

  • nikita2206 4 hours ago

    You can already ask Claude Code to modify its own settings

  • jonathanstrange 4 hours ago

    > unless AI evolves to the point that it even thinks of this

    The #1 goal of every AI company is to create an AI that is capable of programming and improving itself to create the next, more powerful AI. Of course, these kind of configuration jobs will be outsourced to AI as soon as possible, too.

nojs 11 hours ago

    Exit Code 2 Behavior
    PreToolUse - Blocks the tool call, shows error to Claude
This is great, it means you can set up complex concrete rules about commands CC is allowed to run (and with what arguments), rather than trying to coax these via CLAUDE.md.

E.g. you can allow

    docker compose exec django python manage.py test
but prevent

    docker compose exec django python manage.py makemigrations
  • rco8786 11 hours ago

    You can already do this in .Claude/settings.json

    • nojs 11 hours ago

      Ah you’re right, but for more complex logic it’s useful to be able to run it through a custom script

theusus 3 hours ago

I was yesterday only searching for ways to live lint than waiting for Claude to do that or during pre-commit

brynary 11 hours ago

This closes a big feature gap. One thing that may not be obvious is that because of the way Claude Code generates commits, regular Git hooks won’t work. (At least, in most configurations.)

We’ve been using CLAUDE.md instructions to tell Claude to auto-format code with the Qlty CLI (https://github.com/qltysh/qlty) but Claude a bit hit and miss in following them. The determinism here is a win.

It looks like the events that can be hooked are somewhat limited to start, and I wonder if they will make it easy to hook Git commit and Git push.

  • alfons_foobar 5 hours ago

    Why is it that regular git hooks do not work with claude code?

carraes 11 hours ago

So, form my limited understanding, this doesn't take up context, it's something auto where you can configure per tool use, and not MCP that Claude decides "when" to run it?!

cheriot 9 hours ago

Amazing how there's whole companies dedicated to this and yet claude code keeps leading the way.

  • stavros 5 hours ago

    Does it? Claude Code is the product that works the least well for me, mainly because of its tendency to go off and do tons of stuff. I've found LLMs are at their best when they produce few enough lines of code that I can review and iterate, not when they go off and invent the world.

    For that reason, I mainly use Aider and Cursor (the latter mostly in the "give me five lines" comment mode).

petethepig 12 hours ago

Would love to see this in Cursor. My workaround right now is using a bunch of rules that sort of work some of the time.

  • ed_mercer 7 hours ago

    As an ex-Cursor user myself, is there any reason that you’re still using it? Genuinely curious.

    • porker 7 hours ago

      That tab autocomplete and predicting what I'm going to edit next is the best I've found.

      The rest I can take or leave (plenty of good or better alternatives)

      • wahnfrieden 6 hours ago

        Claude Code has Cursor integration you can use both

    • jerrygoyal 7 hours ago

      I've been using cursor for last 1 year but haven't tried Claude Code, Do you think it has gotten better?

      • matltc an hour ago

        I used GitHub copilot in my vscode setup. Claude Code is its agent mode on steroids: highly configurable, seems to have much larger context window, can write "memories", has hooks now. Highly recommend trying it out.

        The time it saved me in first few hours of use easily made the monthly fee worthwhile. I did hit a limit near the four-hour mark (resets every five hours for us Pro subscribers), but just went and reviewed the ~1700 lines it added in that time and cleaned up the config files (updated todos etc)

      • myflash13 5 hours ago

        Yes, I abandoned Cursor recently and went back to Claude Code. Two main reasons: 1. The “plan mode” for Claude makes it execute complex tasks much more reliably. It automatically keeps track of todos and completes them. With Cursor I’m constantly fighting with it. 2. I can now use my IDE of choice (JetBrains) rather than a poor fork of VS Code. 3. Daily usage limits now included in the monthly $20/month Claude Pro plan seems to be enough for my daily needs. No extra costs.

    • Aeolun 7 hours ago

      Cursor is still the best when you don’t have access to a Claude subscription.

      • am17an 6 hours ago

        You get CC when you sign up for their $20 plan also.

        • Aeolun an hour ago

          True, but if the limits are anything like Opus on the $100 plan you won’t get much use out of it :)

        • vl 6 hours ago

          Without Opus (larger model), for $20 you get only Sonnet. $100 and $200 plans have Opus.

    • nxobject 6 hours ago

      To be frank? I can't justify paying for a single-purpose LLM service subscription: Cursor has have a 1-year free educational plan, and for general-purpose multimodal reasoning model work (e.g. OCR, general knowledge reference, math computations, prose processing), I already have a ChatGPT Plus subscription. It's the streaming service dilemma all over again.

aantix 6 hours ago

Wish it supported rollbacks..

  • robbomacrae 2 hours ago

    With this you could add support yourself!

    Add a PostToolUse [0] hook that automatically creates a git commit whenever changes are made. Then you can either git checkout the commit you want to rollback to... Or you could assign those git commits an index and make a little MCP server that allows you to /rollback:goto 3 or /rollback:back 2 or whichever syntax you want to support.

    In fact if you put that paragraph into Claude I wouldn't be surprised if it made it for you.

    [0] https://docs.anthropic.com/en/docs/claude-code/hooks#posttoo...

parhamn 11 hours ago

This needs a way to match directories for changes in monorepos. E.g. run this linter only if there were changes in this directory.

  • ramoz 11 hours ago

    An abstraction via a script should work, right? They document that it pipes the JSON data to your command's stdin,

      ```lint-monorepo.sh
    
      # read that data
      json_input=$(cat)
    
      # do some parsing here with jq, get the file path (file_path)
    
      if [$file_path" == "$dir1"*]
        run lint_for_dir1
      ```
  • dcre 8 hours ago

    Whatever you run in the hook can check whatever conditions you want.

  • brynary 10 hours ago

    This can be implemented at the line level if the linter is Git aware

artursapek 12 hours ago

adding a hook to have it push to prod every time baby

  • bgwalter 9 hours ago

    We have to do this, otherwise China wins the "AI" race!

  • thelittleone 11 hours ago

    This also:

    1) Assign coding task via prompt 2) Hook: Write test for prompt proves 3) Write code 4) Hook: Test code 5) Code passes -> Commit 6) Else go to 3.

  • apwell23 11 hours ago

    you can just tell it do that or in your claude.md. don't need hooks

    • thelittleone 11 hours ago

      In some cases cc misses rules in CLAUDE.md.

      • ramoz 10 hours ago

        In many cases.

        • apwell23 10 hours ago

          so its back to hand coding stuff again.

          They are going to slowly add "features" that brings handcoding back till its like 100% handcoding again.

          • ramoz 9 hours ago

            This doesn’t come without consideration. You can see I mention this in the original feature request.

            Yes - it’s fine to think of it as handholding (or handcoding). These model providers cannot be responsible for ultimate alignment with their users. Today, they can at best enable integration so a user, or business, can express and ensure their own alignment at runtime.

            The nature of these systems already requires human symbiosis. This is nothing more than a new integration point. Will empower agents beyond today’s capabilities, increase adoption.

jonstewart 10 hours ago

I've been playing with Claude Code the past few days. It is very energetic and maybe will help me get over the hump on some long-standing difficult problems, but it loses focus quickly. Despite explicit directions in CLAUDE.md to build with "make -j8" and run unit tests with "make -j8 check", I see it sometimes running make without -j or calling the test executable directly. I would like to limit it to doing certain essential aspects of workflow with the commands I specify, just as a developer would normally do. Are "Hooks" the right answer?

  • bfLives 10 hours ago

    For the `-j` issue specifically, exporting `MAKEFLAGS=-j8` should work.

    • kaoD 5 hours ago

      Thanks, I'll let Claude know.

bearjaws 11 hours ago

Claude Code has basically grown to dominate my initial coding workflow.

I was using the API and passed $50 easily, so I upgraded to the $100 a month plan and have already reached $100 in usage.

I've been working on a large project, with 3 different repos (frontend, backend, legacy backend) and I just have all 3 of them in one directory now with claude code.

Wrote some quick instructions about how it was setup, its worked very well. If I am feeling brave I can have multiple claude codes running in different terminals, each working on one piece, but Opus tends to do better working across all 3 repos with all of the required context.

Still have to audit every change, commit often, but it works great 90% of the time.

Opus-4 feels like what OAI was trying to hype up for the better part of 6 months before releasing 4.5

  • wahnfrieden 6 hours ago

    You can’t use it across three repos like a workspace in Xcode?

    • nikita2206 3 hours ago

      It is all file based, so yes you can if you do what OP said: `git clone repo-one && git clone repo-two` and tell claude that repo-one directory is for example frontend, repo-two is backend (or better name the directories after what they are)

rtp4me 11 hours ago

Just started using Claude (very late to the game), and I am truly blown away. Instead of struggling for hours trying to get the right syntax for a Powershell script or to convert Python to Go, I simply ask Claude to make it happen. This helps me focus on content creation instead of the mind-bending experience of syntax across various languages. While some might call it laziness, I call it freedom as it helps me get my stuff done quicker.

I have been using it for other stuff (real estate, grilling recipes, troubleshooting electrical issues with my truck), and it seems to have a very large knowledge base. At this point, my goal is to get good at asking the right kinds of questions to get the best/most accurate answers.

  • dmix 11 hours ago

    That’s great. Regardless of the naysayers about AI hype in tech, it was a major development for general society even if this is all it ends up being.

    • billbrown 8 hours ago

      It remains to be seen whether it's a net value once the VC firehose dries up and the true costs are revealed. It's quite possible that the profitable price is not worth it for most companies.

      • KoolKat23 4 hours ago

        It can still be a lot more expensive and be cheaper than a human, it might mean less chance taking and spending the money to try set it up and see if it works though. More existing setups, less new setups.

    • rtp4me 2 hours ago

      I have been using Claude to iterate through some complex Powershell code to convert Azure VMs from Intel to AMD SKUs, and I simply can't believe how good it is. I am definitely NOT an Azure or Powershell expert by any means, but the power and ease of idea iteration is truly a game changer (I have been in IT since about '91). Yes, Claude makes some mistakes - typically with certain command arguments, but I am able to lean on my experience to work through those issues.

      What would have taken me a week to get up-to-speed with Powershell and all the Azure powershell commands/syntax has now taken me about 4hrs.

apwell23 11 hours ago

[flagged]

  • chisleu 11 hours ago

    Yup, slowing down the AI is a really hard thing to do. I've mostly accomplished it, but I use extensive auto prompting and a large memory bank. All of it is designed explicitly to slow down the AI. I've taught it how to do what I call "Baby Steps", which is defined as: "The smallest possible change that still effectively moves the technology forward." Some of my prompting is explicit about human review and approval of every change including manual testing of the application in question BEFORE the model moves on to the next step.

  • wewewedxfgdf 11 hours ago

    The key phrase is "Do not overengineer."

    I say stuff like:

    This code must be minimal.

    Meet only the stated requirements.

    Do not overengineer.

    Create a numbered index of requirements.

    Verify after you write the code that all requirements are met and no more.

bionhoward 11 hours ago

Given the Anthropic legal terms forbid competing with them, what are we actually allowed to do with this? Seems confusing what is allowed.

No machine learning work? That would compete.

No writing stuff I would train AI on. Except I own the stuff it writes, but I can’t use it.

Can we build websites with it? What websites don’t compete with Anthropic?

Terminal games? No, Claude code is a terminal game, if you make a terminal game it competes with Claude?

Can their “trust and safety team” humans read everyone’s stuff just to check if we’re competing with LLMs (funny joke) and steal business ideas and use them at Anthropic?

Feels like the dirty secret of AI services is, every possible use case violates the terms, and we just have to accept we’re using something their legal team told us not to use? How is that logically consistent? Any safety concerns? This doesn’t seem like a law Asimov would appreciate.

It would be cool if the set of allowed use cases wasn’t empty. That might make Anthropic seem more intelligent

  • ethan_smith 11 hours ago

    Anthropic's terms typically restrict training competing AI models with their outputs, not building standard applications or websites that simply use their API as a tool.

    • _flux 3 hours ago

      The TOS says (https://www.anthropic.com/legal/consumer-terms):

      You may not access or use, or help another person to access or use, our Services in the following ways:

      2. To develop any products or services that compete with our Services, including to develop or train any artificial intelligence or machine learning algorithms or models or resell the Services.

      Let's say you've used Anthropic's model to generate open source software and then some 3rd party trains their model on that. Have you now helped another person to use their service in a way that violates the terms?

      I suppose that's pretty far-fetched, though, unless you have some interaction with the party doing the training. Sometimes you might, though: perhaps some company provides services to train a model on exactly your code base, and then provide similar service as Anthropic does for your code base, thus being in direct competition of Antropic as well.

  • nerdsniper 11 hours ago

    Would you argue that Cursor (valued at $10B) is breaking Anthropic's terms by making an IDE that competes with their Canvas feature?

    • varenc 10 hours ago

      Cursor isn't building models trained with the outputs of Anthropic models (I think). That's what the ToS is forbidding.

    • jazzyjackson 11 hours ago

      Is Cursor using Claude code to build? Or they just allow it to plug into Claude?

  • jazzyjackson 11 hours ago

    Oh come on, your CRUD app is not competing with an LLMaaS

    • moralestapia 11 hours ago

      Oh come on, understand how contracts work before posting a comment like this one.

  • paulsutter 11 hours ago

    You’re only competing with them if you’re doing something they consider competitive. OpenAI is competitive, you are not

wilde 12 hours ago

This is nice but I really wish they’d just let me fork the damn thing already.

AdieuToLogic 11 hours ago

So many people yearn for LLM's to be like the Star Trek ship computer, which when asked a question unconditionally provides a response relevant and correct, needing no verification.

A better analogy is LLM's are closer to the "universal translator" with an occasional interaction similar to[0]:

  Black Knight: None shall pass.
  King Arthur: What?
  Black Knight: None shall pass!
  King Arthur: I have no quarrel with you good Sir Knight, But I must cross this bridge.
  Black Knight: Then you shall die.
  King Arthur: I command you, as King of the Britons, to stand aside!
  Black Knight: I move for no man.
  King Arthur: So be it!
  [they fight until Arthur cuts off the Black Knight's left arm]
  King Arthur: Now, stand aside, worthy adversary.
  Black Knight: 'Tis but a scratch.
  King Arthur: A scratch? Your arm's off!
  Black Knight: No, it isn't.
  King Arthur: Well, what's that then?
  Black Knight: I've had worse.
0 - https://en.wikiquote.org/wiki/Monty_Python_and_the_Holy_Grai...